feat(000): found the spec corpus, the harness, and the governed gate - #1
Merged
Conversation
hqgit is specified before it is built: this lands the whole design and the machinery that keeps code faithful to it. - 68 specs: 000 bootstrap with the frozen invariants, 001 the agentic harness, 002 the platform thesis, 003 the rahi chassis boundary, and 64 ordinary specs across eight waves, approved and pending - spec-spine 0.11.0 governance: spec-spine.toml, the constitution, the corpus contract, the spec template, and the committed registry and index shards under .derived/ - the gate: make spine and make ci, guarded for the pre-Cargo tree, and govern.yml re-running it on every pull request - the harness: the AGENTS.md session and backlog protocol, CLAUDE.md, fifteen skills, six agents, six rules, and hooks that refuse a push to main and a pull request on a red coupling gate - docs/design: the architecture analysis and the rendered spec DAG
GitHub allows hashFiles only inside a step, so the job-level guards on Cargo.toml and deny.toml failed the workflow at startup: the run reported as "no checks" on the pull request instead of as a gate result. The spine job now probes the tree after checkout and publishes has_cargo and has_deny for the cargo and deny jobs to gate on. Recorded as D-3 on 001.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
hqgit is specified before it is built. This lands the whole design and the
machinery that keeps future code faithful to it.
invariants), 001 (the agentic harness), 002 (the platform thesis: layer
model, nouns, crate topology, eight build waves), 003 (the rahi chassis
boundary), and 64 ordinary specs, every one
status: approvedandimplementation: pending. Spec ordinals are the build order, so thelowest-numbered ready spec is the next work order.
spec-spine.tomlwith the layertaxonomy, a closed kind enum,
require_ownershipon, and everyagent-steering surface hashed; the fifteen-principle constitution, the
corpus contract, and the spec template under
standards/; the compiledregistry and index shards committed under
.derived/.make spineandmake ci, both guarded for the pre-Cargotree, and
.github/workflows/govern.ymlre-running exactly that on everypull request plus a corpus attestation artifact.
AGENTS.md(session protocol and backlog discipline),CLAUDE.md, fifteen skills, six agents, six rules, and hooks that refusea push to
mainand refusegh pr createon a red coupling gate.docs/design/00-architecture.md(the analysis) anddocs/design/01-build-order.md(the spec DAG, rendered).Spec 003 arrived after the rest of the corpus, so this change also refreshes
what indexes it: the rendered DAG (68 specs, 003 as a wave 1 leaf on 002),
the record-spec range in
AGENTS.mdstep 0, and the pointers inREADME.mdand
CLAUDE.md.Open decision carried by 003
003 B-3 leaves the wave 6 transport question open and names it: rahi's edge
is axum over HTTP, while 090 currently multiplexes HTTP/1.1 and gRPC on one
port with tonic. The preferred resolution is the Connect protocol over plain
HTTP, which 093 already names and axum serves natively, so no multiplexing
is needed and rahi is unchanged; the fallback is a rahi spec that mounts a
tonic service into its router. FR-004 requires whichever is chosen to be
recorded as a D-n entry in 090 before 090 is flipped to
in-progress. Itdoes not block any spec below wave 6.
Testing
make spine: compile 68 specs (0 warnings), index,lint --fail-on-warn(0 warnings),
index checkfresh,couple --base origin/mainclean over108 checked paths,
spec-dag.shacyclic with every dependencylower-numbered and one root.
make ci: the above plusindex coverage --fail-on-untraced. The cargoand deny targets report that they are waiting for spec 010, which is the
guarded behavior this tree is meant to have.
scripts/verify-spec.shon the record specs: 001 passes (3 commands), 003passes (1 command), 000 and 002 declare no
## Verificationblock.