The work tree: projects, missions, slices and proof
Documented against OpenRig 0.5.14. Help text uses "node" where these pages say seat, for a seat's position in the running rig.
What it is for
Work lives on disk in a shape every tool already reads. A project holds missions; a mission organises slices; a slice is the one unit small enough to build and prove, and the only level that specifies. Each node has one authored file, SPEC.md, with its intent in frontmatter, so intent composes down the tree while the specification stays at the leaf. Progress is derived from evidence, never hand-written above the mark. rig scope creates and inspects these nodes so they get stable dot-IDs instead of being bare folders nothing can address. rig proof puts evidence where the slice, the audit and the terminal UI will all find it, and records attributed judgments on contract items. rig workspace checks that the daemon and you agree about where the tree is.
The three commands you will use first
See what work exists. --workspace overrides the root when you are not inside it.
rig scope mission ls
rig scope slice ls --mission search-experience
rig scope slice show 01-search-page --mission search-experience
Create a slice with its scaffold. SPEC.md, slice.yaml, PROGRESS.md, PROOF.md and a proof folder, with a stable id minted into the frontmatter.
rig scope mission create search-experience --intent "Let a reader find the right document in under ten seconds."
rig scope slice create search-experience search-page --intent "Help a reader find a document by title."
Attach evidence and judge an item. proof add drops an artifact with typed frontmatter; proof judge records one attributed accept, reject or withdraw against a contract item and derives readiness; proof show reads readiness without changing any status file.
rig proof add search-experience/slices/01-search-page --artifact-type qa --verdict PASS --file proof/qa-keyboard-path.md
rig proof judge search-experience/slices/01-search-page#1 --verdict accept --reason "keyboard path passes on the sample library" --evidence proof/qa-keyboard-path.md
rig proof show search-experience/slices/01-search-page
Keeping the tree honest
rig scope audit is read-only and advisory: it flags broken rails, missing convention sections and amended approvals, and never blocks a write. rig scope slice repair and mission repair backfill missing progress files and conform frontmatter. rig workspace doctor runs the eight-check readiness diagnostic against the daemon's resolved workspace; rig workspace validate walks a root and reports frontmatter gaps. rig startup-proof submit answers an explicitly selected startup challenge; startup adds none by default.
The scope, proof and workspace families
| Command | What it does (from help) | Help source |
|---|---|---|
rig proof |
Capture evidence (add), record an attributed item judgment (judge), and read derived readiness (show). Capture, policy acceptance, higher outcome judgment and publication are separate. | proof.txt |
rig proof add |
Drop a proof artifact: authors the C1 frontmatter from flags, writes <slice>/proof/<name>, echoes the parsed header. Contract/self-check/C8 outputs are advisories (exit 0) , never gates. | proof.add.txt |
rig proof judge |
Record one attributed item judgment and derive readiness. Use mission/slices/slice#item (index, text or ID). Policy inherits proofPolicy.judges from owning slice, mission or project. | proof.judge.txt |
rig proof show |
Read current attributed proof readiness for a slice, mission or active project; no status files are changed. | proof.show.txt |
rig scope |
Scope tree primitive: missions, slices, sub-slices (per conventions/scope-and-versioning) | scope.txt |
rig scope audit |
Read-only scope audit: flag scope findings and show the advisory dependency graph | scope.audit.txt |
rig scope mission |
Mission-tier commands | scope.mission.txt |
rig scope mission approve |
Approve a mission: same staged/delegated semantics as slice approve, at mission tier. | scope.mission.approve.txt |
rig scope mission create |
Create a new mission with SPEC.md and mission.yaml (mints a stable dot-ID into frontmatter) | scope.mission.create.txt |
rig scope mission graph |
Show advisory sibling build-order edges and the current ready set | scope.mission.graph.txt |
rig scope mission ls |
List missions (top-level folders with SPEC.md or a legacy README.md) | scope.mission.ls.txt |
rig scope mission progress |
Update a mission's progress rail deterministically (append a row, or set a row's status) | scope.mission.progress.txt |
rig scope mission repair |
Backfill missing PROGRESS.md + conform mandatory frontmatter (id/stage/verified) for a mission and its slices; idempotent | scope.mission.repair.txt |
rig scope mission show |
Inspect a single mission | scope.mission.show.txt |
rig scope mission stage |
Set a mission's epistemic stage (wip / provisional / established / canonical / superseded / retired); superseded needs --successor | scope.mission.stage.txt |
rig scope mission verified |
Stamp a mission's verified line: <today> against <source> (provenance mandatory; overwrites the prior line) | scope.mission.verified.txt |
rig scope resolve-notes |
Resolve the readable mission notes file for an absolute work-node directory | scope.resolve-notes.txt |
rig scope slice |
Slice-tier commands | scope.slice.txt |
rig scope slice approve |
Approve a slice: writes the frontmatter stamp + an append-only audit row (daemon-side, one operation). --scope spec = the PLAN-LOCK (PRD-matches-intent; this artifact set gets built); delivery (default) = the PROOF-LOCK (terminal sign-off). Approval is freeze/sign-off, never proven-green. Conventions SSOT: docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md). | scope.slice.approve.txt |
rig scope slice close |
Close a slice (move to <mission>/closed/, update status) | scope.slice.close.txt |
rig scope slice create |
Create a new slice with SPEC.md, slice.yaml, PROGRESS.md, PROOF.md, and proof/. Conventions SSOT: docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md). | scope.slice.create.txt |
rig scope slice ls |
List slices in a mission (or across all missions) | scope.slice.ls.txt |
rig scope slice move |
Move a slice between missions (re-numbers in destination) | scope.slice.move.txt |
rig scope slice progress |
Update a slice's progress rail deterministically (append a row, or set a row's status) | scope.slice.progress.txt |
rig scope slice repair |
Backfill a slice's missing PROGRESS.md + conform mandatory frontmatter (id/stage/verified); idempotent | scope.slice.repair.txt |
rig scope slice ship |
Ship a slice to a release mission (preserves git history) | scope.slice.ship.txt |
rig scope slice show |
Inspect a single slice (frontmatter + README + children) | scope.slice.show.txt |
rig scope slice stage |
Set a slice's epistemic stage (wip / provisional / established / canonical / superseded / retired); superseded needs --successor | scope.slice.stage.txt |
rig scope slice verified |
Stamp a slice's verified line: <today> against <source> (provenance mandatory; overwrites the prior line) | scope.slice.verified.txt |
rig startup-proof |
Submit and inspect startup orientation proof | startup-proof.txt |
rig startup-proof submit |
Submit this seat's startup proof through the authenticated OpenRig activity hook | startup-proof.submit.txt |
rig workspace |
PL-007 Workspace Primitive , typed-kind tooling. validate walks a root and reports frontmatter gaps; doctor runs the 8-check workspace-readiness diagnostic. |
workspace.txt |
rig workspace doctor |
Run the 8-check workspace-readiness diagnostic against the daemon's resolved workspace. Reports state of workspace root, missions folder, file allowlist, daemon alignment, daemon reload, slice docs, mission NOTES, and SDLC convention sections. Read-only. | workspace.doctor.txt |
rig workspace validate |
Walk a workspace root, parse each .md file's YAML frontmatter, and emit a structured gap report. Advisory only , never modifies files. Default root: cwd. | workspace.validate.txt |
What it does not do
- A clean audit is not evidence the work is good. It fails open by design.
- Attaching evidence is not acceptance; accepting an item is not a mission judgment; neither is publication. The verbs keep those separate on purpose.
- Progress above the checkbox is a render, not a file. Editing a rendered progress tree is how a derivation becomes a confident lie.
- Hand-placing files into a proof folder without
proof addleaves the deliverable permanently unverified in the delivered view.
Where it goes next
- Workflows: compiling project, mission and slice files into a lifecycle graph.
- The terminal UI:
projects,missionandsourcebrowse this tree.