Skip to content

0.6.0 — paper–code parity, enforcement state fix, drift calibration

Choose a tag to compare

@varun369 varun369 released this 12 Aug 03:13
· 17 commits to main since this release

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 reported DIVERGENT because the natural drift rate exceeded the reversion rate now report INADMISSIBLE.

1470 tests, 90% coverage.