Skip to content

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.

bash
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.

bash
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.

bash
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 ​

CommandWhat it does (from help)Help source
rig proofCapture 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 addDrop 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 judgeRecord 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 showRead current attributed proof readiness for a slice, mission or active project; no status files are changed.proof.show.txt
rig scopeScope tree primitive: missions, slices, sub-slices (per conventions/scope-and-versioning)scope.txt
rig scope auditRead-only scope audit: flag scope findings and show the advisory dependency graphscope.audit.txt
rig scope missionMission-tier commandsscope.mission.txt
rig scope mission approveApprove a mission: same staged/delegated semantics as slice approve, at mission tier.scope.mission.approve.txt
rig scope mission createCreate a new mission with SPEC.md and mission.yaml (mints a stable dot-ID into frontmatter)scope.mission.create.txt
rig scope mission graphShow advisory sibling build-order edges and the current ready setscope.mission.graph.txt
rig scope mission lsList missions (top-level folders with SPEC.md or a legacy README.md)scope.mission.ls.txt
rig scope mission progressUpdate a mission's progress rail deterministically (append a row, or set a row's status)scope.mission.progress.txt
rig scope mission repairBackfill missing PROGRESS.md + conform mandatory frontmatter (id/stage/verified) for a mission and its slices; idempotentscope.mission.repair.txt
rig scope mission showInspect a single missionscope.mission.show.txt
rig scope mission stageSet a mission's epistemic stage (wip / provisional / established / canonical / superseded / retired); superseded needs --successorscope.mission.stage.txt
rig scope mission verifiedStamp a mission's verified line: <today> against <source> (provenance mandatory; overwrites the prior line)scope.mission.verified.txt
rig scope resolve-notesResolve the readable mission notes file for an absolute work-node directoryscope.resolve-notes.txt
rig scope sliceSlice-tier commandsscope.slice.txt
rig scope slice approveApprove 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 closeClose a slice (move to <mission>/closed/, update status)scope.slice.close.txt
rig scope slice createCreate 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 lsList slices in a mission (or across all missions)scope.slice.ls.txt
rig scope slice moveMove a slice between missions (re-numbers in destination)scope.slice.move.txt
rig scope slice progressUpdate a slice's progress rail deterministically (append a row, or set a row's status)scope.slice.progress.txt
rig scope slice repairBackfill a slice's missing PROGRESS.md + conform mandatory frontmatter (id/stage/verified); idempotentscope.slice.repair.txt
rig scope slice shipShip a slice to a release mission (preserves git history)scope.slice.ship.txt
rig scope slice showInspect a single slice (frontmatter + README + children)scope.slice.show.txt
rig scope slice stageSet a slice's epistemic stage (wip / provisional / established / canonical / superseded / retired); superseded needs --successorscope.slice.stage.txt
rig scope slice verifiedStamp a slice's verified line: <today> against <source> (provenance mandatory; overwrites the prior line)scope.slice.verified.txt
rig startup-proofSubmit and inspect startup orientation proofstartup-proof.txt
rig startup-proof submitSubmit this seat's startup proof through the authenticated OpenRig activity hookstartup-proof.submit.txt
rig workspacePL-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 doctorRun 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 validateWalk 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 add leaves 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, mission and source browse this tree.

Read as Markdown

Self-contained SOP. No outbound links. OpenRig 0.5.14.