Quarantine Test Drafts Until the Oracle Hash Is Unchanged
Description and use
Oracle hash verification blocks merges that alter the agent’s own tests, improving CI reliability.
Problem
Agent patches fail merge because tests in the patch write-set are not a true product test, leading to self‑voting and brittle equality checks.
Outcome
Merge gate now protects against self‑voting and brittle equality tests, ensuring only genuine product changes pass.
Workflow
- 1. Organize repository with oracle/, drafts/, and src/ directories.
- 2. Compute a hash of the oracle tree (oraclekit/hashlock.py).
- 3. Store the hash in oracle/HASHES and compare it during merge.
- 4. Reject patches that modify locked properties or golden fixtures unless a separate follow‑up update is submitted.
- 5. Exclude hypothesis drafts, frozen names, and drafts from the vote.
- 6. Use freeze.json to track recently flaky tests and expire them by date.
- 7. Run CI to enforce the hash check before merge.
Evidence
The gate computes a digest of oracle/ from the merge base, then refuses the patch if the digest moved.
- Record date: 2026-09-21T20:15:20.913Z