v0.14.0
Highlights
v0.14.0 ships the agentic-builder substrate: specs 037–044, the surface an autonomous builder needs to use spec-spine as the adjudicator of "done" rather than grading its own work. Every piece is opt-in or additive; an existing corpus is byte-identical across the upgrade unless it declares implementation: complete on a spec whose units do not exist (see 041).
- 037 · machine-readable verdicts.
compile --check,index check,lint,couple,attestandverify-attestationtake--jsonand write one versioned envelope (schemaVersion,verb,ok,exitCode,report|error). The flag changes what is written, never what is decided: exit codes are identical with and without it. NewVERDICT_SCHEMA_VERSION(0.1.0), independent of the registry and index versions. - 038 ·
registry plan. The ready set in dependency order: which specs can be worked on now, and for each blocked one, every blocker and its state (pending,in-progress,deferred, orunresolvedfor a danglingdepends_on).deferredrecords a decision and is never re-offered. - 039 ·
layout.state_dir. One declared, ungoverned root for the state of tools around spec-spine: bypassed bycouple, excluded fromcoverage, never resolved, never hashed, never read or written by spec-spine. Refused if it overlapsspecs_dirorderived_dir. - 040 · amendment authoring.
amendslives in the amending spec's frontmatter and only there; the amended spec is never edited to record it. Discovery is a compiled read (registry relationships). - 041 · completion is held to its claims.
implementation: completedefeats draft leniency: an unresolved owning unit on a complete spec is a hard error whatever thestatus. Done is not self-authored. - 042 · per-spec attestation.
attest --spec <id>/verify-attestation --spec <id>: a signed, reproducible record of one spec's source hash, lifecycle, owning-unit content hashes and gate verdicts. A record, not a gate: exit 0 means an attestation was written. Not committed, by decision. NewSPEC_ATTESTATION_SCHEMA_VERSION(0.1.0). - 043 · governance document gaps. The constitution now states its own amendment mechanism (claim the section as an authority unit;
amendsis not the instrument),depends_onandimplementationare named lifecycle keys with mechanical consequences, and constitution V gains its operational half: adopted code is specced as found, defects recorded under## Known defects. Theinitscaffold ships all three. - 044 ·
in-progressis in flight.approved+in-progressis in flight, so a corpus that ratifies before building stays green while the work is openly underway.
Also: spec-spine index now prints the W-001/W-002 warnings it records, and the docs site gained cli/attest and concepts/lifecycle pages plus the --json envelope reference (#102, #103).
Version axes. Package 0.13.0 → 0.14.0. Registry and index schemas stay at 1.1.0; the two new schema constants above start at 0.1.0. MINOR, not patch: 041 adds a refusal that can newly fail a previously-passing corpus.
What's Changed
- build(deps): bump tree-sitter from 0.26.13 to 0.27.0 in the cargo group by @dependabot[bot] in #85
- build(deps): bump the website group in /website with 11 updates by @dependabot[bot] in #86
- docs(037-039): file wave 1 of the agentic-builder substrate by @bartekus in #89
- docs(040): write down how an amendment is authored by @bartekus in #90
- feat(041-042): file wave 2 of the agentic-builder substrate by @bartekus in #91
- docs(042): pin attest's exit-code contract and make resolution.ok readable by @bartekus in #92
- docs(043): correct three governance statements an adopter cannot act on by @bartekus in #93
- feat(037): give the six adjudicating verbs a machine-readable verdict by @bartekus in #94
- feat(038): add
registry plan, the ready set in dependency order by @bartekus in #95 - test(038): pin the cycle-scope agreement and
blocked's ordering by @bartekus in #97 - feat(039): add
layout.state_dir, a declared, ungoverned tool-state root by @bartekus in #96 - feat(041): make
implementation: completedefeat draft leniency by @bartekus in #98 - feat(044): make
implementation: in-progressin flight by @bartekus in #100 - feat(042): add
attest --spec, a signed record scoped to one spec by @bartekus in #99 - chore(037-044): ratify the agentic-builder substrate (draft -> approved) by @bartekus in #101
- docs: catch the docs surface up with specs 037-044 and tidy two loose ends by @bartekus in #102
- chore(release): bump package version to 0.14.0 by @bartekus in #103
Full Changelog: v0.13.0...v0.14.0