OpenRig

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