Skip to content

feat: Phase C C5 length distribution report -- length shortcut visibility for benchmark audits - #886

Merged
cschanhniem merged 1 commit into
mainfrom
feat/c5-length-distribution-report
Jul 10, 2026
Merged

cschanhniem merged 1 commit into
mainfrom
feat/c5-length-distribution-report

Conversation

@cschanhniem

Copy link
Copy Markdown
Collaborator

Implements C5 from NEXT_100_PR_MAP: bench-length-matched control.

What

  • src/openamp_foundry/evidence/length_distribution_report.py: compute_length_report() + format_length_report() + LengthDistributionReport dataclass
  • AMP_LENGTH_MIN=10, AMP_LENGTH_MAX=40 — typical AMP length range
  • SHORTCUT_RATIO_THRESHOLD=1.5, SHORTCUT_FRACTION_THRESHOLD=0.60
  • length_shortcut_likely=True when >=60% of positives in range AND pos/neg ratio >=1.5x
  • 63 tests; BASELINE 7024 to 7087

Why

AMPs tend to be 10-40 residues; a model that simply learns to predict short sequences as active will score well on naive benchmarks. This report makes that shortcut visible.

Disconfirming pass

  • Report is evidence, not policy — does not block anything.
  • Constants match the existing charge report pattern for consistency.
  • No safety/release policy touched.

@cschanhniem
cschanhniem merged commit 0983b6c into main Jul 10, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant