@openrig/cli 0.6.7 → 0.6.8

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 (166) hide show
  1. package/README.md +6 -4
  2. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +6 -0
  3. package/daemon/context-packs/help/manifest.yaml +1 -1
  4. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  5. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +25 -8
  6. package/daemon/context-packs/reference/getting-started.md +2 -2
  7. package/daemon/context-packs/reference/instance-layout.md +5 -0
  8. package/daemon/context-packs/reference/manifest.yaml +1 -1
  9. package/daemon/context-packs/reference/rig-spec.md +12 -9
  10. package/daemon/context-packs/reference/whats-new.md +76 -114
  11. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  12. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  13. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  14. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  15. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  16. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  17. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +6 -0
  20. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  21. package/daemon/context-packs/skills/core/openrig-architect/SKILL.md +3 -0
  22. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/core/openrig-software-factory/references/worked-example.md +15 -14
  28. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  66. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  67. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  68. package/daemon/dist/build-info.js +3 -3
  69. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +23 -2
  70. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  71. package/daemon/dist/domain/claude-compaction-enforcer.js +153 -94
  72. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  73. package/daemon/dist/domain/context-monitor.d.ts +5 -0
  74. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  75. package/daemon/dist/domain/context-monitor.js +21 -6
  76. package/daemon/dist/domain/context-monitor.js.map +1 -1
  77. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  78. package/daemon/dist/domain/gateway/slack/inbound.js +1 -0
  79. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  80. package/daemon/dist/domain/gateway/slack/queue-access.d.ts +2 -0
  81. package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
  82. package/daemon/dist/domain/gateway/slack/queue-access.js +1 -0
  83. package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
  84. package/daemon/dist/domain/gateway/slack/slack-api.d.ts +7 -2
  85. package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
  86. package/daemon/dist/domain/gateway/slack/slack-api.js +35 -3
  87. package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
  88. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +4 -0
  89. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  90. package/daemon/dist/domain/gateway/slack/slack-delivery.js +16 -1
  91. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  92. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +17 -0
  93. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  94. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +18 -15
  95. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  96. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  97. package/daemon/dist/domain/native-process-lineage.js +14 -2
  98. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  99. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  100. package/daemon/dist/domain/profile-resolver.js +54 -15
  101. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  102. package/daemon/dist/domain/queue-nudge-text.d.ts +4 -0
  103. package/daemon/dist/domain/queue-nudge-text.d.ts.map +1 -0
  104. package/daemon/dist/domain/queue-nudge-text.js +35 -0
  105. package/daemon/dist/domain/queue-nudge-text.js.map +1 -0
  106. package/daemon/dist/domain/queue-repository.d.ts +5 -0
  107. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  108. package/daemon/dist/domain/queue-repository.js +11 -6
  109. package/daemon/dist/domain/queue-repository.js.map +1 -1
  110. package/daemon/dist/domain/restore-orchestrator.d.ts +1 -0
  111. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  112. package/daemon/dist/domain/restore-orchestrator.js +17 -11
  113. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  114. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  115. package/daemon/dist/domain/rig-teardown.js +6 -0
  116. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  117. package/daemon/dist/domain/session-transport.d.ts +12 -1
  118. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  119. package/daemon/dist/domain/session-transport.js +33 -7
  120. package/daemon/dist/domain/session-transport.js.map +1 -1
  121. package/daemon/dist/domain/skill-catalog.d.ts +11 -0
  122. package/daemon/dist/domain/skill-catalog.d.ts.map +1 -1
  123. package/daemon/dist/domain/skill-catalog.js +136 -12
  124. package/daemon/dist/domain/skill-catalog.js.map +1 -1
  125. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  126. package/daemon/dist/domain/workflow-validator.js +22 -1
  127. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  128. package/daemon/dist/routes/sessions.js +1 -1
  129. package/daemon/dist/routes/sessions.js.map +1 -1
  130. package/daemon/docs/reference/agent-startup-guide.md +1 -1
  131. package/daemon/docs/reference/bundle-formats.md +1 -1
  132. package/daemon/docs/reference/getting-started.md +2 -2
  133. package/daemon/docs/reference/instance-layout.md +5 -0
  134. package/daemon/docs/reference/publishing-a-rig-bundle.md +4 -2
  135. package/daemon/docs/reference/rig-spec.md +12 -9
  136. package/daemon/docs/reference/slack-app-setup.md +5 -1
  137. package/daemon/docs/reference/topology-naming.md +74 -0
  138. package/daemon/docs/reference/whats-new.md +76 -114
  139. package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +6 -0
  140. package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +3 -0
  141. package/daemon/specs/agents/shared/skills/core/openrig-software-factory/references/worked-example.md +15 -14
  142. package/dist/build-info.js +3 -3
  143. package/dist/commands/context.d.ts.map +1 -1
  144. package/dist/commands/context.js +8 -0
  145. package/dist/commands/context.js.map +1 -1
  146. package/dist/commands/launch.d.ts.map +1 -1
  147. package/dist/commands/launch.js +114 -8
  148. package/dist/commands/launch.js.map +1 -1
  149. package/dist/commands/proof.js +1 -1
  150. package/dist/commands/proof.js.map +1 -1
  151. package/dist/commands/scope.js +1 -1
  152. package/dist/commands/scope.js.map +1 -1
  153. package/dist/commands/skill.d.ts.map +1 -1
  154. package/dist/commands/skill.js +6 -0
  155. package/dist/commands/skill.js.map +1 -1
  156. package/dist/launch-plan-guard.d.ts +27 -0
  157. package/dist/launch-plan-guard.d.ts.map +1 -0
  158. package/dist/launch-plan-guard.js +73 -0
  159. package/dist/launch-plan-guard.js.map +1 -0
  160. package/package.json +2 -2
  161. package/tui/dist/commands/registry.js +1 -1
  162. package/tui/dist/main.js +16 -4
  163. package/tui/dist/main.js.map +1 -1
  164. package/tui/dist/render.js +1 -1
  165. package/tui/dist/scopes/scopes-model.js +4 -4
  166. package/tui/dist/types.d.ts +1 -1
package/README.md CHANGED
@@ -22,11 +22,11 @@ Not setting this up today? Get the next walkthrough and occasional OpenRig updat
22
22
 
23
23
  Requires Node.js 22 or 24 and tmux, on macOS or Linux. On Linux, the distribution's own Node.js can be older (Ubuntu 24.04's is 18); install a supported version with [nvm](https://github.com/nvm-sh/nvm) (`nvm install 22`) or NodeSource. On a Mac with Apple silicon, use Node.js 22 ([compatibility history](docs/releases/v0.5.15.md#known-compatibility-limitation)). On Windows, use WSL2, the Windows route OpenRig supports; native Windows isn't supported. OpenRig's automated tests don't run on WSL2 yet; see [one user's working setup](docs/reference/getting-started.md#wsl2-a-reported-working-setup). Launching a rig writes provider hooks and workspace trust settings. Before running the commands below, read [what OpenRig changes on your machine](#what-openrig-changes-on-your-machine) and back up the relevant files.
24
24
 
25
- **One command.** This runs OpenRig's install script from the `v0.6.7` release. It checks Node.js and npm, installs the latest published `@openrig/cli` with `npm install -g`, runs the Node.js and SQLite check, then runs `rig setup --dry-run` and `rig setup`. The first line prints that plan and changes nothing:
25
+ **One command.** This runs OpenRig's install script from the `v0.6.8` release. It checks Node.js and npm, installs the latest published `@openrig/cli` with `npm install -g`, runs the Node.js and SQLite check, then runs `rig setup --dry-run` and `rig setup`. The first line prints that plan and changes nothing:
26
26
 
27
27
  ```bash
28
- curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.6.7/scripts/install.sh | sh -s -- --dry-run
29
- curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.6.7/scripts/install.sh | sh
28
+ curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.6.8/scripts/install.sh | sh -s -- --dry-run
29
+ curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.6.8/scripts/install.sh | sh
30
30
  ```
31
31
 
32
32
  If a provider isn't signed in yet, the last step reports `FAILED [4/4]`, and `rig setup` lists the sign-in under "Some steps need attention". If the only remaining failures are provider sign-ins, the install steps finished; sign in to each selected provider as below and continue.
@@ -107,7 +107,9 @@ recommends one of three, and fits it to the providers you have.
107
107
 
108
108
  As shipped, `starter` uses both Claude Code and Codex. With only one of them, ask
109
109
  the kernel operator to adapt it: it writes a copy of the team for your providers
110
- under the same name. `first-project` is starter's old name and still starts it,
110
+ under the same name. [The naming guide](docs/reference/topology-naming.md) explains
111
+ how their pods and roles grow and how to name your own team. `first-project` is
112
+ starter's old name and still starts it,
111
113
  unless you already have a rig named `first-project` or `starter`: then it refuses
112
114
  and names the `rig up <name> --existing` command that brings that rig back.
113
115
  Show the selected runtime, configured model and command before launch; confirm the
@@ -92,6 +92,12 @@ the human (a pending human decision, or a row parked on the human), since a
92
92
  reply in that thread would answer the decision. In every such case the
93
93
  `--verify` result says `threaded: false` with the reason.
94
94
 
95
+ To answer a reply the human typed inside one of your threads, `--reply-to` the
96
+ row their reply landed as. The update posts in that thread unless one of the
97
+ cases above applies, and `--verify` reports it the same way. A message the
98
+ human started at the top level of the channel has no thread yet, so the answer
99
+ posts as a new message.
100
+
95
101
  A **decision** with a few clear choices can carry `--human-questions-file <path>`:
96
102
  a JSON array of 1–4 questions, each
97
103
  `{"id", "question", "options": [{"id", "label", "recommended"?}]}` with 2–4
@@ -1,6 +1,6 @@
1
1
  # Agent help: the single troubleshooting and escalation guide (docs/reference/help.md).
2
2
  name: help
3
- version: "0.6.7"
3
+ version: "0.6.8"
4
4
  taxonomy: world
5
5
  purpose: "What an agent does when its user says OpenRig isn't working: diagnose, fix within permissions, verify, and escalate to OpenRig support."
6
6
  files:
@@ -1,6 +1,6 @@
1
1
  # Public capability and source-map width for the default onboarding walk.
2
2
  name: onboarding-width
3
- version: "0.6.7"
3
+ version: "0.6.8"
4
4
  taxonomy: world
5
5
  purpose: "The public capability map and source map referenced by the default onboarding walk."
6
6
  files:
@@ -11,7 +11,7 @@ not know exists.** So the point of what follows is not skill. It is recognition:
11
11
  lands, something rhymes, and you go check instead of building.
12
12
 
13
13
  Eighty-seven top-level verbs ship (capability canon refreshed through
14
- `capability-delta-v0.6.7`). This marker describes the pack's teaching, not publication or live
14
+ `capability-delta-v0.6.8`). This marker describes the pack's teaching, not publication or live
15
15
  adoption. Read this once for shape, and let it make you suspicious that a thing already exists.
16
16
  Model-divergence proclamations are live product (trust them; pins use canonical
17
17
  model IDs).
@@ -157,7 +157,10 @@ unseen — which makes messages the one delivery channel that never gets skipped
157
157
  It needs the `reactions:read` scope and the `reaction_added` event (reinstall the app);
158
158
  `rig slack verify` warns when the scope is missing. A long ask is posted in numbered thread parts; one that
159
159
  still can't be posted comes back to the asking seat as a `slack-undeliverable` task. Replies
160
- sent with “Also send to #channel” reach the seat like any other thread reply.
160
+ sent with “Also send to #channel” reach the seat like any other thread reply. A person's reply
161
+ inside a thread OpenRig opened is answered in that thread: answer with `rig queue create
162
+ --human-intent update --reply-to <the inbound reply's row>`; a top-level message is answered
163
+ top-level.
161
164
 
162
165
  ## Making work outlive you
163
166
 
@@ -223,7 +226,10 @@ relay is a reason to inspect the available routing, not to surrender judgment to
223
226
 
224
227
  - **`rig workflow specs`** — what can be started here, and which are shipped versus authored by
225
228
  this rig.
226
- - **`rig workflow validate`** — will this spec instantiate at all, before a run finds out for you.
229
+ - **`rig workflow validate`** — will this spec instantiate at all, before a run finds out for you. A
230
+ step with no allowed exit that can finish it or route onward is reported as `step_cannot_finish`.
231
+ An allowed mapped exit is valid; in a dependency graph, `handoff` can finish a sink without a next
232
+ step.
227
233
  - **`rig workflow compile <mission>`** / **`instantiate-lifecycle`** — derive one executable graph
228
234
  from `project.yaml` → `mission.yaml` → `slice.yaml`, inspect it without writing, then start an
229
235
  eligible graph with an opaque replay key. Typed acceptance candidate, verdict, and evidence
@@ -314,7 +320,9 @@ fresh, since a web tool's cached copy can be older. The built-in shelf also hold
314
320
  `research`, `pm`, `secrets-manager` and `kernel`. Older names are gone: `adversarial-review`,
315
321
  `research-team` and `pm-team` became `code-review`, `research` and `pm` with no alias, and
316
322
  `first-project-claude`, `first-project-mixed`, `conveyor`, `demo`, `implementation-pair` and
317
- `product-team` were removed. Verify prerequisites (Node 22 or 24) and actual runtime readiness
323
+ `product-team` were removed. When authoring a new team, read
324
+ `docs/reference/topology-naming.md`: name the rig for its purpose, pods for domains,
325
+ and members for their roles. Verify prerequisites (Node 22 or 24) and actual runtime readiness
318
326
  before work. The starter's Codex model `gpt-6-astra` needs a Codex newer than 0.145; when a Codex
319
327
  seat reports that, the operator offers to update Codex and restart that seat. Existing Herdr/cmux
320
328
  terminals can present the managed team through `rig terminal open`.
@@ -333,7 +341,8 @@ not have to tear one down to change it, and you rarely have to start from nothin
333
341
  best-effort snapshot, not a record of what was interrupted. With `--host`, a remote teardown
334
342
  that reports errors exits 2.
335
343
  - **`rig launch <rig> [seat]`** — one seat is down; start just that one, without disturbing the
336
- rest.
344
+ rest. Add `--plan` to preview it first, locally or with `--host`; a plan is never sent to a
345
+ daemon older than 0.5.9, which would ignore it and launch.
337
346
  - **`rig seat launch <seat> --fresh --reason <why>`** — deliberately create a blank occupant for
338
347
  exactly one existing seat. It uses no resume, fork, rebuild, snapshot, or restore packet;
339
348
  siblings and durable work stay put, and unmanaged ambiguity refuses.
@@ -463,7 +472,8 @@ version, from checking the environment to a useful report to the OpenRig team.
463
472
  skill covers writing and reading the map; `claude-compact-in-place` no longer ships. After a
464
473
  managed compaction, refocus waits for the restore request, which names the `refocusing` skill
465
474
  (the daemon installs it globally); three failed refocus attempts in a row for one occupant post
466
- one issue to the stream.
475
+ one issue to the stream. The turn boundary, restore request and read-depth audit reach a seat
476
+ that stays quiet after `/compact`; they don't wait for its next turn.
467
477
  - **Know what compaction costs before you reach for it.** On some runtimes what comes back has
468
478
  enough context left to believe it knows everything and not enough to actually know anything — and
469
479
  **the compacted agent is the only one who knows it happened**, while every other seat keeps
@@ -550,8 +560,12 @@ scheme, and nothing downstream can see it.
550
560
  require `--project`. World packs named in `project.yaml`'s `install.worlds`
551
561
  are listed after the System World; read each with `rig context get <ref>`.
552
562
  `context profile` and `context work-install` both accept `--runtime claude-code` (alias
553
- `claude`) or `codex`; explicit invalid values refuse before projection. This does not rename
554
- every other command's runtime vocabulary.
563
+ `claude`) or `codex`; explicit invalid values refuse before projection. This does not rename every
564
+ other command's runtime vocabulary. A catalog skill with uncommitted content blocks only itself:
565
+ it is skipped and named (`catalog_skill_skipped`, or `selected_skill_skipped` with its selector).
566
+ With `--runtime`, work-install reports selected skips with exit 1. It inspects by default;
567
+ `--apply-skills` projects the remaining clean skills while keeping any previously projected copy
568
+ of the skipped skill. Commit or restore that skill's folder, then apply the projection again.
555
569
  - **`rig context show` / `sync` / `rm`** — what is inside a context pack before you prime a seat
556
570
  with it, and how to make the library catch up when you edit one. `sync` also finds a workspace
557
571
  pack created after the daemon started; a daemon restart is no longer needed.
@@ -771,6 +785,9 @@ your circumstances is configuration, and the ones that are not, another agent ca
771
785
  it attaches to the existing kernel terminal; Ctrl-b then d detaches, and no missing
772
786
  seat or terminal is implicitly launched. Explain the failure and help with the
773
787
  chosen fallback. Plain `rig tui` remains a separate dashboard.
788
+ On an empty command line every typed command reaches the line whole and `j`/`k` move the
789
+ selection; the footer toggle is `F`, and a selected Scopes view's mini-requirements and
790
+ narrative keys are `M` and `N`.
774
791
  Open the instance row for one continuous cross-rig agent table with pod separators and material
775
792
  `RECENT` transitions; drill into a rig, mission, slice, or agent without losing the owning
776
793
  identity. Use the mission's workflow/packet view and Specs purpose/source to understand work.
@@ -105,11 +105,11 @@ OpenRig view and the handoff to the operator as one procedure. From 0.6.7, OpenR
105
105
  script will do and changes nothing:
106
106
 
107
107
  ```sh
108
- curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.6.7/scripts/install.sh | sh -s -- --dry-run
108
+ curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.6.8/scripts/install.sh | sh -s -- --dry-run
109
109
  ```
110
110
 
111
111
  The same command without `--dry-run`,
112
- `curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.6.7/scripts/install.sh | sh`, installs the
112
+ `curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.6.8/scripts/install.sh | sh`, installs the
113
113
  latest published `@openrig/cli` with `npm install -g`,
114
114
  runs the Node.js and SQLite check, then `rig setup --dry-run` and `rig setup`. `rig setup` checks both Claude Code and
115
115
  Codex and may install a missing one, as described below. A failed step prints
@@ -79,6 +79,11 @@ Missing or malformed selections fail; absence is never inferred as disablement.
79
79
  `rig context work-install --json` reports the effective state, source, manifest,
80
80
  context selectors, and skills. With `--runtime`, its managed skill loadout then
81
81
  combines System World, topology, and Project World selectors with provenance.
82
+ The catalog is a Git checkout. A skill folder with uncommitted or untracked content is
83
+ skipped by itself and named. With `--runtime`, work-install reports selected skips with
84
+ exit 1. It inspects by default; `--apply-skills` projects the remaining clean skills while
85
+ keeping any previously projected copy of the skipped skill. An uncommitted change directly
86
+ in the catalog root, such as `catalog.yaml`, still makes the whole catalog unavailable.
82
87
 
83
88
  For a pre-0.5.9 home, use the `openrig-upgrade` skill's
84
89
  `migrate-telemetry-state-0.5.9.mjs` helper as an Agent-Operated Migration. Its
@@ -1,7 +1,7 @@
1
1
  # Reference guides the help pack links to, loaded one file or section at a time by address
2
2
  # (rig context get reference/<file>#<section>). Each file is a symlink to docs/reference/.
3
3
  name: reference
4
- version: "0.6.7"
4
+ version: "0.6.8"
5
5
  taxonomy: world
6
6
  purpose: "Version-matched reference guides the help guide links to. Load a single file or section by address; don't load the whole pack."
7
7
  files:
@@ -8,6 +8,9 @@ This is the canonical reference for the pod-aware RigSpec YAML format. Every fie
8
8
 
9
9
  ---
10
10
 
11
+ For choosing IDs, see [naming rigs, pods and seats](topology-naming.md). Keep the same
12
+ logical names in edges, startup instructions, workflow targets and runtime presets.
13
+
11
14
  ## Minimal Valid Example
12
15
 
13
16
  ```yaml
@@ -18,7 +21,7 @@ pods:
18
21
  - id: dev
19
22
  label: Development
20
23
  members:
21
- - id: impl
24
+ - id: build
22
25
  agent_ref: "local:agents/impl"
23
26
  profile: default
24
27
  runtime: claude-code
@@ -105,7 +108,7 @@ pods:
105
108
  required: true
106
109
  actions: []
107
110
  members:
108
- - id: impl
111
+ - id: build
109
112
  agent_ref: "local:agents/impl"
110
113
  profile: default
111
114
  runtime: claude-code
@@ -131,7 +134,7 @@ pods:
131
134
  cwd: "."
132
135
  edges:
133
136
  - kind: delegates_to
134
- from: impl
137
+ from: build
135
138
  to: qa
136
139
 
137
140
  - id: rev
@@ -152,13 +155,13 @@ pods:
152
155
  edges:
153
156
  - kind: delegates_to
154
157
  from: orch.lead
155
- to: dev.impl
158
+ to: dev.build
156
159
  - kind: delegates_to
157
160
  from: orch.peer
158
161
  to: dev.qa
159
162
  - kind: can_observe
160
163
  from: rev.r1
161
- to: dev.impl
164
+ to: dev.build
162
165
  - kind: can_observe
163
166
  from: rev.r2
164
167
  to: dev.qa
@@ -453,7 +456,7 @@ The canonical session name is derived from the pod ID, member ID, and rig name:
453
456
  {podId}-{memberId}@{rigName}
454
457
  ```
455
458
 
456
- Example: pod `dev`, member `impl`, rig `my-team` → session `dev-impl@my-team`
459
+ Example: pod `dev`, member `build`, rig `my-team` → session `dev-build@my-team`
457
460
 
458
461
  Pod and member IDs cannot contain `@` because the first `@` separates their portion
459
462
  of the session address from the rig name. Rig names may still contain `@`.
@@ -482,13 +485,13 @@ Edges within a pod use **unqualified member IDs** (just the member `id`, not `po
482
485
  pods:
483
486
  - id: dev
484
487
  members:
485
- - id: impl
488
+ - id: build
486
489
  # ...
487
490
  - id: qa
488
491
  # ...
489
492
  edges:
490
493
  - kind: delegates_to
491
- from: impl # NOT dev.impl
494
+ from: build # NOT dev.build
492
495
  to: qa # NOT dev.qa
493
496
  ```
494
497
 
@@ -502,7 +505,7 @@ Edges between pods use **fully-qualified `pod.member` IDs**:
502
505
  edges:
503
506
  - kind: delegates_to
504
507
  from: orch.lead # pod.member format
505
- to: dev.impl # pod.member format
508
+ to: dev.build # pod.member format
506
509
  ```
507
510
 
508
511
  Cross-pod edges must reference different pods. An edge where both `from` and `to` are in the same pod is a validation error — use pod-local edges instead.
@@ -1,128 +1,90 @@
1
- # What changed in OpenRig 0.6.7
1
+ # What changed in OpenRig 0.6.8
2
2
 
3
- This note is for an agent on an install that was just upgraded to 0.6.7. It lists only what behaves differently from
4
- 0.6.6 and what to do about it. For everything OpenRig can do, read the capability map:
3
+ This note is for an agent on an install that was just upgraded to 0.6.8. It lists only what behaves differently from
4
+ 0.6.7 and what to do about it. For everything OpenRig can do, read the capability map:
5
5
  `rig context get onboarding-width/public-what-you-can-do.md`. Each release replaces this file, so
6
6
  `rig context get reference/whats-new.md` describes the installed version once the upgraded daemon is running. Without
7
7
  a running daemon, read `$OPENRIG_HOME/reference/whats-new.md`. The daemon refreshes that copy when it starts, so right
8
8
  after an upgrade it can still hold the previous version's note.
9
9
 
10
- ## The OpenRig view is now the handoff
11
-
12
- - **Open the view as the step after install or start; don't wait to be asked.** Say you're opening it, run
13
- `rig terminal open saved:kernel --window`, then tell the person where it opened. Don't ask "Open the OpenRig view
14
- now?", don't wait for a phrase like "show me my agents", and don't finish by printing a command for them to copy. The
15
- same command brings their agents back later.
16
- - **The layout follows the person's terminal width.** On a narrow terminal the operator gets the first tab. On a wide
17
- one the dashboard and operator sit side by side and the advisor has its own tab. Inside herdr it opens a focused
18
- `openrig kernel` space. A `kernel` view the person saved themselves still wins.
19
- - **It opens where the caller is.** Terminal gets a window and Ghostty a tab. From Claude Desktop, iTerm or VS Code on a
20
- Mac it opens a new Ghostty or Terminal window, and macOS may ask to allow it: mention that clicking Allow is fine only
21
- in that case. Over SSH, in CI or with no display, it returns a definite no-window result with the reason. Relay the
22
- `run:` command it prints exactly, or give `env -u TMUX tmux attach-session -t '=<canonicalSessionName>'` for the
23
- operator.
24
- - **`rig terminal open <view>` opens a window by default.** Pass `--provider herdr` or `--provider cmux` only to add
25
- tiles to a workspace that's already visible. With `--json`, `reusedWorkspace` and `opened: []` mean an existing view
26
- was reused, which is success.
27
- - **The TUI's action is now "Open terminals ▸"** (it was `term ▸`). It opens a desktop window through the same
28
- launcher, so the TUI must run on the daemon's desktop.
29
- - **The `rigs` skill is installed for the person's own agent.** The daemon writes it to `~/.claude/skills/rigs` and
30
- `~/.agents/skills/rigs` and refreshes it on every upgrade. It now triggers on any mention of OpenRig, rigs or a team
31
- of coding agents. A copy added earlier with skills.sh is left alone and never refreshed.
32
-
33
- ## Installing and setting up
34
-
35
- - **Show the install preview first.** The published install command has a `--dry-run` preview
36
- (`rig context get reference/getting-started.md` has both forms). Run the install when the person agrees. If the only
37
- failures left are provider sign-ins, have them sign in and continue at "Start the kernel".
38
- - **If your own harness refuses a tool call while installing,** say so and show the refusal: Claude Code's auto mode can
39
- deny calls as well as approve them. Let the person review it in their harness or run that step themselves. A refused
40
- call doesn't prove the OpenRig command failed.
41
- - **`rig setup` installs herdr by default** on macOS and Linux; `--no-herdr` declines it. On a Mac, ask once about
42
- Ghostty and on yes rerun `rig setup --ghostty`, keeping `--no-herdr` if it was chosen. Setup no longer installs cmux,
43
- and an existing cmux still works. In `--json` output the `cmux_install` step is gone and `herdr_install` and
44
- `ghostty_install` appear.
45
- - **`rig doctor` checks Claude and Codex installs, and a login or configured provider credential,** the way setup does.
46
- It exits 1 when either harness is missing or has neither, including one the person doesn't use, so ignore a failure
47
- on an unused harness. A pass means a login or configured provider credential is available locally, not that a
48
- provider accepts the credential or that an agent can work; no provider request or agent work is tested.
49
- - **When setting up permissions,** recommend keeping the team default and offer remembered allowances only if the
50
- person wants fewer prompts. People slowed by prompts can be pointed to the workshop listing.
51
- - **Windows users go through WSL2.** For Pi seats there, offer either credential route; a global Pi login still isn't
52
- shared with managed seats.
53
-
54
- ## Fewer prompts
55
-
56
- - **In Claude team seats, help on lifecycle commands runs without a prompt.** `rig down --help` and `-h` forms run;
57
- the lifecycle actions themselves still ask. Pipelines, command substitutions, redirects and heredocs aren't allowed
58
- automatically.
59
- - **The kernel operator's Claude session runs routine inspection without prompts:** Python, command lookup, `cd`, text
60
- helpers and WebFetch. Compound commands and redirects still go to Claude's own permission check.
61
- - **Managed Codex seats no longer stop at the update menu on start.** Updating Codex is the operator's job: if a Codex
62
- seat says its model needs a newer Codex, offer to update Codex and restart that seat, without stopping the team. If a
63
- Codex seat shows a model-switch menu near a rate limit, ask the person; don't change the team's model.
64
-
65
- ## Messages, wakes and Slack
66
-
67
- - **A send or wake no longer answers a question that's waiting for a person.** It's refused with
68
- `target_needs_input`, and the reason ends `; latest hook, pane unrecognized` when the screen can't be read, even if
69
- the hook is minutes old. Read the seat with `rig capture` and get the question answered by whoever should answer it.
70
- Don't retry the send.
71
- - **Slack can post to a channel per rig or seat:** `rig slack channel-map list`, `set <match> <channel>` and
72
- `remove <match>`. After a change, invite the app to each channel, run `rig slack verify`, then `rig slack disable`
73
- and `rig slack enable` (or restart the daemon). Thread replies still reach the seat in any channel.
74
- - **A reaction on any part of a Slack ask reaches the seat that asked,** as a task tagged `human-reaction`. Treat it as
75
- a signal to interpret, not an answer; the ask stays open. An existing app needs the `reactions:read` scope, the
76
- `reaction_added` event and a reinstall, and `rig slack verify` warns when the scope is missing.
77
- - **A long Slack ask is posted in parts.** If it still can't be posted, you get a task `<ask id>-undeliverable`, tagged
78
- `slack-undeliverable`: shorten the ask or link a file for the long part, and send it as a new ask.
79
- - **Replies sent with "Also send to #channel" now arrive** at the seat that asked, like any other thread reply.
80
-
81
- ## Running teams
82
-
83
- - **`rig down` prints what each agent seemed to be doing before it stops them,** on one stderr line, or "unknown". It's
84
- a best-effort snapshot, not a record of what was interrupted. `rig down --host` now exits 2 when the remote teardown
85
- reports errors.
86
- - **Before a handover or compaction, write the seat's recap** with
87
- `rig context recap-write --rig <rig> --seat <seat> --file <draft.md>`, not a file tool, so earlier recaps are kept.
88
- `rig seat handover <seat>` now works on the same seat again and again; a seat left half-handed-over recovers by
89
- running it again.
90
- - **After a managed compaction, read the `refocusing` skill and consume the current topology and work traces
91
- delivered with the restore.** Don't rerun them just to duplicate the delivery; name a missing trace. For a new trace
92
- outside that context, use the skill's one-command form. The daemon now installs the skill globally.
93
- - **The built-in starter and factory leads publish their team's roster** at first start, so `rig roster list` and
94
- `rig roster find <topic>` know those teams.
95
- - **Claiming a parked queue item clears its `blocked_on`.** To park it again on the same gate, run
96
- `rig queue update <id> --state blocked` without `--blocked-on`: it reuses the previous gate. Add the usual wake when
97
- one is required.
98
- - **A periodic reminder first fires one interval after you register it,** not immediately.
99
- - **Workflows:** `rig workflow run` and `rig workflow watch` exit 3 for an aborted instance. When a step that was sent
100
- back completes again, the steps that depend on it run again too, including ones that had passed.
101
- - **Sharing teams:** `rig bundle create` and `rig up <link>` name the bundle after `rig.yaml`'s `name`, and
102
- `rig bundle check` names the file in each finding. Submissions go to `mvschwarz/openrig-registry`. The bundle safety
103
- check always runs, even with `--skip-version-check --force`.
104
- - **`rig context add <url> --git` retrieves shallowly by default:** the initial retrieval fetches only the current
105
- commit, and a server that refuses shallow retrieval falls back to a full clone with a warning. Use
106
- `rig context source update` for later revisions.
107
- - **Values that used to fail quietly are refused:** a bad `rig chatroom history --since` (fix the value; the room isn't
108
- empty) and a `--wake-after` such as `7d` (use hours, for example `168h`).
109
- - **Pi seats print a `[pi-runner] seat …:` line at start** saying whether a credential was found and, if not, how to
110
- fix it. A MiniMax model gets `MINIMAX_API_KEY` when that name is in `recovery.provider_auth_env_allowlist`.
111
- - **`agents.advisor_session` defaults to the kernel's advisor seat.**
10
+ ## Skills from the managed catalog
11
+
12
+ - **A skill with uncommitted changes in the catalog now blocks only itself.** Before, one edited skill made the whole
13
+ catalog unavailable to work-install, launch and restore preflight. Now that skill is skipped and named, and the
14
+ remaining clean skills stay available for projection.
15
+ - **Read the warning, don't retry.** `catalog_skill_skipped` names a skill nobody selected; `selected_skill_skipped`
16
+ names the selector and the folder. The fix is to commit or restore that folder's content in the catalog, then run the
17
+ projection again.
18
+ - **A selected skipped skill makes the inspection commands exit 1.** `rig context work-install --runtime <runtime>`
19
+ and `rig skill loadout --runtime <runtime>` inspect by default. Use `--apply-skills` with work-install or `--apply`
20
+ with skill loadout to project the remaining clean skills. Read the warnings and projection result; exit 1 alone does
21
+ not say whether files were changed. With `--json`, skipped skills are in `skillLoadout.skipped` or
22
+ `loadout.skipped`, respectively.
23
+ - **A seat keeps the copy it already has** of a skipped skill, unchanged. After the catalog change is committed or
24
+ restored, the next applied projection can refresh it. No seat receives the skipped skill's uncommitted files, and
25
+ launch only warns about the skip.
26
+ - **An uncommitted `catalog.yaml` still makes the whole catalog unavailable,** because it changes every selection.
27
+
28
+ ## Launch plans
29
+
30
+ - **`rig launch <rig> <seat> --plan` previews one seat's launch** without launching it, locally or with `--host`. Use
31
+ it before starting a single seat, as `--seats … --plan` already allowed for several.
32
+ - **A plan is never sent to a daemon older than 0.5.9,** which would ignore the flag and launch. If `rig launch --plan`
33
+ refuses for that reason, restart or upgrade that daemon. If it exits non-zero saying the daemon may have acted, check
34
+ `rig ps --nodes -A` before retrying.
35
+
36
+ ## Slack
37
+
38
+ - **Answer a person's thread reply in that thread.** When someone replies inside a thread OpenRig opened, answer with
39
+ `rig queue create --human-intent update --reply-to <the inbound reply's row>`, and the answer posts in that thread.
40
+ A top-level message is still answered top-level.
41
+ - **A short rate limit is waited out.** When Slack asks for a pause of 10 seconds or less, OpenRig waits and retries the
42
+ post once. A longer pause is still left to the usual retry of retained messages.
43
+
44
+ ## Managed compaction
45
+
46
+ - **A quiet seat is restored after `/compact`.** The turn boundary, the restore request and the read-depth
47
+ audit now reach a Claude seat that takes no turn after compacting. Before, they waited for the seat's next turn,
48
+ so a seat with nothing to do could sit unrestored. Each stage still waits until the seat's screen shows it idle.
49
+
50
+ ## Workflows
51
+
52
+ - **Validate before you run.** `rig workflow validate` reports `step_cannot_finish` when no allowed exit can finish a
53
+ step or route onward, and such a workflow cannot be instantiated. Allow `done` or an exit with a route onward. In a
54
+ dependency graph, `handoff` can also finish a sink without a next step. A spec that validated on 0.6.7 may need a
55
+ correction.
56
+
57
+ ## The TUI
58
+
59
+ - **Type whole commands on an empty command line.** The footer toggle is now `F`, and in a selected Scopes view the
60
+ mini-requirements and narrative keys are `M` and `N`, so `find`, `feed`, `mission`, `narrative` and `needs` reach the
61
+ command line intact.
62
+ - **`j` and `k` move the selection down and up** when the command line is empty. With text on the line they're ordinary
63
+ letters.
64
+
65
+ ## Smaller changes
66
+
67
+ - **A Claude seat launched with `--remote-control`** confirms its identity instead of staying "identity not confirmed".
68
+ - **`rig down` still saves its recovery snapshot** when finding one seat's resume details fails.
69
+ - **A wake for a handed-off task shows its summary** on one line, so read it to see what the task is for.
70
+ - **`rig scope audit` accepts slice folders numbered 100 and above.** `rig proof add --file` keeps a leading UTF-8
71
+ byte-order mark.
72
+ - **Building from source no longer needs POSIX shell tools** for the CLI and TUI output. It hasn't been run on Windows
73
+ yet; WSL2 is still the way to run OpenRig there.
74
+ - **A topology naming reference** explains how to name a team's pods and seats: `rig context get
75
+ reference/topology-naming.md`.
112
76
 
113
77
  ## What to stop doing
114
78
 
115
- - **Stop asking whether to open the OpenRig view, or waiting for a phrase.** Open it after install or start.
116
- - **Stop using `--provider herdr` for the first view,** and stop pre-warning about macOS prompts from Terminal or
117
- Ghostty.
118
- - **Stop suggesting `--skip-version-check --force` to get past a bundle pre-check failure.** The check always runs.
119
- - **Stop retrying a send refused with `target_needs_input`.** Get the question answered instead.
120
- - **Stop telling people to untick "Also send to #channel" when they answer in Slack.** Those replies now arrive.
79
+ - **Stop treating a non-zero work-install exit as proof that nothing changed.** Read the skipped-skill warnings and
80
+ projection result. Inspection alone changes no skill files; an applied projection can update clean skills while
81
+ reporting a skipped one.
82
+ - **Stop scripting around the TUI's single-letter keys.** Type the command whole.
83
+ - **Stop assuming a workflow that validated on 0.6.7 can finish.** Validate it again on 0.6.8.
121
84
 
122
- ## Known gaps in 0.6.7
85
+ ## Known gaps in 0.6.8
123
86
 
124
- - **Not yet checked on a real machine:** opening the view from Claude Desktop, and the plain-tmux layout without herdr.
125
- The full first install from nothing and a Linux run come after this release.
87
+ - **Not yet checked on a real machine:** the full first install from nothing, on Mac, Linux and Windows.
126
88
  - **Only one selected lifecycle-help command has been checked in a live Claude session;** source and parser coverage
127
89
  is broader. If a help command still asks, report it.
128
90
  - **Codex team seats aren't asked before lifecycle commands yet.**
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "agent-operated-software"
4
- version: "0.6.7"
4
+ version: "0.6.8"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when designing, building, operating, or diagnosing an ongoing application whose live backend or control loop includes OpenRig agents, including applications with a Markdown, YAML, or JSON agent control plane or a thin surface over specialist agent roles."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "agent-operated-workflows"
4
- version: "0.6.7"
4
+ version: "0.6.8"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when a bounded real-world procedure has a deterministic happy path but brownfield, variable, or partially knowable state; when an operation must resume from verified evidence; or when deciding whether agent judgment or ordinary code should own a procedure's control loop."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "applying-a-permission-policy"
4
- version: "0.6.7"
4
+ version: "0.6.8"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use before launching a team during agent-guided setup, or when a user asks to configure OpenRig command permissions, reduce repeated native approval prompts, or apply a selected rig/seat permission policy."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "claude-compaction-restore"
4
- version: "0.6.7"
4
+ version: "0.6.8"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when a Claude Code session is about to compact, has just compacted, reached its context limit, resumed after /compact, or must rebuild its working picture of a long-running seat from its own restore map, its JSONL transcript and the files it touched."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "agent-starters"
4
- version: "0.6.7"
4
+ version: "0.6.8"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when creating, refreshing, packaging, inspecting, promoting, or deprecating a named per-seat starting point — Agent Starter manifest authoring, the 6-state lifecycle (captured → named → inspectable → used → promoted → deprecated), provenance honesty, and refusal rules. NOT a VM image; a managed starting point composed from agent role + startup context + optional native session source + provenance."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "agent-startup-and-context-ingestion"
4
- version: "0.6.7"
4
+ version: "0.6.8"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when designing or auditing how an agent becomes useful after launch — AGENTS.md overlays, role files, skills, rig specs, workflow specs, startup checklists, refocus messages, \"rig context\" surface. Covers the 4 failure modes that make startup context fail (old rig spec misses current operating mode; current agents never told about new guidance; startup file as dumping ground; orchestrator transmits implementation without preserving product intent)."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "cross-host-rig-commands"
4
- version: "0.6.7"
4
+ version: "0.6.8"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when addressing a registered remote OpenRig host, choosing its transport, or interpreting a cross-host result."
7
7
  files:
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "human-in-the-loop"
4
- version: "0.6.7"
4
+ version: "0.6.8"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when classifying a slice closeout (auto-continue / human gate / park), routing a real decision to a human, or designing a human queue/dashboard surface. Treats humans as durable network participants with attention surfaces, queues, and decision records — escalation lands as a durable attention item, not a chat message. Approval is NOT required for every clean closeout; the default RSI conveyor continues unless an explicit human gate is reached."
7
7
  files:
@@ -92,6 +92,12 @@ the human (a pending human decision, or a row parked on the human), since a
92
92
  reply in that thread would answer the decision. In every such case the
93
93
  `--verify` result says `threaded: false` with the reason.
94
94
 
95
+ To answer a reply the human typed inside one of your threads, `--reply-to` the
96
+ row their reply landed as. The update posts in that thread unless one of the
97
+ cases above applies, and `--verify` reports it the same way. A message the
98
+ human started at the top level of the channel has no thread yet, so the answer
99
+ posts as a new message.
100
+
95
101
  A **decision** with a few clear choices can carry `--human-questions-file <path>`:
96
102
  a JSON array of 1–4 questions, each
97
103
  `{"id", "question", "options": [{"id", "label", "recommended"?}]}` with 2–4
@@ -1,7 +1,7 @@
1
1
  # GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
2
2
  # Package-time projection of a canonical skill; regenerated every build.
3
3
  name: "messaging-the-human"
4
- version: "0.6.7"
4
+ version: "0.6.8"
5
5
  taxonomy: "skills"
6
6
  purpose: "Use when project policy calls for a human decision or update, a human delivery is pending or failed, or a reply must resume the right work."
7
7
  files: