Repository navigation
0.6.0 — paper–code parity, enforcement state fix, drift calibration
Closes the gaps between the published paper and the shipped package, and fixes two defects that produced confidently wrong numbers.
Fixed
- The proxy and Claude Code hook now populate constraint state. Both left invariant fields unset — the proxy sent only a response byte count, the hook sent nothing — so every semantic invariant evaluated false and a fully compliant agent was scored at zero compliance with a violation recorded each turn. Both now flatten the response into the documented field convention, and refuse at load time any contract whose fields that surface can never supply.
- Distributional drift is measured by default. The reference distribution was never established anywhere in the package, so the divergence half of the drift score — 40% of its weight — was permanently zero for every user. The baseline is now adopted automatically after a configurable number of turns.
Added
dependence.jaccard()— model-free failure-set overlap.- Certification over arbitrary co-execution moment sets. The reliability floor previously used only per-stage and pairwise success rates; it now accepts any collection of co-execution moments, including triples. On a four-stage pipeline this raises the certified floor from 0.246 to 0.412. Two confidence-budget allocations are supported.
- Coverage-collapse simulation under
benchmarks/. - A parity suite asserting every symbol the paper names actually imports.
Changed
- Drift stability and admissibility are now separate verdicts. Mean reversion is judged on the reversion rate alone; where the process settles is judged separately and reported as the new
StabilityVerdict.INADMISSIBLE. Breaking: sequences that previously reportedDIVERGENTbecause the natural drift rate exceeded the reversion rate now reportINADMISSIBLE.
1470 tests, 90% coverage.