Skip to content

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 21:45
· 34 commits to main since this release
v0.14.0
fae74ae

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, attest and verify-attestation take --json and 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. New VERDICT_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, or unresolved for a dangling depends_on). deferred records a decision and is never re-offered.
  • 039 · layout.state_dir. One declared, ungoverned root for the state of tools around spec-spine: bypassed by couple, excluded from coverage, never resolved, never hashed, never read or written by spec-spine. Refused if it overlaps specs_dir or derived_dir.
  • 040 · amendment authoring. amends lives 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: complete defeats draft leniency: an unresolved owning unit on a complete spec is a hard error whatever the status. 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. New SPEC_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; amends is not the instrument), depends_on and implementation are named lifecycle keys with mechanical consequences, and constitution V gains its operational half: adopted code is specced as found, defects recorded under ## Known defects. The init scaffold ships all three.
  • 044 · in-progress is in flight. approved + in-progress is 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: complete defeat draft leniency by @bartekus in #98
  • feat(044): make implementation: in-progress in 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