Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ Then invoke a skill by name. Codex accepts `$allstack-plan`; Claude Code accepts
| `allstack-ship` | Verify and publish the authorized change through managed delivery. |
| `allstack-recall` | Recover relevant project knowledge and inspect its sources. |
| `allstack-handoff` | Explicitly continue an active delivery in another host. |
| `allstack-harness` | Name the current lifecycle stage (Think through Reflect) and load the next skill. |
| `allstack-spec` | Draft a design, obtain a fresh-context review, and record a digest-bound approval. |
| `allstack-investigate` | Diagnose a reported defect from evidence and produce a repair plan. |
| `allstack-reflect` | Write a retrospective and flag approved designs whose code moved since approval. |

Skills-only setup needs no Rust project, Chronis executable, task, or delivery run. Independent shaping, planning, review, and QA use the native host's tools and permissions. Shared original methods live in [skills/](skills); Rust packages them for both hosts with capability overlays. `allstack skills` inspects the bundled interface without opening stores.

Expand Down
6 changes: 6 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Documentation

## Concepts

- [Agentic harness glossary](concepts/agentic-harness.md) — harness, skills, guards, spec review and approval, ledger, verdicts and confidence tiers mapped to Allstack concepts.

## Design

- [2026-10-28: Native runtime evidence and Prime control values](plans/2026-10-28-native-runtime-evidence-design.md) — installed-runtime identity, final artifact qualification, archived memory recovery and the next real AllSource delivery.
Expand All @@ -20,6 +24,8 @@

## Reference

- [Harness Edition evaluation: gap matrix and build plan](reports/2026-11-07-harness-edition-evaluation.md) — proposal compared with Allstack, decebal-claude-skills and local host configuration; what this change builds and what remains open.

- [Native runtime evidence qualification](reports/2026-10-28-native-runtime-evidence-verification.md) — installed methods, independent C0-value regression, real Codex/Claude handoffs, final artifacts and archived Prime recovery.

- [Native runtime evidence request](reference/native-runtime-evidence-request.md) — accepted method changes, packaging and real AllSource qualification.
Expand Down
35 changes: 35 additions & 0 deletions docs/concepts/agentic-harness.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Agentic harness glossary

This glossary maps the terms used in the harness proposal to the concepts that exist in Allstack today, and says where a term has no implementation yet. The lifecycle runs Think, Spec, Plan, Build, Review, Ship, Reflect.

| Term | Meaning here | Allstack concept | Status |
| --- | --- | --- | --- |
| Harness | The set of skills, hooks, and CLI commands that carry one change through the lifecycle | `allstack init --skills-only` plus the managed delivery commands | Implemented for skills and delivery. Guard hooks live outside this repository. |
| Skill / role | One stage or specialist, invoked by name in Codex or Claude Code | `skills/allstack-*/SKILL.md`, registered in `METHODS` in `src/infrastructure/skills.rs` | Implemented for 11 skills |
| Rule / guard | A deterministic check that denies or allows a tool call, independent of the model | Repository gates in `workflows/*.toml`; host hooks are configured outside Allstack | Gates implemented. Host hook installation is not part of Allstack. |
| Elephant | The drafting session that writes a design and resolves review findings | `allstack-spec` skill, which writes `docs/plans/YYYY-MM-DD-<slug>-design.md` | Implemented as a skill |
| Goldfish | A fresh-context reviewer that sees only the draft path and the repository root | `allstack spec review <path> --host codex\|claude`, which starts a read-only host process | Implemented. The reviewer host runs in a new process with no caller conversation. |
| PRD | A product requirements document for a planned change | `docs/plans/` design documents, plus the external `claude-prd` skill | Partly implemented. Allstack has no PRD template. |
| Bead / epic | A tracker task and its parent grouping | Chronis (`cn`) tasks and epics, read through `cn ready --toon` | Delivery claims a single task per run. Epic-level bridging is not implemented. |
| Ledger | The append-only record of decisions, events, and receipts | AllSource run history under `.allstack/events`, approval facts in the same store | Implemented for run history and spec approvals |
| Kernel / ISA | A deterministic layer that admits or refuses typed operations | Not implemented. The `semantic-isa` skill describes the design; no kernel exists in this repository. | Water. Requires a spike on one agent. |
| Verdict | The reviewer's explicit outcome: `clean`, `findings`, or `unknown` | `VERDICT:` line parsed by `application::spec::verdict` | Implemented. A missing verdict is `unknown`, which is never treated as clean. |
| Evidence report | A retained record of gate outcomes and their digests | `allstack evidence <run>` for gate receipts; reports under `docs/reports/` | Implemented for managed runs |
| Confidence (rock / sand / water) | How well the work is understood, not how large it is | Used in design documents and reports to classify open risks | Documentation convention. Rock means bet it, sand means shape it first, water means spike it first. |

## Approval binding

A design is approved for one exact byte sequence. `allstack spec approve` records the SHA-256 digest of the file, the approver name, and the review receipt that covered that digest. `allstack spec check` exits 0 only while the latest approval's digest equals the file's current digest and the cited receipt still exists and names the same digest. Any edit changes the digest, so the approval stops matching and the design must be reviewed again.

`--without-review` records an approval with no receipt. It exists for an explicit override and is visible in the approval record.

## Stage ownership

- Think: `allstack-shape`
- Spec: `allstack-spec`, with `allstack spec review`, `approve`, and `check`
- Plan: `allstack-plan`. The external `claude-beads` skill is expected to run `allstack spec check` before it cuts beads. Allstack does not enforce that call.
- Build and Ship: `allstack-ship` through managed delivery
- Review: `allstack-review` and `allstack-qa`
- Reflect: `allstack-reflect`
- Routing: `allstack-harness` names the current stage and loads the next skill
- Diagnosis: `allstack-investigate`, which may skip Think and Spec for a reproduced defect
14 changes: 14 additions & 0 deletions docs/reference/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,20 @@ Run `allstack -C /path/to/target-repository doctor` (add `--policy <path>` for a

`init --check` returns `ready: false` with planned paths, digests, conflicts, and missing prerequisites when setup cannot be applied. Existing Chronis engine readback is explicitly deferred until apply; opening its engine could write storage metadata. Check-mode readiness covers resource and executable preflight, with that readback still outstanding. Applying failed preflight stops before writing managed resources or initializing Chronis. Symlinks, traversal, reserved policy destinations, and nonregular/multiply-linked files are refused. File creation cannot replace a destination introduced after preflight. Index/ignore updates append bytes after comparing the original contents. Concurrent edits can require inspection and a rerun.

## Spec review and approval

`spec` commands run from the repository root and take a repository-relative Markdown path. They open only the AllSource store under `.allstack/`; they create no run, task, or Prime store.

```sh
allstack -C /path/to/repository spec review docs/plans/change-design.md --host codex
allstack -C /path/to/repository spec approve docs/plans/change-design.md --by "Approver Name"
allstack -C /path/to/repository spec check docs/plans/change-design.md
```

- `review` starts a read-only host process (`codex exec --sandbox read-only` or `claude --print` with Read, Glob, and Grep only) with a 240-second deadline. Its prompt contains the draft path and repository root. The receipt is written under `.allstack/spec/reviews/<digest>-<uuid>.json`, and the JSON output includes its `receipt` path and `verdict` (`clean`, `findings`, or `unknown`). A failed host exits nonzero and writes no receipt.
- `approve` records the file's SHA-256 digest, the approver, and the matching receipt path. It refuses when no receipt exists for the current digest. `--without-review` records an explicit override with no receipt. Approval requires a receipt whose verdict is `clean`; `findings` and `unknown` receipts are refused. `--without-review` is the only override. Approval history per design holds at most 1000 events; a further approval fails with `incomplete or oversized fact history`.
- `check` exits 0 only when the latest approval's digest equals the current digest and its receipt, if one was cited, still exists, names that digest, and has verdict `clean`. Otherwise it exits nonzero with the reason: `unapproved`, `changed since approval`, or `unreviewed`. `check` takes the run coordinator lock and fails with `run coordinator busy` during a managed run. When `.allstack` exists it may create store files in it.

## Workflow selection

Use `allstack catalog` to list repository workflows or `allstack catalog bugfix` to inspect evidence-led diagnosis and repair. Pass `start --workflow bugfix` to select it; the default remains `delivery`. See the [catalog reference](workflow-catalog.md) for contracts and additive initialization. Catalog discovery opens no mutable run store. Existing repositories without a catalog and retained runs without selection metadata preserve legacy delivery behavior.
Expand Down
6 changes: 6 additions & 0 deletions docs/reference/native-skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ Start with the [installed guide](../../templates/native-skills.md), which is bun

Original methods are versioned under [skills](../../skills). The installer packages identical method bodies for both hosts and adds a host-specific capability note. Native methods use the host's current tools and permissions. Existing managed plan/build calls retain their stricter tool scope; their restrictions do not apply to an independent native invocation.

## Spec gate

`allstack-harness` names the lifecycle stage and loads the next skill. `allstack-spec` drafts a design under `docs/plans/`, and `allstack spec review <path> --host codex|claude` obtains a read-only review from a fresh host process. That process receives only the draft path and repository root. `allstack spec approve <path> --by <name>` records an approval bound to the file's SHA-256 digest, and `allstack spec check <path>` exits 0 only while the latest approval still matches the file. Approval refuses a digest without a review receipt unless `--without-review` is passed. The approval store is the AllSource store under `.allstack/`. Receipts live under `.allstack/spec/reviews/`. Terms are listed in the [agentic harness glossary](../concepts/agentic-harness.md).

`allstack-investigate` diagnoses a reported defect, and `allstack-reflect` writes a retrospective and flags approved designs whose named code moved after approval.

## Durable services

AllSource continues to validate managed-run event chains and exact-commit receipts. Chronis owns delivery claims and completion. Prime retains source-linked context. Standalone `remember` records a bounded summary plus the digest of an existing Markdown document under docs, then reads the actual Prime node back. Repeated identical writes reuse the binding. Source changes create a distinct historical binding rather than silently replacing earlier evidence.
Expand Down
Loading
Loading