Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reject impossible Ghidra seed reports before reporting successful seed application. A report for one committed function could previously claim 100 functions created.
Problem and expected behavior
Successful Java seed processing classifies each admitted entry exactly once. The handshake accepted outcome totals unrelated to entry counts, and profile binding did not constrain classified outcomes by committed seed kind.
Change and scope
The shared report schema requires outcome conservation. Profile binding bounds classified function, code and label outcomes by their committed counts. Aggregate unmapped entries retain unknown kind. No Java producer or execution authority changes; maintainer scope decision is not applicable to this admission fix.
Contract and boundary impact
ghidraSeedReportSchemaandghidraSeedFailure; their existing handshake consumers inherit admission.Evidence and regression coverage
Exact base
a6e02657e6c1533f6e21e728570aeb8601b78368admitted one entry withfunction_created:100and projected “100 functions created.” Five new admission cases failed before the fix. Controls cover conserved reports, per-kind bounds and unknown unmapped kind. No issue is linked because this came from the authorized source audit.Validation performed
npm run typecheck— passed on the complete isolated branch using the repository script and project configuration.tsc --project .cache/theme-typecheck.json --noEmit— passed, no emitted files.GhidraAnalysisSeeds,GhidraSessionValues,GhidraClientWire,GhidraDisabledAnalyzers— 77 passed on this isolated branch.git diff --check— passed; existing parser-complexity lint warning remains.Compatibility, safety, and release
Internal report admission tightens to the Java producer contract; no caller migration. Source/inert handshake evidence only; no real Ghidra or target/project execution. No generated or package metadata changes.
Author readiness
Human owner: