Repository navigation
feat(skills): add harness lifecycle skills and digest-bound spec gate - #11
Merged
Merged
Conversation
The Harness Edition proposal needs an entry router across seven stages, a Spec stage reviewed by a reader without the author's context, a human approval before work is planned, and a Reflect stage. allstack already installs skills into both hosts, so each piece ships as a bundled skill from METHODS: allstack-harness, allstack-spec, allstack-reflect and allstack-investigate. allstack spec gives the Spec stage a mechanism: - review runs a read-only host process that receives only the draft path and repository root, and writes a receipt under .allstack/spec/reviews. Receipt names carry a zero-padded nanosecond timestamp so the newest clean receipt wins by name order. - approve records an event binding the design's SHA-256 digest to the approver and to a clean receipt for that digest. A findings or unknown verdict is refused; --without-review is the explicit override. - check exits nonzero with a reason (unapproved, changed since approval, unreviewed) unless the latest approval matches the current digest. It takes the run coordinator lock. claude-beads calls it before cutting beads. Approval events live in the AllSource store under a per-design entity, separate from run history. hosts.rs shares its read-only argv and final-text parsing with the review path; invoke behaviour is unchanged. Operation errors now carry the child's own message. The supervisor reported every failure as "failed or exceeded its deadline" with the child's JSON error nested inside; a timeout and a refusal now read differently. Docs: docs/concepts/agentic-harness.md glossary, the evaluation report docs/reports/2026-11-07-harness-edition-evaluation.md, and index, README, native-skills and CLI reference updates. Verified: cargo test --locked (94 passed, 2 ignored needing real Chronis), cargo clippy --all-targets --locked -D warnings, cargo fmt --check. A scratch repository ran init --skills-only (11 skills into both hosts) and a real Claude review: findings blocked approve, a clean re-review allowed it, check passed, and an edit after approval made check fail.
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
Makes the Harness Edition proposal (2026-10-28) installable with
allstack init --skills-only. Companion PR: decebal/decebal-claude-skills#90 (skillsync installer and drift checker, pr-guard hook templates, claude-beads design gate).allstack-harnessnames the stage (Think, Spec, Plan, Build, Review, Ship, Reflect) and loads the next skill. Bug fixes skip Spec.allstack-specis the Spec stage: the author drafts, a fresh-context reviewer checks, the draft is revised, then a human approves.allstack-reflectcovers the retro and the drift of approved designs.allstack-investigatecovers evidence-led diagnosis.allstack spec:reviewruns a read-only host process that sees only the draft path and the repo.approvebinds the design's SHA-256 to the approver and to a clean review receipt.checkfails unless the latest approval matches the current bytes.docs/concepts/agentic-harness.mdand evaluation reportdocs/reports/2026-11-07-harness-edition-evaluation.md(gap matrix, build plan, what was not checked), indexed.Test plan
cargo test --locked: 94 passed, 2 ignored (need real Chronis), includingtests/spec.rs(8)cargo clippy --all-targets --locked -- -D warningscargo fmt --checkinit --skills-onlyinstalled 11 skills into.agents/skillsand.claude/skillsspec review --host claude. The reviewer found two genuine gaps, soapproverefused. After the fix the review came back clean,approveandcheckpassed, and an edit after approval madecheckfail with "changed since approval".spec review --host codex: clean on the approved design, andfindingson a planted design (a behaviour/acceptance contradiction and a wrong sum; both named with line numbers)checkpass again (digest-bound, not edit-history-bound)cargo denyKnown limits
docs/reference/cli.md)./plan-ceo-reviewand/autoplanports, sandbox-kit guard wiring, a semantic-isa kernel, and a team retro across cn stores. See the report.🤖 Generated with Claude Code