The engineering line is frozen here. This is a freeze-correction — it fixes what a seventh review found, adds no features, and carries no packet (the evidence has one home: credential-packet-v1, sha256 af6e4142…).
What the freeze-correction fixed
- Persisted-run identity invariants (P1). Uniqueness was enforced only on the
Script, but the API reads the storedAgentRun— so a run with duplicate policy-decision ids let one attestation clear two items, and duplicate seat ids made the accountable party ambiguous.AgentRunnow enforces unique seat ids, unique decision ids, and sub-objectrun_idownership. - Version consistency (P2). All software versions are
0.2.5, and aversion-consistencyCI job (on push and onv*tags) fails if package/app/web versions disagree or, on a tag, if tag ≠ version. The "tag says vX but code says vY" class can't recur silently. - Claims discipline (P2). Narrowed the wide quantifiers; the v0.2.4 "can't be falsified" line is retracted (it was itself falsified). The rule going forward: state known limitations as of a version and specific verified properties — never "closed / complete / unfalsifiable."
Honest status (frozen baseline)
This is a strong engineering + self-audited reference / portfolio artifact. It is not an externally-adopted or independently-verified platform: 0 stars/forks, and CI is the only packet downloader. Verified properties are enumerated across the docs; what is not enforced is listed in docs/limitations.md with tracking issues (#29–#33).
After the freeze
Only externally-reported P0/P1 fixes. The next steps are not more internal hardening:
- #37 Independent reproduction — a third party runs the packet + suites and reports; this is the acceptance criterion for "independently verified."
- #38 90-second demo — a comms asset (explicitly not verification evidence).
Post-freeze backlog (Tempo #8, GHCR #10, OTel semconv #12, etc.) stays deprioritized behind those two.