@h-rig/product-ad-website 0.0.6-alpha.283

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +3 -0
  2. package/package.json +52 -0
  3. package/site/assets/favicon.svg +1 -0
  4. package/site/assets/og-card.png +0 -0
  5. package/site/assets/rig.css +199 -0
  6. package/site/assets/rig.js +66 -0
  7. package/site/assets/search-index.json +1 -0
  8. package/site/assets/site.css +46 -0
  9. package/site/assets/site.js +510 -0
  10. package/site/cli/index.html +88 -0
  11. package/site/config/index.html +256 -0
  12. package/site/docs/agent-tools/index.html +129 -0
  13. package/site/docs/architecture/index.html +42 -0
  14. package/site/docs/capabilities/index.html +84 -0
  15. package/site/docs/entities/index.html +68 -0
  16. package/site/docs/environment/index.html +62 -0
  17. package/site/docs/faq/index.html +17 -0
  18. package/site/docs/fleet-irc/index.html +44 -0
  19. package/site/docs/gate/index.html +128 -0
  20. package/site/docs/getting-started/index.html +50 -0
  21. package/site/docs/glossary/index.html +31 -0
  22. package/site/docs/index.html +68 -0
  23. package/site/docs/operator/index.html +49 -0
  24. package/site/docs/packages/index.html +36 -0
  25. package/site/docs/pi-extensions/index.html +15 -0
  26. package/site/docs/recipes/index.html +28 -0
  27. package/site/docs/runs/index.html +35 -0
  28. package/site/docs/security/index.html +29 -0
  29. package/site/docs/server/index.html +27 -0
  30. package/site/docs/swarm-commander/index.html +41 -0
  31. package/site/docs/task-sources/index.html +129 -0
  32. package/site/docs/troubleshooting/index.html +23 -0
  33. package/site/docs/validators/index.html +177 -0
  34. package/site/index.html +1653 -0
  35. package/site/plugins/examples/index.html +419 -0
  36. package/site/plugins/index.html +193 -0
  37. package/site/skills/index.html +140 -0
  38. package/site/variants/deck/index.html +1 -0
@@ -0,0 +1,50 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Getting started // RIG</title><meta property="og:image" content="https://how.rig-does.work/assets/og-card.png"><meta name="twitter:card" content="summary_large_image"><meta name="description" content="Install Rig, run bare rig, use the session cnet, dispatch with /fleet or the Swarm Commander, inspect /drone, and diagnose with rig doctor."><meta property="og:title" content="Getting started // RIG"><meta property="og:description" content="Install Rig, run bare rig, use the session cnet, dispatch with /fleet or the Swarm Commander, inspect /drone, and diagnose with rig doctor."><link rel="stylesheet" href="../../assets/rig.css?v=v9"><link rel="stylesheet" href="../../assets/site.css?v=v9"><link rel="icon" type="image/svg+xml" href="../../assets/favicon.svg"></head><body><canvas id="docfield"></canvas><nav class="nav"><div class="nav-in"><a class="brand" href="../../index.html"><span class="mk"></span><span class="blk">Rig</span></a><button class="burger" onclick="document.getElementById('nl').classList.toggle('open')">menu</button><div class="nav-links" id="nl"><button class="nsearch" type="button" onclick="rigSearchOpen()">search<kbd>&#8984;K</kbd></button><a href="../../index.html" class="">overview</a><a href="../../docs/index.html" class="active">docs</a><a href="../../plugins/index.html" class="">plugins</a><a href="../../skills/index.html" class="">skills</a><a href="../../cli/index.html" class="">cli</a><a href="../../config/index.html" class="">config</a><a href="https://github.com/humanity-org/rig" class="ext">github</a></div></div></nav><div class="docwrap"><aside class="sidebar"><div class="grp">START</div><a href="../../docs/index.html" class="">docs home</a><a href="../../docs/capabilities/index.html" class="">capabilities</a><a href="../../docs/getting-started/index.html" class="active">getting started</a><div class="grp">RUN</div><a href="../../docs/runs/index.html" class="">the run lifecycle</a><a href="../../docs/operator/index.html" class="">operator guide</a><a href="../../docs/swarm-commander/index.html" class="">swarm commander</a><a href="../../docs/fleet-irc/index.html" class="">drone messages</a><a href="../../docs/agent-tools/index.html" class="">agent tools</a><a href="../../docs/gate/index.html" class="">the merge gate</a><a href="../../docs/troubleshooting/index.html" class="">troubleshooting</a><div class="grp">ARCHITECTURE</div><a href="../../docs/architecture/index.html" class="">how rig works</a><a href="../../docs/entities/index.html" class="">entities & data model</a><a href="../../docs/server/index.html" class="">OMP relay/web</a><a href="../../docs/security/index.html" class="">security & trust</a><a href="../../docs/environment/index.html" class="">environment variables</a><div class="grp">EXTEND</div><a href="../../plugins/index.html" class="">plugin authoring</a><a href="../../plugins/examples/index.html" class="">plugin examples</a><a href="../../docs/pi-extensions/index.html" class="">OMP/Pi extensions</a><a href="../../skills/index.html" class="">skills</a><a href="../../docs/task-sources/index.html" class="">task sources</a><a href="../../docs/validators/index.html" class="">validators & hooks</a><div class="grp">OPERATE</div><a href="../../cli/index.html" class="">cli reference</a><a href="../../config/index.html" class="">rig.config.ts</a><a href="../../docs/recipes/index.html" class="">recipes</a><a href="../../docs/glossary/index.html" class="">glossary</a><a href="../../docs/faq/index.html" class="">faq</a><div class="grp">ENGINE</div><a href="../../docs/packages/index.html" class="">packages</a></aside><main class="doc">
2
+ <h1>Getting started</h1>
3
+ <p class="lede">Install Rig, run bare <code>rig</code> in a repo, dispatch through the inline <code>/fleet</code> card or the Swarm Commander model role, watch the cnet, materialize an exact drone card when needed, and use <code>rig doctor</code> for diagnosis.</p>
4
+
5
+ <h2 id="install">Install</h2>
6
+ <pre class="code"><span class="p">$</span> curl -fsSL https://where.rig-does.work/install | bash
7
+ <span class="p">$</span> command -v rig
8
+ <span class="p">$</span> command -v rig-run
9
+ <span class="p">$</span> rig --version</pre>
10
+ <p>The installer fetches the prebuilt, self-contained <code>rig</code> binary for your platform (published to npm as <code>@h-rig/cli-&lt;os&gt;-&lt;arch&gt;</code>) and links <code>rig</code> and <code>rig-run</code> directly to that binary. This is the post-launcher install path: no installed entrypoint executes a JS launcher.</p>
11
+ <p>It writes direct shims at <code>~/.local/bin/rig</code> and <code>~/.local/bin/rig-run</code>. It also repairs the historical Bun bin names at <code>~/.bun/bin/rig</code> and <code>~/.bun/bin/rig-run</code> when they are missing or still launcher-shaped, while leaving a real binary alone. The installer verifies both entrypoints by running <code>rig --help</code> and <code>rig-run --help</code> before it prints done.</p>
12
+ <p>Rig is on an alpha release line. Run <code>rig --version</code> for the exact installed build; the same public domain carries the transport used when Rig attaches to an exact detached run.</p>
13
+ <h2 id="open">Open the session</h2>
14
+ <pre class="code"><span class="p">$</span> cd /path/to/your-project
15
+ <span class="p">$</span> rig</pre>
16
+ <p>Bare <code>rig</code> starts upstream OMP in the foreground for the workspace and loads the bundled Rig extension. The transcript is the CNet, and <code>/fleet</code>, <code>/tasks</code>, and <code>/drone</code> materialize inline cards there.</p>
17
+
18
+ <h2 id="session">Use the session</h2>
19
+ <p>The CNet keeps a bounded current projection in the transcript. The ambient feed shows the fleet aggregate plus active or attention-requiring runs; explicit queries and action receipts remain in OMP&rsquo;s normal session history.</p>
20
+ <div class="note">When a run needs a human, Rig materializes an inline attention item with the action owned by that run or request. The result is recorded as a CNet receipt in the same transcript.</div>
21
+
22
+ <h2 id="dispatch">Dispatch work</h2>
23
+ <table class="t"><thead><tr><th>action</th><th>use it for</th></tr></thead><tbody>
24
+ <tr><td><code>/tasks</code></td><td>Materialize one bounded task summary with create, rename, and close actions owned by the tasks plugin.</td></tr>
25
+ <tr><td>Swarm Commander chat</td><td>Ask the configured model role to query or act. It receives a bounded current projection and discovers generated CNet tools from the loaded plugins.</td></tr>
26
+ <tr><td><code>/fleet</code></td><td>Materialize one aggregate fleet card with the fleet-owned dispatch action; exact dispatch is also <code>rig run dispatch &lt;taskId&gt;</code>.</td></tr>
27
+ <tr><td><code>/drone [ref]</code></td><td>Materialize one exact run with current status, placement, stage progress, recent timeline, controls, and terminal/web attach. With no ref, it targets the newest projected run.</td></tr>
28
+ </tbody></table>
29
+
30
+ <h2 id="first-dispatch">First dispatch</h2>
31
+ <p>Open <code>rig</code> in the repo, then dispatch from the <code>/fleet</code> card, chat, or <code>rig run dispatch &lt;taskId&gt;</code>. Each path submits the owning plugin&rsquo;s typed CNet action and appends its durable receipt.</p>
32
+ <pre class="code"><span class="p">operator</span> Show ready tasks, then dispatch task 132.
33
+ <span class="p">swarmer</span> I&rsquo;ll query the configured task source, then use the run dispatch action.
34
+ <span class="p">cnet</span> dispatch applied · task 132 · run 8a31e7</pre>
35
+
36
+ <h2 id="operating-policy">Keep operating policy in chat</h2>
37
+ <p>Tell the Commander role how you want work handled as ordinary conversation. That context stays in OMP history. The current CNet runtime does not install a separate standing-order store or an autonomous wake loop.</p>
38
+
39
+ <h2 id="watch">Watch the cnet</h2>
40
+ <p>Stay in the conversation while the fleet works. The bounded live projection updates current fleet, run, and attention items; query snapshots and action receipts remain in the transcript. The Commander role acts on operator turns rather than waking itself in the background.</p>
41
+
42
+ <h2 id="doctor">Diagnose setup</h2>
43
+ <pre class="code"><span class="p">$</span> rig doctor</pre>
44
+ <p>Use <code>rig doctor</code> for setup and runtime health: sandbox backend checks, collab seams, and the conditions that keep the session attached to the fleet. Diagnosis lives in the CLI; daily operation lives in the Rig session.</p>
45
+
46
+ <h2 id="packages">Configure extensions</h2>
47
+ <p>Declare project data in <code>.rig/rigfig.toml</code>, or use <code>.rig/rig.config.ts</code> with <code>defineConfig</code> for executable project plugin extras. The application graph is always present. Pin OMP/Pi packages through <code>runtime.pi.packages</code> for live-session tools and slash commands; skills materialize to <code>.pi/skills/</code>.</p>
48
+
49
+ <div class="nextnav"><a href="../../docs/capabilities/index.html"><span class="dir">&larr; Back</span><span class="ttl">Capabilities</span></a><a href="../../docs/runs/index.html"><span class="dir">Next &rarr;</span><span class="ttl">The run lifecycle</span></a></div>
50
+ </main></div><footer><div class="wrap"><div class="foot"><div class="col"><h5>orchestrate</h5><a href="../../docs/getting-started/index.html">getting started</a><a href="../../docs/runs/index.html">the run lifecycle</a><a href="../../docs/operator/index.html">operator guide</a><a href="../../docs/gate/index.html">the merge gate</a></div><div class="col"><h5>extend</h5><a href="../../plugins/index.html">plugin authoring</a><a href="../../skills/index.html">skills guide</a><a href="../../docs/pi-extensions/index.html">OMP/Pi extensions</a><a href="../../docs/packages/index.html">packages</a></div><div class="col"><h5>live</h5><a href="../../index.html">the home rig</a><a href="../../cli/index.html">cli reference</a><a href="https://where.rig-does.work/install">install script</a></div><div class="sig">Rig is the OMP session extension.<br><span class="blk">You are the operator.</span><br>release: rig --version</div></div></div></footer><script src="../../assets/rig.js"></script><script src="../../assets/site.js?v=v9"></script></body></html>
@@ -0,0 +1,31 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Glossary // RIG</title><meta property="og:image" content="https://how.rig-does.work/assets/og-card.png"><meta name="twitter:card" content="summary_large_image"><meta name="description" content="Current Rig vocabulary: foreground OMP, CNet cards, Swarm Commander model role, detached drones, placement, exact-run attach, plugins, and the merge gate."><meta property="og:title" content="Glossary // RIG"><meta property="og:description" content="Current Rig vocabulary: foreground OMP, CNet cards, Swarm Commander model role, detached drones, placement, exact-run attach, plugins, and the merge gate."><link rel="stylesheet" href="../../assets/rig.css?v=v9"><link rel="stylesheet" href="../../assets/site.css?v=v9"><link rel="icon" type="image/svg+xml" href="../../assets/favicon.svg"></head><body data-doc-theme="constellation"><canvas id="docfield"></canvas><nav class="nav"><div class="nav-in"><a class="brand" href="../../index.html"><span class="mk"></span><span class="blk">Rig</span></a><button class="burger" onclick="document.getElementById('nl').classList.toggle('open')">menu</button><div class="nav-links" id="nl"><button class="nsearch" type="button" onclick="rigSearchOpen()">search<kbd>&#8984;K</kbd></button><a href="../../index.html" class="">overview</a><a href="../../docs/index.html" class="active">docs</a><a href="../../plugins/index.html" class="">plugins</a><a href="../../skills/index.html" class="">skills</a><a href="../../cli/index.html" class="">cli</a><a href="../../config/index.html" class="">config</a><a href="https://github.com/humanity-org/rig" class="ext">github</a></div></div></nav><div class="docwrap"><aside class="sidebar"><div class="grp">START</div><a href="../../docs/index.html" class="">docs home</a><a href="../../docs/capabilities/index.html" class="">capabilities</a><a href="../../docs/getting-started/index.html" class="">getting started</a><div class="grp">RUN</div><a href="../../docs/runs/index.html" class="">the run lifecycle</a><a href="../../docs/operator/index.html" class="">operator guide</a><a href="../../docs/swarm-commander/index.html" class="">swarm commander</a><a href="../../docs/fleet-irc/index.html" class="">drone messages</a><a href="../../docs/agent-tools/index.html" class="">agent tools</a><a href="../../docs/gate/index.html" class="">the merge gate</a><a href="../../docs/troubleshooting/index.html" class="">troubleshooting</a><div class="grp">ARCHITECTURE</div><a href="../../docs/architecture/index.html" class="">how rig works</a><a href="../../docs/entities/index.html" class="">entities & data model</a><a href="../../docs/server/index.html" class="">OMP relay/web</a><a href="../../docs/security/index.html" class="">security & trust</a><a href="../../docs/environment/index.html" class="">environment variables</a><div class="grp">EXTEND</div><a href="../../plugins/index.html" class="">plugin authoring</a><a href="../../plugins/examples/index.html" class="">plugin examples</a><a href="../../docs/pi-extensions/index.html" class="">OMP/Pi extensions</a><a href="../../skills/index.html" class="">skills</a><a href="../../docs/task-sources/index.html" class="">task sources</a><a href="../../docs/validators/index.html" class="">validators & hooks</a><div class="grp">OPERATE</div><a href="../../cli/index.html" class="">cli reference</a><a href="../../config/index.html" class="">rig.config.ts</a><a href="../../docs/recipes/index.html" class="">recipes</a><a href="../../docs/glossary/index.html" class="active">glossary</a><a href="../../docs/faq/index.html" class="">faq</a><div class="grp">ENGINE</div><a href="../../docs/packages/index.html" class="">packages</a></aside><main class="doc">
2
+ <h1>Glossary</h1>
3
+ <p class="lede">The current vocabulary. Bare Rig opens foreground OMP with its extension, renders a bounded current projection into the CNet, and lets the operator direct detached runs through inline cards or the Swarm Commander model role.</p>
4
+ <h2 id="actors">Actors &amp; surfaces</h2>
5
+ <table class="t"><thead><tr><th>term</th><th>definition</th></tr></thead><tbody>
6
+ <tr><td><b>operator</b></td><td>The human using bare <code>rig</code>, the Rig session, <code>/fleet</code>, <code>/tasks</code>, <code>/drone</code>, and <code>rig doctor</code>.</td></tr>
7
+ <tr><td><b>Rig session</b></td><td>The OMP conversation opened by bare <code>rig</code> for a workspace, with the bundled Rig extension loaded.</td></tr>
8
+ <tr><td><b>OMP session</b></td><td>The coding-agent runtime that owns transcript, cwd, tools, prompts, and participants. Bare <code>rig</code> opens the foreground operator session; each run is a separate detached OMP session.</td></tr>
9
+ <tr><td><b>CNet</b></td><td>The typed Rig layer inside the foreground OMP transcript: bounded current feed items, explicit query snapshots, action requests, and exact receipts.</td></tr>
10
+ <tr><td><b>attention item</b></td><td>An inline CNet item for a run, approval, or question that currently needs operator input.</td></tr>
11
+ <tr><td><b>Swarm Commander</b></td><td>The configured model role inside foreground OMP. It receives bounded current CNet context and uses generated discoverable tools; it is not a separate process or session.</td></tr>
12
+ <tr><td><b>CNet receipt</b></td><td>The durable outcome of a typed query or action. A transport send alone is not an applied receipt.</td></tr>
13
+ <tr><td><b>drone card</b></td><td>The inline CNet item materialized by <code>/drone [ref]</code>: one run&rsquo;s status, placement, progress, recent timeline, controls, and attach actions.</td></tr>
14
+ <tr><td><b>run</b></td><td>One unit of agent work. A run is a detached supervised OMP session where <code>runId === sessionId</code>; its journal is the source of truth.</td></tr>
15
+ <tr><td><b>attach</b></td><td>Terminal or web connection to one exact live detached run, selected by run id. Raw collab credentials remain private transport data.</td></tr>
16
+ <tr><td><b>task source</b></td><td>Where tasks come from: GitHub Issues or Linear. Task state is derived from the source on read; there is no local task database.</td></tr>
17
+ <tr><td><b>merge gate</b></td><td>The strict PR-review policy (<code>@rig/pr-review-plugin</code>, swappable via <code>review.provider</code>, default <code>github</code>). It pins the merge to the exact reviewed commit, so a commit pushed after the gate clears makes the merge fail.</td></tr>
18
+ <tr><td><b>collab relay</b></td><td>The encrypted relay/web layer at <code>where.rig-does.work</code>; it coordinates links and transport, not product state.</td></tr>
19
+ </tbody></table>
20
+ <h2 id="extension">Mechanism &amp; extension terms</h2>
21
+ <table class="t"><tbody>
22
+ <tr><td><b>harness</b></td><td>The fully-provisioned environment every run gets: a per-run isolated git worktree, isolated runtime home and credentials, materialized compiled binaries, and an OS sandbox enforced by default.</td></tr>
23
+ <tr><td><b>package floor</b></td><td>The only non-plugin packages: <code>@rig/contracts</code> (schemas/types), <code>@rig/core</code> (config + plugin composition), and <code>@rig/kernel-seed</code> (bootstrap seed + capability resolver). Everything else, including the CLI and session surface, is a plugin.</td></tr>
24
+ <tr><td><b>Rig plugin</b></td><td>An explicit <code>definePlugin</code> package composed in <code>rig.config.ts</code>; it contributes commands, lifecycle stages, validators, hooks, capabilities, and other product behavior.</td></tr>
25
+ <tr><td><b>OMP/Pi extension</b></td><td>An installable live-session package for tools, slash commands, subagents, and behaviors. Declared in <code>runtime.pi.packages</code> and materialized into <code>.pi/settings.json</code>.</td></tr>
26
+ <tr><td><b>skill</b></td><td>A <code>SKILL.md</code> prompt-context file a plugin ships. Rig materializes it verbatim into <code>.pi/skills/</code>, the directory OMP/Pi scans.</td></tr>
27
+ </tbody></table>
28
+ <h2 id="headless-cli">The headless CLI</h2>
29
+ <p>The exact CLI groups (<code>doctor</code>, <code>config</code>, <code>test</code>, <code>pi</code>, <code>server</code>, <code>run</code>, and others) are a first-class headless adapter over the same operations, for scripts, CI, and agents. Interactive product copy should prefer foreground OMP, CNet, inline card, detached drone, Swarm Commander model role, exact-run attach, placement, harness, task source, plugin, and package-floor terms. <code>/fleet</code>, <code>/tasks</code>, and <code>/drone</code> are query aliases that materialize inline cards.</p>
30
+ <div class="nextnav"><a href="../../docs/recipes/index.html"><span class="dir">&larr; Back</span><span class="ttl">Recipes</span></a><a href="../../docs/faq/index.html"><span class="dir">Next &rarr;</span><span class="ttl">FAQ</span></a></div>
31
+ </main></div><footer><div class="wrap"><div class="foot"><div class="col"><h5>orchestrate</h5><a href="../../docs/getting-started/index.html">getting started</a><a href="../../docs/runs/index.html">the run lifecycle</a><a href="../../docs/operator/index.html">operator guide</a><a href="../../docs/gate/index.html">the merge gate</a></div><div class="col"><h5>extend</h5><a href="../../plugins/index.html">plugin authoring</a><a href="../../skills/index.html">skills guide</a><a href="../../docs/pi-extensions/index.html">OMP/Pi extensions</a><a href="../../docs/packages/index.html">packages</a></div><div class="col"><h5>live</h5><a href="../../index.html">the home rig</a><a href="../../cli/index.html">cli reference</a><a href="https://where.rig-does.work/install">install script</a></div><div class="sig">Rig is the OMP session extension.<br><span class="blk">You are the operator.</span><br>release: rig --version</div></div></div></footer><script src="../../assets/rig.js"></script><script src="../../assets/site.js?v=v9"></script></body></html>
@@ -0,0 +1,68 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Docs // RIG</title><meta property="og:image" content="https://how.rig-does.work/assets/og-card.png"><meta name="twitter:card" content="summary_large_image"><meta name="description" content="The Rig documentation journey: install, run bare rig, operate from the session cnet, dispatch with /fleet, inspect /drone, pass the strict merge gate, and extend."><meta property="og:title" content="Docs // RIG"><meta property="og:description" content="The Rig documentation journey: install, run bare rig, operate from the session cnet, dispatch with /fleet, inspect /drone, pass the strict merge gate, and extend."><link rel="stylesheet" href="../assets/rig.css?v=v9"><link rel="stylesheet" href="../assets/site.css?v=v9"><link rel="icon" type="image/svg+xml" href="../assets/favicon.svg"></head><body><canvas id="docfield"></canvas><nav class="nav"><div class="nav-in"><a class="brand" href="../index.html"><span class="mk"></span><span class="blk">Rig</span></a><button class="burger" onclick="document.getElementById('nl').classList.toggle('open')">menu</button><div class="nav-links" id="nl"><button class="nsearch" type="button" onclick="rigSearchOpen()">search<kbd>&#8984;K</kbd></button><a href="../index.html" class="">overview</a><a href="../docs/index.html" class="active">docs</a><a href="../plugins/index.html" class="">plugins</a><a href="../skills/index.html" class="">skills</a><a href="../cli/index.html" class="">cli</a><a href="../config/index.html" class="">config</a><a href="https://github.com/humanity-org/rig" class="ext">github</a></div></div></nav><div class="docwrap"><aside class="sidebar"><div class="grp">START</div><a href="../docs/index.html" class="active">docs home</a><a href="../docs/capabilities/index.html" class="">capabilities</a><a href="../docs/getting-started/index.html" class="">getting started</a><div class="grp">RUN</div><a href="../docs/runs/index.html" class="">the run lifecycle</a><a href="../docs/operator/index.html" class="">operator guide</a><a href="../docs/swarm-commander/index.html" class="">swarm commander</a><a href="../docs/fleet-irc/index.html" class="">drone messages</a><a href="../docs/agent-tools/index.html" class="">agent tools</a><a href="../docs/gate/index.html" class="">the merge gate</a><a href="../docs/troubleshooting/index.html" class="">troubleshooting</a><div class="grp">ARCHITECTURE</div><a href="../docs/architecture/index.html" class="">how rig works</a><a href="../docs/entities/index.html" class="">entities & data model</a><a href="../docs/server/index.html" class="">OMP relay/web</a><a href="../docs/security/index.html" class="">security & trust</a><a href="../docs/environment/index.html" class="">environment variables</a><div class="grp">EXTEND</div><a href="../plugins/index.html" class="">plugin authoring</a><a href="../plugins/examples/index.html" class="">plugin examples</a><a href="../docs/pi-extensions/index.html" class="">OMP/Pi extensions</a><a href="../skills/index.html" class="">skills</a><a href="../docs/task-sources/index.html" class="">task sources</a><a href="../docs/validators/index.html" class="">validators & hooks</a><div class="grp">OPERATE</div><a href="../cli/index.html" class="">cli reference</a><a href="../config/index.html" class="">rig.config.ts</a><a href="../docs/recipes/index.html" class="">recipes</a><a href="../docs/glossary/index.html" class="">glossary</a><a href="../docs/faq/index.html" class="">faq</a><div class="grp">ENGINE</div><a href="../docs/packages/index.html" class="">packages</a></aside><main class="doc">
2
+ <h1>Docs</h1>
3
+ <p class="lede">How to run Rig now: install it, start foreground OMP with bare <code>rig</code>, dispatch from the inline <code>/fleet</code> card or the Swarm Commander model role, watch the cnet, materialize an exact drone card, and let the strict merge gate land only reviewed heads.</p>
4
+
5
+ <pre class="code"><span class="p">$</span> curl -fsSL https://where.rig-does.work/install | bash
6
+ <span class="p">$</span> rig
7
+ <span class="p">OMP</span> /tasks · /fleet · /drone</pre>
8
+
9
+ <h2 id="what-rig-is">What Rig is <span class="ns">// session &middot; cnet &middot; operator</span></h2>
10
+ <p><b>Rig is a plugin-based product for scoped, validated coding work inside an OMP session.</b> Bare <code>rig</code> launches upstream OMP with the bundled Rig extension loaded for the current workspace. The active OMP session is the runtime authority for cwd, transcript, tools, prompts, participants, and package-loaded capabilities; Rig adds fleet operation around it.</p>
11
+ <div class="note"><b>The operator model:</b> you stay in foreground OMP while the Rig extension maintains a bounded current CNet projection. <code>/tasks</code>, <code>/fleet</code>, and <code>/drone</code> append inline cards; the Swarm Commander model role uses generated discoverable CNet tools in the same chat. Terminal and web attach always select one exact detached drone run.</div>
12
+
13
+ <h2 id="the-loop">The run loop <span class="ns">// one task or prompt, end to end</span></h2>
14
+ <p>Every run follows the same story. Dispatch from <code>/fleet</code> or ask the Swarm Commander, let OMP/Pi work in a per-run isolated worktree under an enforced sandbox, run configured validators, ship through PR automation and the strict gate, then close the source task or materialize the next operator decision inline.</p>
15
+ <div class="loop">
16
+ <span class="node hot">Start</span><span class="arr">&rarr;</span>
17
+ <span class="node">Dispatch</span><span class="arr">&rarr;</span>
18
+ <span class="node">Work</span><span class="arr">&rarr;</span>
19
+ <span class="node">Review</span><span class="arr">&rarr;</span>
20
+ <span class="node">Merge</span>
21
+ </div>
22
+
23
+ <h2 id="the-path">The path</h2>
24
+ <div class="jpath">
25
+ <a class="jn" href="getting-started/index.html#install">install</a><span class="ja">&rarr;</span>
26
+ <a class="jn" href="getting-started/index.html#open">bare <code>rig</code></a><span class="ja">&rarr;</span>
27
+ <a class="jn" href="operator/index.html#session">session: CNet / Swarm Commander</a><span class="ja">&rarr;</span>
28
+ <a class="jn" href="getting-started/index.html#dispatch">dispatch a task</a><span class="ja">&rarr;</span>
29
+ <a class="jn" href="operator/index.html#cnet-queries">inline drone card</a><span class="ja">&rarr;</span>
30
+ <a class="jn" href="gate/index.html">merge gate</a><span class="ja">&rarr;</span>
31
+ <a class="jn" href="../plugins/index.html">extend</a>
32
+ </div>
33
+
34
+ <h2 id="start">Start</h2>
35
+ <div class="jgrid">
36
+ <a class="jcard" href="capabilities/index.html"><div class="jno">00 // CAPABILITIES</div><h3 id="card-capabilities">What Rig can do</h3><p>The capability map at a glance &mdash; foreground OMP, bounded CNet projection, inline actions, isolated worktrees, validators, strict review gate, exact-run attach, and the plugin/package surface.</p><span class="jcmd">the whole surface</span></a>
37
+ <a class="jcard" href="getting-started/index.html"><div class="jno">01 // START</div><h3 id="card-getting-started">Getting started</h3><p>Install, open <code>rig</code>, enter the session, dispatch via <code>/fleet</code> or Swarm Commander chat, watch the cnet, and use <code>rig doctor</code> when setup needs diagnosis.</p><span class="jcmd">$ rig</span></a>
38
+ <a class="jcard" href="runs/index.html"><div class="jno">02 // RUNS</div><h3 id="card-run-lifecycle">Runs &amp; sessions</h3><p>A run is a detached OMP session whose JSONL journal feeds a bounded current CNet projection and explicit inline snapshots.</p><span class="jcmd">/fleet &rarr; /drone</span></a>
39
+ </div>
40
+
41
+ <h2 id="operate">Operate</h2>
42
+ <div class="jgrid">
43
+ <a class="jcard" href="operator/index.html"><div class="jno">03 // SESSION</div><h3 id="card-operator-guide">Operator guide</h3><p>Run foreground OMP with the Rig extension: current CNet projection, inline query/action cards, the Swarm Commander model role, exact-run attach, placement, and <code>rig doctor</code>.</p><span class="jcmd">/fleet · /tasks · /drone</span></a>
44
+ <a class="jcard" href="gate/index.html"><div class="jno">04 // GATE</div><h3 id="card-merge-gate">The strict merge gate</h3><p>Nothing merges on vibes. GitHub review approval, green CI, resolved threads, and the SHA-pinned merge &mdash; the full gate.</p><span class="jcmd">--match-head-commit &lt;sha&gt;</span></a>
45
+ <a class="jcard" href="../cli/index.html"><div class="jno">05 // CLI</div><h3 id="card-cli-reference">CLI reference</h3><p>The launcher and the exact headless CLI: bare <code>rig</code>, <code>rig doctor</code>, version checks, workspace targeting, and the command groups that run the same operations for scripts and CI.</p><span class="jcmd">$ rig doctor</span></a>
46
+ </div>
47
+
48
+ <h2 id="architecture">Architecture</h2>
49
+ <div class="jgrid">
50
+ <a class="card" href="architecture/index.html"><span class="ic">LAYERS</span><h4>How Rig works</h4><p>The OMP session, Rig extension, workflow engine, task graph, plugin/package loading, and worktree-isolated execution path.</p></a>
51
+ <a class="card" href="entities/index.html"><span class="ic">DATA</span><h4>Entities &amp; data model</h4><p>Tasks, runs, runtimes, worktrees, workflow entries, and the status fields that flow through the run journal and read-model.</p></a>
52
+ <a class="card" href="security/index.html"><span class="ic">RELAY</span><h4>Security &amp; relay</h4><p>Encrypted OMP collab semantics, the <code>wss://where.rig-does.work</code> relay boundary, sandbox evidence, and trust rules.</p></a>
53
+ <a class="card" href="environment/index.html"><span class="ic">ENV</span><h4>Environment variables</h4><p>Every <code>RIG_*</code> knob in one place &mdash; runtime adapter, sandbox switches, relay/registry overrides, GitHub auth.</p></a>
54
+ </div>
55
+
56
+ <h2 id="extend">Extend</h2>
57
+ <div class="jgrid">
58
+ <a class="jcard" href="../plugins/index.html"><div class="jno">07 // PLUGINS</div><h3 id="card-plugin-authoring">Plugins &amp; packages</h3><p>Current package semantics for the bundled Rig extension, project plugin list, task-source adapters, validators, hooks, and capabilities.</p><span class="jcmd">packages + extension</span></a>
59
+ <a class="jcard" href="pi-extensions/index.html"><div class="jno">08 // OMP/Pi</div><h3 id="card-pi-extensions">OMP/Pi extensions</h3><p>Installable packages that add tools, slash commands, subagents, and behaviors to OMP/Pi, declared in <code>runtime.pi.packages</code> and materialized into <code>.pi/settings.json</code>.</p><span class="jcmd">rig pi add</span></a>
60
+ <a class="jcard" href="../skills/index.html"><div class="jno">09 // SKILLS</div><h3 id="card-skills">Skills</h3><p>Standing prompt context for OMP/Pi sessions: where skill content lives now, how it is packaged, and what remains operator-owned.</p><span class="jcmd">SKILL.md</span></a>
61
+ <a class="jcard" href="packages/index.html"><div class="jno">10 // ENGINE</div><h3 id="card-packages">Packages</h3><p>The Bun-first package graph: the three-package mechanism floor plus the plugin packages composed above it.</p><span class="jcmd">package graph</span></a>
62
+ </div>
63
+
64
+ <h2 id="in-one-paragraph">What Rig is, in one paragraph</h2>
65
+ <p>Bare <code>rig</code> launches foreground OMP with the bundled Rig extension. From that one transcript you dispatch through inline CNet actions or the Swarm Commander model role, watch detached drones, and attach to one exact run when direct interaction is needed. Every run is its own supervised OMP session (<code>runId === sessionId</code>) with an isolated worktree, runtime home, credentials, compiled binaries, and OS sandbox. Its journal is projected back into the foreground cnet.</p>
66
+
67
+ <div class="nextnav"><a href="../docs/capabilities/index.html"><span class="dir">Next &rarr;</span><span class="ttl">Capabilities</span></a></div>
68
+ </main></div><footer><div class="wrap"><div class="foot"><div class="col"><h5>orchestrate</h5><a href="../docs/getting-started/index.html">getting started</a><a href="../docs/runs/index.html">the run lifecycle</a><a href="../docs/operator/index.html">operator guide</a><a href="../docs/gate/index.html">the merge gate</a></div><div class="col"><h5>extend</h5><a href="../plugins/index.html">plugin authoring</a><a href="../skills/index.html">skills guide</a><a href="../docs/pi-extensions/index.html">OMP/Pi extensions</a><a href="../docs/packages/index.html">packages</a></div><div class="col"><h5>live</h5><a href="../index.html">the home rig</a><a href="../cli/index.html">cli reference</a><a href="https://where.rig-does.work/install">install script</a></div><div class="sig">Rig is the OMP session extension.<br><span class="blk">You are the operator.</span><br>release: rig --version</div></div></div></footer><script src="../assets/rig.js"></script><script src="../assets/site.js?v=v9"></script></body></html>
@@ -0,0 +1,49 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Operator guide // RIG</title><meta property="og:image" content="https://how.rig-does.work/assets/og-card.png"><meta name="twitter:card" content="summary_large_image"><meta name="description" content="Operate foreground OMP through inline CNet cards, the Swarm Commander model role, placement, and exact detached-run terminal or web attach."><meta property="og:title" content="Operator guide // RIG"><meta property="og:description" content="Operate foreground OMP through inline CNet cards, the Swarm Commander model role, placement, and exact detached-run terminal or web attach."><link rel="stylesheet" href="../../assets/rig.css?v=v9"><link rel="stylesheet" href="../../assets/site.css?v=v9"><link rel="icon" type="image/svg+xml" href="../../assets/favicon.svg"></head><body><canvas id="docfield"></canvas><nav class="nav"><div class="nav-in"><a class="brand" href="../../index.html"><span class="mk"></span><span class="blk">Rig</span></a><button class="burger" onclick="document.getElementById('nl').classList.toggle('open')">menu</button><div class="nav-links" id="nl"><button class="nsearch" type="button" onclick="rigSearchOpen()">search<kbd>&#8984;K</kbd></button><a href="../../index.html" class="">overview</a><a href="../../docs/index.html" class="active">docs</a><a href="../../plugins/index.html" class="">plugins</a><a href="../../skills/index.html" class="">skills</a><a href="../../cli/index.html" class="">cli</a><a href="../../config/index.html" class="">config</a><a href="https://github.com/humanity-org/rig" class="ext">github</a></div></div></nav><div class="docwrap"><aside class="sidebar"><div class="grp">START</div><a href="../../docs/index.html" class="">docs home</a><a href="../../docs/capabilities/index.html" class="">capabilities</a><a href="../../docs/getting-started/index.html" class="">getting started</a><div class="grp">RUN</div><a href="../../docs/runs/index.html" class="">the run lifecycle</a><a href="../../docs/operator/index.html" class="active">operator guide</a><a href="../../docs/swarm-commander/index.html" class="">swarm commander</a><a href="../../docs/fleet-irc/index.html" class="">drone messages</a><a href="../../docs/agent-tools/index.html" class="">agent tools</a><a href="../../docs/gate/index.html" class="">the merge gate</a><a href="../../docs/troubleshooting/index.html" class="">troubleshooting</a><div class="grp">ARCHITECTURE</div><a href="../../docs/architecture/index.html" class="">how rig works</a><a href="../../docs/entities/index.html" class="">entities & data model</a><a href="../../docs/server/index.html" class="">OMP relay/web</a><a href="../../docs/security/index.html" class="">security & trust</a><a href="../../docs/environment/index.html" class="">environment variables</a><div class="grp">EXTEND</div><a href="../../plugins/index.html" class="">plugin authoring</a><a href="../../plugins/examples/index.html" class="">plugin examples</a><a href="../../docs/pi-extensions/index.html" class="">OMP/Pi extensions</a><a href="../../skills/index.html" class="">skills</a><a href="../../docs/task-sources/index.html" class="">task sources</a><a href="../../docs/validators/index.html" class="">validators & hooks</a><div class="grp">OPERATE</div><a href="../../cli/index.html" class="">cli reference</a><a href="../../config/index.html" class="">rig.config.ts</a><a href="../../docs/recipes/index.html" class="">recipes</a><a href="../../docs/glossary/index.html" class="">glossary</a><a href="../../docs/faq/index.html" class="">faq</a><div class="grp">ENGINE</div><a href="../../docs/packages/index.html" class="">packages</a></aside><main class="doc">
2
+ <h1>Operator guide</h1>
3
+ <p class="lede">Operate one foreground OMP conversation. Bare <code>rig</code> loads the Rig extension for the workspace; the bounded CNet projection, inline queries and actions, and the Swarm Commander model role all live there.</p>
4
+
5
+ <h2 id="session">The session surface</h2>
6
+ <table class="t"><thead><tr><th>surface</th><th>what it does</th></tr></thead><tbody>
7
+ <tr><td>CNet</td><td>Maintains a bounded current projection and records explicit query/action receipts in the transcript.</td></tr>
8
+ <tr><td>attention items</td><td>Inline cards for runs, approvals, or questions that currently need operator input.</td></tr>
9
+ <tr><td>Swarm Commander</td><td>The configured model role in foreground OMP. It receives the bounded current projection and uses generated, discoverable CNet tools; it is not another process.</td></tr>
10
+ <tr><td>CNet queries</td><td><code>/fleet</code>, <code>/tasks</code>, and <code>/drone [ref]</code> materialize inline CNet cards in the transcript.</td></tr>
11
+ </tbody></table>
12
+
13
+ <h2 id="cnet">The cnet</h2>
14
+ <p>The CNet is the Rig extension&rsquo;s typed layer inside the OMP transcript. Feed items keep the current fleet aggregate plus active and attention-requiring runs updated. <code>/fleet</code>, <code>/tasks</code>, and <code>/drone</code> append explicit snapshots; actions append requests and exact receipts.</p>
15
+ <p>Current run fields come from the run plugin&rsquo;s read model over detached OMP session journals. OMP remains the only foreground history writer.</p>
16
+
17
+ <h2 id="attention">Attention in the CNet</h2>
18
+ <p>Runs that need operator input and pending approval or question requests appear as ordinary inline CNet items. Each item exposes only actions contributed by its owning plugin. There is no separate pin above the editor.</p>
19
+
20
+ <h2 id="swarm-commander">The Swarm Commander</h2>
21
+ <p>The Swarm Commander lives in the chat. At each provider call it receives a bounded snapshot of currently visible CNet items. Loaded plugins generate discoverable query and action tools from their registrations, so tailored binaries expose the tools contributed by their actual plugin set.</p>
22
+ <p>Tool names are generated implementation details, not a fixed public command vocabulary. Mutations must target the observed item id, target, and revision, and success means an exact durable CNet receipt. The role does not own a background process, standing-order subsystem, or autonomous wake loop.</p>
23
+
24
+ <h2 id="fiber-line">Give direction</h2>
25
+ <p>Use the enabled <b>Send direction</b> action on an exact run card, or ask the Commander role to use that generated CNet action. The run-control result must carry the exact session and effect receipt before CNet records it as applied.</p>
26
+
27
+ <h2 id="cnet-queries">Inline CNet queries</h2>
28
+ <table class="t"><thead><tr><th>command</th><th>what it materializes</th></tr></thead><tbody>
29
+ <tr><td><code>/fleet</code></td><td>One aggregate fleet card with counts, bounded recent rows, and the fleet-owned dispatch action.</td></tr>
30
+ <tr><td><code>/tasks</code></td><td>One bounded task summary with task-owned create, rename, and close actions; exact dispatch is the <code>/fleet</code> action or <code>rig run dispatch &lt;taskId&gt;</code>.</td></tr>
31
+ <tr><td><code>/drone [ref]</code></td><td>One exact run card with current status, placement, stage progress, recent timeline, error or PR facts when present, controls, and terminal/web attach. With no ref, it targets the newest projected run.</td></tr>
32
+ </tbody></table>
33
+
34
+ <h2 id="attach">Attach to a detached drone</h2>
35
+ <p>Attach always targets one exact detached run. Use <code>rig attach &lt;run-id&gt;</code> for terminal attach or add <code>--web</code> for web attach; the same actions are available on that run&rsquo;s inline <code>/drone</code> card. Rig resolves the private run credential internally. Bare <code>rig</code> and the Swarm Commander role are never attach targets.</p>
36
+
37
+ <h2 id="placement">Placement and endpoints</h2>
38
+ <p>Run placement is selected from the endpoint stored in <code>.rig/state/connection.json</code>. Set <code>RIG_REMOTE_ALIAS</code> to override it. Local and remote only say where the detached drone runs; CNet controls and attach behavior do not split into different modes.</p>
39
+
40
+ <h2 id="doctor">Diagnosis</h2>
41
+ <pre class="code"><span class="p">$</span> rig doctor</pre>
42
+ <p><code>rig doctor</code> is the CLI diagnosis path for sandbox backend health and collab seams. Use it when the session cannot attach cleanly, when sandbox execution needs proof, or when relay behavior looks wrong.</p>
43
+
44
+ <h2 id="authority">Runtime authority</h2>
45
+ <p>Foreground OMP owns cwd, transcript, tools, prompts, participants, package-loaded capabilities, and its JSONL history. Rig adds the CNet reducer, rendering, generated tools, and typed actions inside that session. Each detached drone&rsquo;s own OMP JSONL session journal is authoritative for that run; inline CNet cards project it.</p>
46
+ <div class="nextnav"><a href="../../docs/runs/index.html"><span class="dir">&larr; Back</span><span class="ttl">The run lifecycle</span></a><a href="../../docs/swarm-commander/index.html"><span class="dir">Next &rarr;</span><span class="ttl">Swarm Commander</span></a></div>
47
+ </main></div><footer><div class="wrap"><div class="foot"><div class="col"><h5>orchestrate</h5><a href="../../docs/getting-started/index.html">getting started</a><a href="../../docs/runs/index.html">the run lifecycle</a><a href="../../docs/operator/index.html">operator guide</a><a href="../../docs/gate/index.html">the merge gate</a></div><div class="col"><h5>extend</h5><a href="../../plugins/index.html">plugin authoring</a><a href="../../skills/index.html">skills guide</a><a href="../../docs/pi-extensions/index.html">OMP/Pi extensions</a><a href="../../docs/packages/index.html">packages</a></div><div class="col"><h5>live</h5><a href="../../index.html">the home rig</a><a href="../../cli/index.html">cli reference</a><a href="https://where.rig-does.work/install">install script</a></div><div class="sig">Rig is the OMP session extension.<br><span class="blk">You are the operator.</span><br>release: rig --version</div></div></div></footer><script>
48
+ (function(){var F=['⠋','⠙','⠹','⠸','⠼','⠴','⠦','⠧','⠇','⠏'],s1=document.getElementById('sp1'),s2=document.getElementById('sp2'),t1=document.getElementById('spt1');if(!s1)return;var stages=['opening OMP session','loading Rig session'],i=0,st=0;setInterval(function(){i=(i+1)%F.length;s1.textContent=F[i];if(s2)s2.textContent=F[(i+4)%F.length];},150);setInterval(function(){st=(st+1)%stages.length;if(t1)t1.textContent=stages[st];},2600);})();
49
+ </script><script src="../../assets/rig.js"></script><script src="../../assets/site.js?v=v9"></script></body></html>
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Packages // RIG</title><meta property="og:image" content="https://how.rig-does.work/assets/og-card.png"><meta name="twitter:card" content="summary_large_image"><meta name="description" content="Rig's package graph: a 3-package mechanism floor (@rig/contracts, @rig/core, @rig/kernel-seed) and ~30 @rig/* plugins composed on top."><meta property="og:title" content="Packages // RIG"><meta property="og:description" content="Rig's package graph: a 3-package mechanism floor (@rig/contracts, @rig/core, @rig/kernel-seed) and ~30 @rig/* plugins composed on top."><link rel="stylesheet" href="../../assets/rig.css?v=v9"><link rel="stylesheet" href="../../assets/site.css?v=v9"><link rel="icon" type="image/svg+xml" href="../../assets/favicon.svg"></head><body><canvas id="docfield"></canvas><nav class="nav"><div class="nav-in"><a class="brand" href="../../index.html"><span class="mk"></span><span class="blk">Rig</span></a><button class="burger" onclick="document.getElementById('nl').classList.toggle('open')">menu</button><div class="nav-links" id="nl"><button class="nsearch" type="button" onclick="rigSearchOpen()">search<kbd>&#8984;K</kbd></button><a href="../../index.html" class="">overview</a><a href="../../docs/index.html" class="">docs</a><a href="../../plugins/index.html" class="">plugins</a><a href="../../skills/index.html" class="">skills</a><a href="../../cli/index.html" class="">cli</a><a href="../../config/index.html" class="">config</a><a href="https://github.com/humanity-org/rig" class="ext">github</a></div></div></nav><div class="docwrap"><aside class="sidebar"><div class="grp">START</div><a href="../../docs/index.html" class="">docs home</a><a href="../../docs/capabilities/index.html" class="">capabilities</a><a href="../../docs/getting-started/index.html" class="">getting started</a><div class="grp">RUN</div><a href="../../docs/runs/index.html" class="">the run lifecycle</a><a href="../../docs/operator/index.html" class="">operator guide</a><a href="../../docs/swarm-commander/index.html" class="">swarm commander</a><a href="../../docs/fleet-irc/index.html" class="">drone messages</a><a href="../../docs/agent-tools/index.html" class="">agent tools</a><a href="../../docs/gate/index.html" class="">the merge gate</a><a href="../../docs/troubleshooting/index.html" class="">troubleshooting</a><div class="grp">ARCHITECTURE</div><a href="../../docs/architecture/index.html" class="">how rig works</a><a href="../../docs/entities/index.html" class="">entities & data model</a><a href="../../docs/server/index.html" class="">OMP relay/web</a><a href="../../docs/security/index.html" class="">security & trust</a><a href="../../docs/environment/index.html" class="">environment variables</a><div class="grp">EXTEND</div><a href="../../plugins/index.html" class="">plugin authoring</a><a href="../../plugins/examples/index.html" class="">plugin examples</a><a href="../../docs/pi-extensions/index.html" class="">OMP/Pi extensions</a><a href="../../skills/index.html" class="">skills</a><a href="../../docs/task-sources/index.html" class="">task sources</a><a href="../../docs/validators/index.html" class="">validators & hooks</a><div class="grp">OPERATE</div><a href="../../cli/index.html" class="">cli reference</a><a href="../../config/index.html" class="">rig.config.ts</a><a href="../../docs/recipes/index.html" class="">recipes</a><a href="../../docs/glossary/index.html" class="">glossary</a><a href="../../docs/faq/index.html" class="">faq</a><div class="grp">ENGINE</div><a href="../../docs/packages/index.html" class="active">packages</a></aside><main class="doc">
2
+ <h1>Packages</h1>
3
+ <p class="lede">Rig is a 3-package mechanism floor with ~30 plugins composed on top. The floor never depends on a plugin; plugins depend on the floor and reach each other through capabilities.</p>
4
+ <h2 id="floor">The mechanism floor</h2>
5
+ <p>These three packages are the only mechanism floor. Everything else &mdash; including the CLI launcher and CNet surface &mdash; is composed above it.</p>
6
+ <table class="t"><thead><tr><th>package</th><th>purpose</th></tr></thead><tbody>
7
+ <tr><td><code>@rig/contracts</code></td><td>Schemas, types, IPC/panel shapes. The dependency root.</td></tr>
8
+ <tr><td><code>@rig/core</code></td><td>Config + plugin-composition library (<code>defineConfig</code>/<code>definePlugin</code>, the plugin host). Harness-agnostic &mdash; not a product host or runtime.</td></tr>
9
+ <tr><td><code>@rig/kernel-seed</code></td><td>Irreducible bootstrap seed, plugin ABI, and capability resolver.</td></tr>
10
+ </tbody></table>
11
+ <h2 id="applications">Applications</h2>
12
+ <p>Three deployable applications sit above the floor and plugins. <code>apps/rig</code> (<code>@rig/rig</code>) is the Rig application: the sole product plugin graph, the process entrypoints (<code>bin/rig</code>, <code>rig-agent</code>, <code>rig-browser-tool</code>), argv routing, and the official build invocation. <code>apps/rig-relay-registry</code> (<code>@rig/rig-relay-registry</code>) is a standalone, content-blind, in-memory collab relay + run-projection registry that depends only on <code>@rig/contracts</code>. <code>apps/rig-collab-web</code> (<code>@rig/collab-web</code>) is the browser guest app for collab live sessions, vendored from <code>@oh-my-pi/collab-web</code> and served at where.rig-does.work.</p>
13
+ <h2 id="plugins">The plugins</h2>
14
+ <p>The ~30 <code>@rig/*</code> plugins carry every product surface. A representative slice:</p>
15
+ <table class="t"><thead><tr><th>plugin</th><th>role</th></tr></thead><tbody>
16
+ <tr><td><code>@rig/executable-binary-target-plugin</code></td><td>Build-time executable assembly + target-specific standard/tailored ArtifactSet compiler, invoked by <code>apps/rig</code>&rsquo;s build. Reads a build descriptor and never imports the app &mdash; not the CLI launcher.</td></tr>
17
+ <tr><td><code>@rig/product-entrypoint-plugin</code></td><td>Bare <code>rig</code> commands, help, and foreground OMP launch/resume with OMP-native session history.</td></tr>
18
+ <tr><td><code>@rig/omp-extension-plugin</code></td><td>OMP CNet runtime: bounded transcript projection, inline cards, model control, generated discoverable tools, and client-side exact-run attach effects.</td></tr>
19
+ <tr><td><code>@rig/run-plugin</code></td><td>Run journal codec, run read model, current fleet/run/attention CNet projections, controls, and exact-run attach actions.</td></tr>
20
+ <tr><td><code>@rig/tasks-plugin</code></td><td>Task source access, derived state, bounded <code>/tasks</code> projection, and task-owned create/rename/close actions.</td></tr>
21
+ <tr><td><code>@rig/transport-plugin</code></td><td>Detached-drone transport: placement, run dispatch, supervision, room registration, discovery, exact-run attach resolution, and relay/registry URL resolution.</td></tr>
22
+ <tr><td><code>@rig/config-plugin</code></td><td><code>rig config get/set</code> and config read/write for the headless CLI.</td></tr>
23
+ <tr><td><code>@rig/github-provider-plugin</code></td><td>Swappable GitHub SCM provider (auth, credentials, Projects, issue analysis).</td></tr>
24
+ <tr><td><code>@rig/linear-plugin</code></td><td>Linear task source.</td></tr>
25
+ <tr><td><code>@rig/pr-review-plugin</code></td><td>Swappable strict PR-review / merge-gate policy.</td></tr>
26
+ <tr><td><code>@rig/lifecycle-plugin</code></td><td>Run lifecycle: validate / verify / commit / push / PR / merge / source-closeout stages.</td></tr>
27
+ <tr><td><code>@rig/isolation-plugin</code></td><td>Swappable runtime-isolation backend (worktree/sandbox provisioning).</td></tr>
28
+ <tr><td><code>@rig/harness-plugin</code></td><td>Agent-harness provider capability; owns <code>rig pi &hellip;</code> (Pi extension package management).</td></tr>
29
+ </tbody></table>
30
+ <p class="dim">Others: <code>@rig/init-plugin</code>, <code>@rig/doctor-plugin</code>, <code>@rig/dependency-graph-plugin</code>, <code>@rig/docs-drift-plugin</code>, <code>@rig/blocker-classifier-plugin</code>, <code>@rig/browser-plugin</code>, <code>@rig/artefacts-plugin</code>, <code>@rig/memory-plugin</code>, <code>@rig/notifications-plugin</code>, <code>@rig/guard-plugin</code>, <code>@rig/workspace-plugin</code>, <code>@rig/repos-plugin</code>, <code>@rig/planning-plugin</code>.</p>
31
+ <h2 id="pinning">Pinning</h2>
32
+ <p>The Rig application always supplies its first-party graph. Project-specific plugin extras are composed in <code>.rig/rig.config.ts</code>. OMP/Pi packages are declared in <code>runtime.pi.packages</code> and materialized into <code>.pi/settings.json</code> at session start. Nothing is auto-scanned.</p>
33
+ <h2 id="distribution">Distribution</h2>
34
+ <p>The install script (<code>curl -fsSL https://where.rig-does.work/install | bash</code>) installs the global <code>rig</code> binary. That application carries its first-party graph and process entrypoints; a fresh install needs no per-project first-party package install.</p>
35
+ <div class="nextnav"><a href="../../docs/faq/index.html"><span class="dir">&larr; Back</span><span class="ttl">FAQ</span></a></div>
36
+ </main></div><footer><div class="wrap"><div class="foot"><div class="col"><h5>orchestrate</h5><a href="../../docs/getting-started/index.html">getting started</a><a href="../../docs/runs/index.html">the run lifecycle</a><a href="../../docs/operator/index.html">operator guide</a><a href="../../docs/gate/index.html">the merge gate</a></div><div class="col"><h5>extend</h5><a href="../../plugins/index.html">plugin authoring</a><a href="../../skills/index.html">skills guide</a><a href="../../docs/pi-extensions/index.html">OMP/Pi extensions</a><a href="../../docs/packages/index.html">packages</a></div><div class="col"><h5>live</h5><a href="../../index.html">the home rig</a><a href="../../cli/index.html">cli reference</a><a href="https://where.rig-does.work/install">install script</a></div><div class="sig">Rig is the OMP session extension.<br><span class="blk">You are the operator.</span><br>release: rig --version</div></div></div></footer><script>document.querySelectorAll('[data-tab]').forEach(function(t){t.onclick=function(){document.querySelectorAll('[data-tab]').forEach(function(x){x.classList.remove('on')});document.querySelectorAll('[data-cmd]').forEach(function(x){x.style.display='none'});t.classList.add('on');var c=document.querySelector('[data-cmd="'+t.dataset.tab+'"]');if(c)c.style.display='flex';};});document.querySelectorAll('.cp').forEach(function(b){b.onclick=function(){var code=b.parentElement.querySelector('code');if(navigator.clipboard)navigator.clipboard.writeText(code.innerText);var o=b.innerText;b.innerText='copied';setTimeout(function(){b.innerText=o;},1200);};});</script><script src="../../assets/rig.js"></script><script src="../../assets/site.js?v=v9"></script></body></html>
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>OMP/Pi extensions // RIG</title><meta property="og:image" content="https://how.rig-does.work/assets/og-card.png"><meta name="twitter:card" content="summary_large_image"><meta name="description" content="Extend OMP/Pi live sessions with explicit packages: rig pi add/search/list, runtime.pi.packages, .pi/settings.json, and session capability reporting."><meta property="og:title" content="OMP/Pi extensions // RIG"><meta property="og:description" content="Extend OMP/Pi live sessions with explicit packages: rig pi add/search/list, runtime.pi.packages, .pi/settings.json, and session capability reporting."><link rel="stylesheet" href="../../assets/rig.css?v=v9"><link rel="stylesheet" href="../../assets/site.css?v=v9"><link rel="icon" type="image/svg+xml" href="../../assets/favicon.svg"></head><body><canvas id="docfield"></canvas><nav class="nav"><div class="nav-in"><a class="brand" href="../../index.html"><span class="mk"></span><span class="blk">Rig</span></a><button class="burger" onclick="document.getElementById('nl').classList.toggle('open')">menu</button><div class="nav-links" id="nl"><button class="nsearch" type="button" onclick="rigSearchOpen()">search<kbd>&#8984;K</kbd></button><a href="../../index.html" class="">overview</a><a href="../../docs/index.html" class="active">docs</a><a href="../../plugins/index.html" class="">plugins</a><a href="../../skills/index.html" class="">skills</a><a href="../../cli/index.html" class="">cli</a><a href="../../config/index.html" class="">config</a><a href="https://github.com/humanity-org/rig" class="ext">github</a></div></div></nav><div class="docwrap"><aside class="sidebar"><div class="grp">START</div><a href="../../docs/index.html" class="">docs home</a><a href="../../docs/capabilities/index.html" class="">capabilities</a><a href="../../docs/getting-started/index.html" class="">getting started</a><div class="grp">RUN</div><a href="../../docs/runs/index.html" class="">the run lifecycle</a><a href="../../docs/operator/index.html" class="">operator guide</a><a href="../../docs/swarm-commander/index.html" class="">swarm commander</a><a href="../../docs/fleet-irc/index.html" class="">drone messages</a><a href="../../docs/agent-tools/index.html" class="">agent tools</a><a href="../../docs/gate/index.html" class="">the merge gate</a><a href="../../docs/troubleshooting/index.html" class="">troubleshooting</a><div class="grp">ARCHITECTURE</div><a href="../../docs/architecture/index.html" class="">how rig works</a><a href="../../docs/entities/index.html" class="">entities & data model</a><a href="../../docs/server/index.html" class="">OMP relay/web</a><a href="../../docs/security/index.html" class="">security & trust</a><a href="../../docs/environment/index.html" class="">environment variables</a><div class="grp">EXTEND</div><a href="../../plugins/index.html" class="">plugin authoring</a><a href="../../plugins/examples/index.html" class="">plugin examples</a><a href="../../docs/pi-extensions/index.html" class="active">OMP/Pi extensions</a><a href="../../skills/index.html" class="">skills</a><a href="../../docs/task-sources/index.html" class="">task sources</a><a href="../../docs/validators/index.html" class="">validators & hooks</a><div class="grp">OPERATE</div><a href="../../cli/index.html" class="">cli reference</a><a href="../../config/index.html" class="">rig.config.ts</a><a href="../../docs/recipes/index.html" class="">recipes</a><a href="../../docs/glossary/index.html" class="">glossary</a><a href="../../docs/faq/index.html" class="">faq</a><div class="grp">ENGINE</div><a href="../../docs/packages/index.html" class="">packages</a></aside><main class="doc">
2
+ <h1>OMP/Pi extensions</h1>
3
+ <p class="lede">OMP/Pi extensions are installable live-session behavior: tools, slash commands, subagents, and session integrations. They are community npm packages loaded into the live Pi session &mdash; distinct from Rig plugins, which are <code>definePlugin</code> packages in the product plugin graph.</p>
4
+ <h2 id="install">Install and pin</h2>
5
+ <p>Pi is <code>@oh-my-pi/pi-coding-agent</code>, the agent harness a run drives. The <code>rig pi</code> command group (owned by <code>@rig/harness-plugin</code>) manages the extension packages a session loads:</p>
6
+ <pre class="code"><span class="p">$</span> rig pi search subagents
7
+ <span class="p">$</span> rig pi add pi-subagents
8
+ <span class="p">$</span> rig pi list</pre>
9
+ <p><code>rig pi add</code> writes the package into the project&rsquo;s <code>.pi/settings.json</code>. Team-wide packages are declared in <code>runtime.pi.packages</code> &mdash; npm specifiers or git sources &mdash; which Rig materializes at session start. Foreground OMP and detached drones receive the configured set regardless of where a drone is placed.</p>
10
+ <h2 id="capabilities">Session reporting</h2>
11
+ <p><code>/drone</code> reports the capabilities that exact detached OMP session loaded: tools, prompts, skills, hooks, extension commands, and packages. Foreground-only capabilities are never projected onto a drone, and placement does not change that boundary.</p>
12
+ <h2 id="plugin-split">Rig plugin or OMP/Pi extension?</h2>
13
+ <p>Use a <b>Rig plugin</b> (a <code>definePlugin</code> package in the product plugin graph) for validators, task sources, hooks, roles, skills, and workflow metadata &mdash; the workflow automation Rig runs around a session. Use an <b>OMP/Pi extension</b> (a community npm package) for behavior <i>inside</i> the live Pi session itself. The two are separate layers that meet only where the session reports what it loaded.</p>
14
+ <div class="nextnav"><a href="../../plugins/examples/index.html"><span class="dir">&larr; Back</span><span class="ttl">Plugin examples</span></a><a href="../../skills/index.html"><span class="dir">Next &rarr;</span><span class="ttl">Skills</span></a></div>
15
+ </main></div><footer><div class="wrap"><div class="foot"><div class="col"><h5>orchestrate</h5><a href="../../docs/getting-started/index.html">getting started</a><a href="../../docs/runs/index.html">the run lifecycle</a><a href="../../docs/operator/index.html">operator guide</a><a href="../../docs/gate/index.html">the merge gate</a></div><div class="col"><h5>extend</h5><a href="../../plugins/index.html">plugin authoring</a><a href="../../skills/index.html">skills guide</a><a href="../../docs/pi-extensions/index.html">OMP/Pi extensions</a><a href="../../docs/packages/index.html">packages</a></div><div class="col"><h5>live</h5><a href="../../index.html">the home rig</a><a href="../../cli/index.html">cli reference</a><a href="https://where.rig-does.work/install">install script</a></div><div class="sig">Rig is the OMP session extension.<br><span class="blk">You are the operator.</span><br>release: rig --version</div></div></div></footer><script src="../../assets/rig.js"></script><script src="../../assets/site.js?v=v9"></script></body></html>
@@ -0,0 +1,28 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Recipes // RIG</title><meta property="og:image" content="https://how.rig-does.work/assets/og-card.png"><meta name="twitter:card" content="summary_large_image"><meta name="description" content="Copy-paste current Rig flows: install, open foreground OMP with Rig, work another workspace, attach to one exact detached drone, and use the headless CLI."><meta property="og:title" content="Recipes // RIG"><meta property="og:description" content="Copy-paste current Rig flows: install, open foreground OMP with Rig, work another workspace, attach to one exact detached drone, and use the headless CLI."><link rel="stylesheet" href="../../assets/rig.css?v=v9"><link rel="stylesheet" href="../../assets/site.css?v=v9"><link rel="icon" type="image/svg+xml" href="../../assets/favicon.svg"></head><body data-doc-theme="steps"><canvas id="docfield"></canvas><nav class="nav"><div class="nav-in"><a class="brand" href="../../index.html"><span class="mk"></span><span class="blk">Rig</span></a><button class="burger" onclick="document.getElementById('nl').classList.toggle('open')">menu</button><div class="nav-links" id="nl"><button class="nsearch" type="button" onclick="rigSearchOpen()">search<kbd>&#8984;K</kbd></button><a href="../../index.html" class="">overview</a><a href="../../docs/index.html" class="active">docs</a><a href="../../plugins/index.html" class="">plugins</a><a href="../../skills/index.html" class="">skills</a><a href="../../cli/index.html" class="">cli</a><a href="../../config/index.html" class="">config</a><a href="https://github.com/humanity-org/rig" class="ext">github</a></div></div></nav><div class="docwrap"><aside class="sidebar"><div class="grp">START</div><a href="../../docs/index.html" class="">docs home</a><a href="../../docs/capabilities/index.html" class="">capabilities</a><a href="../../docs/getting-started/index.html" class="">getting started</a><div class="grp">RUN</div><a href="../../docs/runs/index.html" class="">the run lifecycle</a><a href="../../docs/operator/index.html" class="">operator guide</a><a href="../../docs/swarm-commander/index.html" class="">swarm commander</a><a href="../../docs/fleet-irc/index.html" class="">drone messages</a><a href="../../docs/agent-tools/index.html" class="">agent tools</a><a href="../../docs/gate/index.html" class="">the merge gate</a><a href="../../docs/troubleshooting/index.html" class="">troubleshooting</a><div class="grp">ARCHITECTURE</div><a href="../../docs/architecture/index.html" class="">how rig works</a><a href="../../docs/entities/index.html" class="">entities & data model</a><a href="../../docs/server/index.html" class="">OMP relay/web</a><a href="../../docs/security/index.html" class="">security & trust</a><a href="../../docs/environment/index.html" class="">environment variables</a><div class="grp">EXTEND</div><a href="../../plugins/index.html" class="">plugin authoring</a><a href="../../plugins/examples/index.html" class="">plugin examples</a><a href="../../docs/pi-extensions/index.html" class="">OMP/Pi extensions</a><a href="../../skills/index.html" class="">skills</a><a href="../../docs/task-sources/index.html" class="">task sources</a><a href="../../docs/validators/index.html" class="">validators & hooks</a><div class="grp">OPERATE</div><a href="../../cli/index.html" class="">cli reference</a><a href="../../config/index.html" class="">rig.config.ts</a><a href="../../docs/recipes/index.html" class="active">recipes</a><a href="../../docs/glossary/index.html" class="">glossary</a><a href="../../docs/faq/index.html" class="">faq</a><div class="grp">ENGINE</div><a href="../../docs/packages/index.html" class="">packages</a></aside><main class="doc">
2
+ <h1>Recipes</h1>
3
+ <p class="lede">Current copy-paste flows. Install, open foreground OMP with bare <code>rig</code>, work another workspace, attach to one exact detached drone, and use the exact headless CLI when scripting.</p>
4
+ <h2 id="first-session">Install and open the Rig session</h2>
5
+ <pre class="code"><span class="p">$</span> curl -fsSL https://where.rig-does.work/install | bash
6
+ <span class="p">$</span> cd ~/work/app
7
+ <span class="p">$</span> rig</pre>
8
+ <p>Bare <code>rig</code> opens foreground OMP with the Rig extension. Use <code>/tasks</code>, <code>/fleet</code>, and <code>/drone [ref]</code> to materialize CNet cards inline; the Swarm Commander model role can answer from the same fleet snapshot.</p>
9
+ <h2 id="workspace">Open another workspace</h2>
10
+ <pre class="code"><span class="p">$</span> rig --workspace ~/work/other-repo</pre>
11
+ <p>Drive a project without <code>cd</code>-ing into it.</p>
12
+ <h2 id="collab">Attach to one drone</h2>
13
+ <pre class="code"><span class="p">$</span> rig attach 8a31e7
14
+ <span class="p">$</span> rig attach 8a31e7 --web</pre>
15
+ <p>Terminal and web attach target one exact live detached run. Rig resolves the private collab credential from run discovery; raw links are transport data and are not part of the public workflow.</p>
16
+ <h2 id="operate">Operate a run</h2>
17
+ <p>Use <code>/fleet</code> to materialize one fleet aggregate and <code>/drone &lt;run-id&gt;</code> for one exact drone card. Control and attach actions execute from CNet; approvals and questions appear as separate inline attention items.</p>
18
+ <h2 id="headless-cli">The headless CLI</h2>
19
+ <p>Beyond the interactive session, the exact CLI runs the same operations non-interactively &mdash; for diagnostics, scripting, CI, and agents:</p>
20
+ <pre class="code"><span class="p">$</span> rig doctor
21
+ <span class="p">$</span> rig config get workspace.sandbox
22
+ <span class="p">$</span> rig config set review.provider github
23
+ <span class="p">$</span> rig test all
24
+ <span class="p">$</span> rig pi search &lt;query&gt;
25
+ <span class="p">$</span> rig pi add &lt;package&gt;</pre>
26
+ <p>These run the same operations non-interactively &mdash; reach for the headless CLI from scripts, CI, and agents. Interactive day-to-day work flows through bare <code>rig</code>, <code>/fleet</code>, <code>/tasks</code>, <code>/drone</code>, and the Swarm Commander.</p>
27
+ <div class="nextnav"><a href="../../config/index.html"><span class="dir">&larr; Back</span><span class="ttl">rig.config.ts</span></a><a href="../../docs/glossary/index.html"><span class="dir">Next &rarr;</span><span class="ttl">Glossary</span></a></div>
28
+ </main></div><footer><div class="wrap"><div class="foot"><div class="col"><h5>orchestrate</h5><a href="../../docs/getting-started/index.html">getting started</a><a href="../../docs/runs/index.html">the run lifecycle</a><a href="../../docs/operator/index.html">operator guide</a><a href="../../docs/gate/index.html">the merge gate</a></div><div class="col"><h5>extend</h5><a href="../../plugins/index.html">plugin authoring</a><a href="../../skills/index.html">skills guide</a><a href="../../docs/pi-extensions/index.html">OMP/Pi extensions</a><a href="../../docs/packages/index.html">packages</a></div><div class="col"><h5>live</h5><a href="../../index.html">the home rig</a><a href="../../cli/index.html">cli reference</a><a href="https://where.rig-does.work/install">install script</a></div><div class="sig">Rig is the OMP session extension.<br><span class="blk">You are the operator.</span><br>release: rig --version</div></div></div></footer><script src="../../assets/rig.js"></script><script src="../../assets/site.js?v=v9"></script></body></html>
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>The run lifecycle // RIG</title><meta property="og:image" content="https://how.rig-does.work/assets/og-card.png"><meta name="twitter:card" content="summary_large_image"><meta name="description" content="The Rig run lifecycle: each run is a detached OMP drone, projected into inline CNet cards, attachable by exact run id, and closed through the strict merge gate."><meta property="og:title" content="The run lifecycle // RIG"><meta property="og:description" content="The Rig run lifecycle: each run is a detached OMP drone, projected into inline CNet cards, attachable by exact run id, and closed through the strict merge gate."><link rel="stylesheet" href="../../assets/rig.css?v=v9"><link rel="stylesheet" href="../../assets/site.css?v=v9"><link rel="icon" type="image/svg+xml" href="../../assets/favicon.svg"></head><body><canvas id="docfield"></canvas><nav class="nav"><div class="nav-in"><a class="brand" href="../../index.html"><span class="mk"></span><span class="blk">Rig</span></a><button class="burger" onclick="document.getElementById('nl').classList.toggle('open')">menu</button><div class="nav-links" id="nl"><button class="nsearch" type="button" onclick="rigSearchOpen()">search<kbd>&#8984;K</kbd></button><a href="../../index.html" class="">overview</a><a href="../../docs/index.html" class="active">docs</a><a href="../../plugins/index.html" class="">plugins</a><a href="../../skills/index.html" class="">skills</a><a href="../../cli/index.html" class="">cli</a><a href="../../config/index.html" class="">config</a><a href="https://github.com/humanity-org/rig" class="ext">github</a></div></div></nav><div class="docwrap"><aside class="sidebar"><div class="grp">START</div><a href="../../docs/index.html" class="">docs home</a><a href="../../docs/capabilities/index.html" class="">capabilities</a><a href="../../docs/getting-started/index.html" class="">getting started</a><div class="grp">RUN</div><a href="../../docs/runs/index.html" class="active">the run lifecycle</a><a href="../../docs/operator/index.html" class="">operator guide</a><a href="../../docs/swarm-commander/index.html" class="">swarm commander</a><a href="../../docs/fleet-irc/index.html" class="">drone messages</a><a href="../../docs/agent-tools/index.html" class="">agent tools</a><a href="../../docs/gate/index.html" class="">the merge gate</a><a href="../../docs/troubleshooting/index.html" class="">troubleshooting</a><div class="grp">ARCHITECTURE</div><a href="../../docs/architecture/index.html" class="">how rig works</a><a href="../../docs/entities/index.html" class="">entities & data model</a><a href="../../docs/server/index.html" class="">OMP relay/web</a><a href="../../docs/security/index.html" class="">security & trust</a><a href="../../docs/environment/index.html" class="">environment variables</a><div class="grp">EXTEND</div><a href="../../plugins/index.html" class="">plugin authoring</a><a href="../../plugins/examples/index.html" class="">plugin examples</a><a href="../../docs/pi-extensions/index.html" class="">OMP/Pi extensions</a><a href="../../skills/index.html" class="">skills</a><a href="../../docs/task-sources/index.html" class="">task sources</a><a href="../../docs/validators/index.html" class="">validators & hooks</a><div class="grp">OPERATE</div><a href="../../cli/index.html" class="">cli reference</a><a href="../../config/index.html" class="">rig.config.ts</a><a href="../../docs/recipes/index.html" class="">recipes</a><a href="../../docs/glossary/index.html" class="">glossary</a><a href="../../docs/faq/index.html" class="">faq</a><div class="grp">ENGINE</div><a href="../../docs/packages/index.html" class="">packages</a></aside><main class="doc">
2
+ <h1>The run lifecycle</h1>
3
+ <p class="lede">A run is a detached OMP (Pi) drone session: <code>runId === sessionId</code>, and its state is folded from that drone&rsquo;s OMP JSONL session journal. Runs dispatched through CNet use the same local-or-remote harness; you follow them through inline cards and can attach to one exact run.</p>
4
+ <h2 id="flow">The flow</h2>
5
+ <pre class="code"><span class="f">rig</span> → foreground OMP + Rig → /fleet or Swarm Commander → detached OMP drone
6
+ ↘ current CNet projection · inline /fleet · inline /drone · exact-run attach · strict gate → merge</pre>
7
+ <h2 id="stages">The 12-stage lifecycle</h2>
8
+ <table class="t"><thead><tr><th>stage</th><th>what to watch</th></tr></thead><tbody>
9
+ <tr><td>Open</td><td>Bare <code>rig</code> opens the OMP session for the workspace and starts the first fleet read.</td></tr>
10
+ <tr><td>Select</td><td><code>/tasks</code> materializes task cards inline; the Swarm Commander model role can also inspect tasks before dispatch.</td></tr>
11
+ <tr><td>Dispatch</td><td>A run is created and the CNet fleet projection updates.</td></tr>
12
+ <tr><td>Provision</td><td>The harness prepares a per-run worktree, runtime home, credentials, compiled binaries, native tools, and an OS sandbox.</td></tr>
13
+ <tr><td>Work</td><td>The drone works inside its OMP session; that session&rsquo;s JSONL journal is the run authority.</td></tr>
14
+ <tr><td>Unblock</td><td>Approval and user-input needs appear as inline attention items. Resolutions return exact CNet receipts.</td></tr>
15
+ <tr><td>Validate</td><td>Configured validators check the finished worktree before closeout side effects.</td></tr>
16
+ <tr><td>Verify</td><td>The completion review decides whether the task is actually done.</td></tr>
17
+ <tr><td>Commit</td><td>The lifecycle commits the run worktree changes through the repo-native git capability.</td></tr>
18
+ <tr><td>Push and PR</td><td>The branch syncs, pushes, and opens or reuses the pull request. The run projection exposes the PR URL when present.</td></tr>
19
+ <tr><td>Gate and merge</td><td>The strict merge gate waits for current-head review, green CI, resolved threads, and a SHA-pinned merge.</td></tr>
20
+ <tr><td>Closeout</td><td>Source closeout reflects the merged PR into the task source, then the CNet projection reaches its terminal state.</td></tr>
21
+ </tbody></table>
22
+ <h2 id="evidence-completion">Evidence-based completion</h2>
23
+ <p>Closeout does not mark a run completed just because the drone stopped cleanly. The lifecycle publishes an explicit completion verdict, then the run status follows that verdict.</p>
24
+ <table class="t"><thead><tr><th>verdict</th><th>when it lands</th><th>published run status</th></tr></thead><tbody>
25
+ <tr><td><code>complete-with-evidence</code></td><td>Closeout status is merged, opened, or skipped and evidence contains at least one of <code>commit</code>, <code>diff</code>, or <code>pr</code>.</td><td><code>completed</code></td></tr>
26
+ <tr><td><code>needs-attention</code></td><td>Closeout produces zero evidence, or the closeout result itself says needs-attention.</td><td><code>needs-attention</code></td></tr>
27
+ <tr><td><code>failed</code></td><td>An unexpected closeout error escapes the verdict mapper.</td><td><code>failed</code></td></tr>
28
+ </tbody></table>
29
+ <p>Zero-diff closeouts intentionally land <code>needs-attention</code>: a no-op drone did not produce product evidence. Evidence is local and non-networked: committed state, non-empty product diff against the run base ref, or a PR URL recorded by closeout. Validation errors preserve the existing needs-attention path and carry their detail into <code>statusDetail</code>/<code>errorText</code>.</p>
30
+ <h2 id="drone-view">CNet and drone cards</h2>
31
+ <p>The ambient CNet feed keeps one fleet aggregate plus active or attention-requiring runs current. <code>/fleet</code> appends one aggregate snapshot. <code>/drone [ref]</code> appends one exact run with status, placement, session liveness, stage progress, up to eight recent timeline entries, errors or PR facts when present, control actions, and terminal/web attach.</p>
32
+ <h2 id="read-model">Run state &amp; the read-model</h2>
33
+ <p><code>@rig/run-plugin</code> owns run journal encoding and the read model. A worker writes typed entries into the detached OMP session; the read model projects them for CNet, <code>/fleet</code>, <code>/drone</code>, automation, and release checks. Treat every projection as a view; the drone&rsquo;s JSONL session journal is authoritative.</p>
34
+ <div class="nextnav"><a href="../../docs/getting-started/index.html"><span class="dir">&larr; Back</span><span class="ttl">Getting started</span></a><a href="../../docs/operator/index.html"><span class="dir">Next &rarr;</span><span class="ttl">Operator guide</span></a></div>
35
+ </main></div><footer><div class="wrap"><div class="foot"><div class="col"><h5>orchestrate</h5><a href="../../docs/getting-started/index.html">getting started</a><a href="../../docs/runs/index.html">the run lifecycle</a><a href="../../docs/operator/index.html">operator guide</a><a href="../../docs/gate/index.html">the merge gate</a></div><div class="col"><h5>extend</h5><a href="../../plugins/index.html">plugin authoring</a><a href="../../skills/index.html">skills guide</a><a href="../../docs/pi-extensions/index.html">OMP/Pi extensions</a><a href="../../docs/packages/index.html">packages</a></div><div class="col"><h5>live</h5><a href="../../index.html">the home rig</a><a href="../../cli/index.html">cli reference</a><a href="https://where.rig-does.work/install">install script</a></div><div class="sig">Rig is the OMP session extension.<br><span class="blk">You are the operator.</span><br>release: rig --version</div></div></div></footer><script src="../../assets/rig.js"></script><script src="../../assets/site.js?v=v9"></script></body></html>