v0.4.3 — set-validated tier made real + roadmap doc
The top of the verification ladder, made real
flows v2 begins. The set-validated tier shipped as a seam in v0.4.0 (ADR-007: set-equality is non-vendorable, so it lives in user space) — but nothing demonstrated it. Now repolore dogfoods it:
- Reference extractor —
.repolore/validators/update-classification-seteq.mjs(plain Node stdlib, ~70 lines) rebuildsupdate.mjs's disposition set from code: everyreport.<key>.pushcall site, mapped to the flow step it folds into, emitted as the{steps, edges, branches}JSON the contract specifies. flows/update-classificationreachesset-validated— the page flipsflow_asserts_complete: true, so a new disposition added toupdate.mjsthat nobody writes into the flow is now a hard fail: the omitted-branch catch no lower tier can do.- Copyable worked example —
references/flow.mddocuments the extractor as the starting shape for your own closed-world tool flows (open-world request/async flows honestly stay atbranch-audited). - 5 new tests pin the chain: exact set reconstruction, the new-disposition catch, the live page at the top tier, hard-fail with
asserts_complete, graceful degrade without it.
A readable roadmap
The README's roadmap had grown into a 20-entry wall of prose. It now lives in docs/ROADMAP.md: Now (flows v2, extractor ticked) / Next (v0.5+) / tooling debt / version history, newest first. The README keeps a pointer.