Skip to content

fix: block synthetic results from recalibration - #14

Merged
streamentry merged 2 commits into
mainfrom
agent/oamp-loop-20260726-synthetic-recalibration
Jul 26, 2026
Merged

streamentry merged 2 commits into
mainfrom
agent/oamp-loop-20260726-synthetic-recalibration

Conversation

@streamentry

Copy link
Copy Markdown
Owner

Change

Surface lab-result data origin in calibration intake reports and make synthetic-labeled results a hard stop for recalibration.

Why

The existing calibration policy already excluded synthetic examples from real wet-lab evidence, but the recalibration gate did not enforce that boundary. A passing-looking synthetic intake could therefore return may_recalibrate: true.

Evidence

  • Focused suite: 143 passed, 1 warning.
  • Full test graph collected: 12,384 tests.
  • make agent-check: passed.
  • make doctor: 8/8 passed.
  • make lab-result-intake-example: passed.
  • make recalibration-gate-example: correctly blocked with SYNTHETIC_RESULTS and five surfaced synthetic result IDs.
  • git diff --check, compileall, and Ruff on changed data/calibration/test modules: passed.
  • Pre-push hook attempted full pytest but its interpreter lacked yaml and jsonschema; the repository-documented ECC_SKIP_PREPUSH=1 equivalent-verification bypass was used after the checks above.

Safety impact

No biological capability, release policy, benchmark threshold, or calibration threshold changed. This strengthens an existing evidence boundary and keeps synthetic examples available for demonstrations without allowing them to influence recalibration.

Proof level

This is evidence-integrity and workflow enforcement infrastructure. It does not establish biological activity, safety, reviewer identity, or wet-lab validation.

Limitations

Synthetic detection is intentionally conservative and label-based. Unclassified records remain unclassified and are not independently verified as real wet-lab evidence. Real-result authenticity still requires qualified human review and source provenance.

Human review needed

Yes. Review the calibration-boundary behavior and the interpretation of external result provenance. No policy or threshold decision is being proposed.

@streamentry streamentry left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: approve for merge from the requested agent review pass.

The change is narrow and enforces the existing synthetic-data calibration policy: explicit synthetic labels remain audit-visible, but any such record forces may_recalibrate=false. Unclassified records are not upgraded to real wet-lab evidence. The malformed negative synthetic-count edge case was also corrected to fail closed. Focused tests, agent-check, doctor, full collection, compileall, diff-check, and changed-module Ruff checks passed. No hosted checks are configured; the pre-push full pytest hook could not collect because its interpreter lacked yaml/jsonschema, so ECC_SKIP_PREPUSH=1 was used only after equivalent project-environment verification. This is evidence-integrity infrastructure, not biological or release proof.

@streamentry
streamentry merged commit 1279667 into main Jul 26, 2026
@streamentry
streamentry deleted the agent/oamp-loop-20260726-synthetic-recalibration branch July 26, 2026 09:12
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