Skip to content

0.6.2 — gate defects, the evidence contract, catalog-wide tests

Choose a tag to compare

@varun369 varun369 released this 15 Aug 14:14
· 111 commits to main since this release

Fixed

Fourteen shipped gates accepted broken work or rejected correct work. Each was confirmed by running the gate, and each now has a regression test in both directions.

Passed genuinely broken work: a fabricated legal citation in a reporter the trusted file had never heard of; USER root after a non-root USER; documents denying the very term they were required to declare; bare headings with nothing written under them; HTML images and anchors only markdown syntax could see; secrets in mapping literals; commented-out annotations; async def tests; objectives with no key results.

Blocked correct work: feat!:, and exactly-pinned dependencies using extras, spacing, local versions or environment markers.

Three of those fixes were themselves evadable and were fixed again — the negation defect took three rounds, because requiring a heading moved it into headings rather than removing it.

Added

A stable evidence contract, bounded-loops.dev/slm-bridge/v1. Another product can observe a finished graph run over MCP without importing this package, parsing its receipt files, or pinning its version. Two read-only tools — bl_graph_terminal_runs and bl_graph_evidence — and bl_capabilities advertises the contract so a consumer can discover it.

Compatibility is the contract id, not the version number. SuperLocalMemory is the first consumer and an entirely optional one: neither product depends on the other, and each is complete installed alone.

Gate prose, artifact contents, paths, commands and secrets never appear in the document or in its refusals. workspace_id is a digest. eligible_for_learning is false in the payload, and demonstration marks a cassette replay — this evidence supports observation, not learning.

See docs/evidence-contract.md.

Every loop now has an end-to-end test that runs by default — it must reach DONE, and its untouched seed must fail its own gate. Previously ten loops had such a test and all ten were excluded from the default run.

Verification

3334 passed, 15 skipped. ruff and mypy clean. All 68 loops converge.