@openrig/cli 0.6.8 → 0.6.9

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 (178) hide show
  1. package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +41 -2
  2. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +12 -4
  3. package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +218 -7
  4. package/daemon/context-packs/help/manifest.yaml +1 -1
  5. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  6. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +17 -7
  7. package/daemon/context-packs/reference/manifest.yaml +1 -1
  8. package/daemon/context-packs/reference/whats-new.md +69 -74
  9. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  10. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  11. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  12. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  13. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  14. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  15. package/daemon/context-packs/skills/core/cross-host-rig-commands/SKILL.md +1 -0
  16. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  17. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +12 -4
  19. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  21. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  22. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +218 -7
  60. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  64. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  65. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  66. package/daemon/dist/build-info.js +3 -3
  67. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  68. package/daemon/dist/db/all-migrations.js +2 -0
  69. package/daemon/dist/db/all-migrations.js.map +1 -1
  70. package/daemon/dist/db/migrations/098_queue_transitions_qitem_id_order.d.ts +3 -0
  71. package/daemon/dist/db/migrations/098_queue_transitions_qitem_id_order.d.ts.map +1 -0
  72. package/daemon/dist/db/migrations/098_queue_transitions_qitem_id_order.js +12 -0
  73. package/daemon/dist/db/migrations/098_queue_transitions_qitem_id_order.js.map +1 -0
  74. package/daemon/dist/domain/current-work.d.ts +74 -0
  75. package/daemon/dist/domain/current-work.d.ts.map +1 -1
  76. package/daemon/dist/domain/current-work.js +165 -0
  77. package/daemon/dist/domain/current-work.js.map +1 -1
  78. package/daemon/dist/domain/gateway/connections-projection.d.ts +2 -0
  79. package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
  80. package/daemon/dist/domain/gateway/connections-projection.js +3 -1
  81. package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
  82. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +3 -1
  83. package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
  84. package/daemon/dist/domain/gateway/gateway-subsystem.js +3 -1
  85. package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
  86. package/daemon/dist/domain/gateway/slack/queue-access.d.ts +3 -0
  87. package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
  88. package/daemon/dist/domain/gateway/slack/queue-access.js +5 -1
  89. package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
  90. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  91. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +74 -19
  92. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  93. package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +37 -0
  94. package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
  95. package/daemon/dist/domain/gateway/slack/socket-inbound.js +281 -38
  96. package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
  97. package/daemon/dist/domain/gateway/slack/state-store.d.ts +14 -1
  98. package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
  99. package/daemon/dist/domain/gateway/slack/state-store.js +16 -0
  100. package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
  101. package/daemon/dist/domain/human-questions.d.ts +12 -3
  102. package/daemon/dist/domain/human-questions.d.ts.map +1 -1
  103. package/daemon/dist/domain/human-questions.js +10 -5
  104. package/daemon/dist/domain/human-questions.js.map +1 -1
  105. package/daemon/dist/domain/kernel-boot-tracker.d.ts +20 -1
  106. package/daemon/dist/domain/kernel-boot-tracker.d.ts.map +1 -1
  107. package/daemon/dist/domain/kernel-boot-tracker.js +66 -14
  108. package/daemon/dist/domain/kernel-boot-tracker.js.map +1 -1
  109. package/daemon/dist/domain/kernel-boot.d.ts +4 -0
  110. package/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
  111. package/daemon/dist/domain/kernel-boot.js +26 -1
  112. package/daemon/dist/domain/kernel-boot.js.map +1 -1
  113. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  114. package/daemon/dist/domain/native-process-lineage.js +30 -7
  115. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  116. package/daemon/dist/domain/queue-repository.d.ts +12 -0
  117. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  118. package/daemon/dist/domain/queue-repository.js +47 -1
  119. package/daemon/dist/domain/queue-repository.js.map +1 -1
  120. package/daemon/dist/domain/queue-transition-log.d.ts +12 -4
  121. package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
  122. package/daemon/dist/domain/queue-transition-log.js +24 -0
  123. package/daemon/dist/domain/queue-transition-log.js.map +1 -1
  124. package/daemon/dist/domain/scope/scope-approve.d.ts +21 -0
  125. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  126. package/daemon/dist/domain/scope/scope-approve.js +48 -4
  127. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  128. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  129. package/daemon/dist/routes/gateway.js +2 -0
  130. package/daemon/dist/routes/gateway.js.map +1 -1
  131. package/daemon/dist/routes/kernel-status.js +3 -1
  132. package/daemon/dist/routes/kernel-status.js.map +1 -1
  133. package/daemon/dist/routes/queue.d.ts.map +1 -1
  134. package/daemon/dist/routes/queue.js +17 -2
  135. package/daemon/dist/routes/queue.js.map +1 -1
  136. package/daemon/dist/routes/scope-approve.d.ts.map +1 -1
  137. package/daemon/dist/routes/scope-approve.js +3 -0
  138. package/daemon/dist/routes/scope-approve.js.map +1 -1
  139. package/daemon/docs/reference/refocus-channel.md +33 -0
  140. package/daemon/docs/reference/slack-app-setup.md +13 -0
  141. package/daemon/docs/reference/whats-new.md +69 -74
  142. package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +1 -0
  143. package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +12 -4
  144. package/dist/build-info.js +3 -3
  145. package/dist/commands/chatroom.d.ts.map +1 -1
  146. package/dist/commands/chatroom.js +25 -5
  147. package/dist/commands/chatroom.js.map +1 -1
  148. package/dist/commands/queue.d.ts.map +1 -1
  149. package/dist/commands/queue.js +3 -0
  150. package/dist/commands/queue.js.map +1 -1
  151. package/dist/commands/scope.d.ts.map +1 -1
  152. package/dist/commands/scope.js +10 -1
  153. package/dist/commands/scope.js.map +1 -1
  154. package/dist/commands/send.d.ts.map +1 -1
  155. package/dist/commands/send.js +23 -5
  156. package/dist/commands/send.js.map +1 -1
  157. package/dist/commands/slack.d.ts +17 -0
  158. package/dist/commands/slack.d.ts.map +1 -1
  159. package/dist/commands/slack.js +41 -0
  160. package/dist/commands/slack.js.map +1 -1
  161. package/dist/commands/status.d.ts.map +1 -1
  162. package/dist/commands/status.js +5 -0
  163. package/dist/commands/status.js.map +1 -1
  164. package/dist/cross-host-types.d.ts +1 -1
  165. package/dist/cross-host-types.d.ts.map +1 -1
  166. package/dist/lib/scope/scope-fs.d.ts +13 -0
  167. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  168. package/dist/lib/scope/scope-fs.js +28 -4
  169. package/dist/lib/scope/scope-fs.js.map +1 -1
  170. package/dist/remote-host-ops.d.ts +4 -0
  171. package/dist/remote-host-ops.d.ts.map +1 -1
  172. package/dist/remote-host-ops.js +20 -2
  173. package/dist/remote-host-ops.js.map +1 -1
  174. package/package.json +1 -1
  175. package/tui/dist/connections/connections-model.d.ts +5 -0
  176. package/tui/dist/connections/connections-model.d.ts.map +1 -1
  177. package/tui/dist/connections/connections-model.js +16 -1
  178. package/tui/dist/connections/connections-model.js.map +1 -1
@@ -89,6 +89,39 @@ reports broken links as gaps rather than following pointers.
89
89
  This automatic hook path is additive to one-shot manual injection through
90
90
  `rig send --context`; neither mode substitutes for the other.
91
91
 
92
+ ## The work packet (switched off by default)
93
+
94
+ Set `OPENRIG_REFOCUS_WORK_PACKET=1` in a seat's harness environment so its
95
+ refocus carries the work it is actually doing as text rather than as pointers.
96
+ With the switch on:
97
+
98
+ - The hook asks `rig queue whoami --work-candidates` for labelled evidence.
99
+ That is each in-progress row's own `mission:` tag (a slice tag is optional),
100
+ or for an untagged row the nearest local handoff ancestor's mission, plus
101
+ blocked rows as held work and pending rows as possible next work. The
102
+ strict `currentWork` derivation is unchanged.
103
+ - One direct, resolved tag is shown as the work, labelled with its source so
104
+ the agent can correct a stale tag. Anything less certain lists every
105
+ candidate's one-line intent and asks the agent to name its mission (or to say
106
+ it has no current work), giving the `--work-start` route that then shows
107
+ that mission's intent as text. The project-level chain appears only as
108
+ labelled orientation.
109
+ - A tag that does not resolve on this host is named, never replaced. A
110
+ retargeted handoff or a remote ancestor gives no assumed mission. A mission
111
+ named only in body text is not evidence.
112
+ - The seat's `LEARNED.md` contributes its `MY JOB HERE` and `STANDING DUTIES`
113
+ sections, and notes and each node's `PROGRESS.md` contribute their
114
+ `Current state` section. When a file has
115
+ no such heading, the packet says so and shows a bounded excerpt. No heading
116
+ is required.
117
+ - A notes or `LEARNED.md` file older than
118
+ `OPENRIG_REFOCUS_NOTES_MAX_AGE_DAYS` (default 14) is named with its age, the
119
+ age's source (`updated:` frontmatter, else mtime) and the threshold: a cue
120
+ for judgment, not a staleness verdict.
121
+
122
+ `trace-to-root.py --packet --work-candidates <path|->` renders the same packet
123
+ by hand.
124
+
92
125
  ## Relation to chain files
93
126
 
94
127
  The chain files are the durable, altitude-addressed home of orientation
@@ -99,6 +99,16 @@ clicks arrive over the same socket, so no request URL is needed. An app created
99
99
  manifest has Interactivity off: turn it on under **Interactivity & Shortcuts**, or the buttons
100
100
  will do nothing. A typed reply in the thread still answers the decision either way.
101
101
 
102
+ In the decision's `humanAnswers`, clicked answers remain option-id strings. A whole typed reply
103
+ is stored as `{kind: "typed-reply", text: "…", placement: "first-unanswered", unansweredCount: N}`
104
+ under the first unanswered question. That placement is automatic; it does not mean the person
105
+ selected that question. `N` counts the other question slots still empty in `humanAnswers` after
106
+ that placement. Earlier button answers are preserved; no other questions are filled in.
107
+ Read `text` as the person's words,
108
+ even when it equals an option id. The reply still closes the decision, so `done` is not approval.
109
+ A file-only reply closes the decision without recording a typed answer. If all button answers were
110
+ already recorded, they stay final and the typed reply remains in the correlated reply row.
111
+
102
112
  ## What the connector does with the tokens
103
113
 
104
114
  The tokens stay in the env file you created. The connector reads them from that file and uses them
@@ -195,6 +205,9 @@ outside this recovery scope; global chronological order is not promised.
195
205
  snapshot: socket state/generation, last event, recovery interval/state/reason,
196
206
  retry time and accepted/dead-lettered recovery counts since the connector last
197
207
  started (they reset when it is enabled or disabled, and when the daemon restarts).
208
+ It also reports the durable dead-letter backlog: the retained records for inbound messages,
209
+ reactions and click answers that await retry, counted from both dead-letter files so the number
210
+ survives a restart, and shown as unknown with a reason (and no count) when a file cannot be read.
198
211
  Human-readable coverage and pending bounds use ISO timestamps; JSON keeps Slack timestamps.
199
212
  The status read calls no Slack API and starts no scan. If the daemon cannot be
200
213
  observed, local configuration remains visible and live state is unknown. A
@@ -1,90 +1,85 @@
1
- # What changed in OpenRig 0.6.8
1
+ # What changed in OpenRig 0.6.9
2
2
 
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:
3
+ This note is for an agent on an install that was just upgraded to 0.6.9. It lists only what behaves differently from
4
+ 0.6.8 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
- ## 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
10
  ## Slack
37
11
 
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`.
12
+ - **A typed reply to a decision with structured questions is kept.** It's recorded on the row in `humanAnswers` as a
13
+ tagged entry (`kind: "typed-reply"`), placed under the first unanswered question, with the count of questions still
14
+ unanswered. A clicked answer is still the option's ID. Typed text that matches an option's ID is never read as clicking
15
+ it. The decision still closes, and closing doesn't mean approval: read the reply and its placement before acting. The
16
+ `messaging-the-human` skill says how.
17
+ - **`rig slack status` shows the inbound retry backlog:** how many retained records for inbound messages, reactions
18
+ and click answers are waiting to be retried, kept across restarts. This counts records, not distinct messages.
19
+ If the records can't be read, the line says the count is unknown and why; it never reads as an empty backlog.
20
+ - **An alert retried after its row closed isn't posted.** A Slack post that failed is kept and retried when the gateway
21
+ next starts. If the row has left the active states by then, the alert is dropped and the row records
22
+ `slack-owner-notification-dropped … reason=row-not-active`. Alerts for rows still open, decision-resolved notices and
23
+ digests still post. `rig slack enable` says how many earlier undelivered posts wait to be retried.
24
+ - **"Connected" is no longer the only word about the Slack connection.** OpenRig now notices a connection that stays
25
+ open while Slack stops delivering events to it, and replaces it: a new connection opens first, then the old one
26
+ closes. Two signals catch it, each counted only once the connection has shown it: Slack's server pings stopping for
27
+ 30 seconds, and two of OpenRig's own posts not coming back as events within a minute. Automatic replacements are at
28
+ most one every 5 minutes; Slack's own refresh requests are exempt.
29
+ - **Read delivery beside the socket state.** `rig slack status` adds a `Delivery:` line (`delivering`, `not yet
30
+ confirmed`, `events missing since …`, `no server pings since …`, or Socket Mode disabled), the last automatic
31
+ reconnect and why, a held-back reconnect and until when, and Slack's connection count when it's more than ours. The
32
+ connections view shows `connected; delivering` or `connected; delivery not yet confirmed`. Report "not yet
33
+ confirmed" as that, never as working.
34
+
35
+ ## Sends and waits
36
+
37
+ - **A cross-host send that may have arrived reads as unconfirmed, not failed.** `rig send <session> --host <id>` to an
38
+ http-registered host now has a 30-second request budget, plus any `--wait-for-idle` time. When the answer doesn't come back, or the connection drops after the
39
+ request went out, the send exits 1 with `failedStep: "remote-outcome-unknown"` and "Delivery UNCONFIRMED". **Check the
40
+ target with `rig capture <session> --host <id>` before any resend**; a blind resend can deliver twice. Only a host
41
+ that was never reached reads as unreachable.
42
+ - **`rig chatroom wait` keeps waiting through a slow or restarting daemon.** Poll timeouts, connection refusals, and
43
+ reset or closed connections are retried until your `--timeout`; the first failure in a run prints a line on stderr.
44
+ Other errors, including an error answer from the daemon such as a removed rig, still end the wait. If the last
45
+ recorded poll failure remains unresolved at the deadline, the timeout says new messages may have arrived unseen.
46
+
47
+ ## Kernel status
48
+
49
+ - **A kernel that recovered from a failed start reads ready.** When every declared kernel seat reports ready, for
50
+ example after `rig seat continue`, `rig status` says so and adds an indented line naming the earlier failure and
51
+ when it happened. `GET /api/kernel/status` returns that as `last_boot_failure`. The kernel's agent list shows each
52
+ seat once, with its runtime.
53
+
54
+ ## Scope approval
55
+
56
+ - **`rig scope <tier> approve --workspace <path>` stamps the work tree you named.** Before, it reported success while
57
+ the stamp landed in the daemon's own work tree. A named workspace with no `missions/` folder is now refused instead
58
+ of falling back to the configured one. The approval record names the root it wrote under.
59
+
60
+ ## Claude seats on NixOS
61
+
62
+ - **A Claude Code installed from nixpkgs is recognised as the seat's runtime,** so its seats read `running` and sends
63
+ no longer warn that the runtime couldn't be established. A seat that still carries an attention marker from an
64
+ earlier failed launch keeps it: clear it with `rig seat clear-attention <seat>`.
65
+
66
+ ## A correction to the 0.6.8 note
67
+
68
+ - **`rig launch` takes a rig ID, not a rig name.** The 0.6.8 note wrote `rig launch <rig> <seat> --plan`. Read the ID
69
+ from `rig ps --json`; a name gives `rig_not_found`.
76
70
 
77
71
  ## What to stop doing
78
72
 
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.
73
+ - **Stop resending a cross-host message after a timeout.** Check the target first; the first send may have arrived.
74
+ - **Stop restarting a kernel whose status read `bootstrap_failed` after its seats recovered.** Read `rig status`
75
+ again on 0.6.9; a recovered kernel reads ready.
76
+ - **Stop passing a rig's name to `rig launch`.** Pass its ID.
84
77
 
85
- ## Known gaps in 0.6.8
78
+ ## Known gaps in 0.6.9
86
79
 
87
- - **Not yet checked on a real machine:** the full first install from nothing, on Mac, Linux and Windows.
80
+ - **The latest first-install check used 0.6.8 on a fresh Mac account in Terminal,** with assistance to install the
81
+ candidate. It reached setup, the kernel window and a team plan; team launch and work weren't exercised.
82
+ Linux and Windows first installs remain unchecked in the evidence behind this note.
88
83
  - **Only one selected lifecycle-help command has been checked in a live Claude session;** source and parser coverage
89
84
  is broader. If a help command still asks, report it.
90
85
  - **Codex team seats aren't asked before lifecycle commands yet.**
@@ -85,6 +85,7 @@ A local success message alone does not establish remote persistence or pickup.
85
85
  | ssh-unreachable | SSH connection, target and transport diagnostics |
86
86
  | permission-gate | The configured SSH or HTTP credentials and target policy |
87
87
  | remote-daemon-unreachable | Target listener and actual running daemon identity |
88
+ | remote-outcome-unknown | The request may have arrived (timeout, dropped connection, unreadable reply): check its effect, for a send the target pane, before any retry |
88
89
  | remote-command-not-found | Remote CLI installation and executable lookup |
89
90
  | remote-command-failed | The remote operation's own status and error |
90
91
 
@@ -104,10 +104,18 @@ a JSON array of 1–4 questions, each
104
104
  options (labels up to 75 characters, at most one recommended). Slack shows each
105
105
  question as a row of buttons. Each click records that answer on the item, and
106
106
  the decision resolves once every question has one. You then receive one reply
107
- row listing the answers, and the item's `humanAnswers` holds the option ids. The
108
- human may instead type a reply in the thread; that resolves the decision as
109
- usual, so read the reply rather than assuming an option was picked. Keep the
110
- brief complete: the questions add buttons, they do not replace the explanation.
107
+ row listing the answers. In `humanAnswers`, clicked answers are option-id strings.
108
+ A whole typed reply is an object:
109
+ `{kind: "typed-reply", text: "…", placement: "first-unanswered", unansweredCount: N}`.
110
+ It is placed automatically under the first unanswered question; the person did
111
+ not select that question. `N` counts the other question slots still empty in
112
+ `humanAnswers` after that placement.
113
+ Earlier button answers stay intact. Read `text` as the person's words, never as
114
+ an option id even if the strings match. The typed reply still closes the decision
115
+ with the other questions unanswered; `done` is not approval. If every button
116
+ answer was already recorded, that final answer set stays intact and the typed
117
+ reply remains in its correlated reply row. Keep the brief complete: the questions
118
+ add buttons, they do not replace the explanation.
111
119
 
112
120
  If an existing agent-owned row must wait for a **decision**, block it on the **new live qitem ID**
113
121
  (`rig queue block <work-id> --on <human-qitem-id> ...`), not on the human address.
@@ -1,9 +1,9 @@
1
1
  // GENERATED by scripts/build-package.sh — the packaged build-identity stamp.
2
2
  export const BUILD_INFO = {
3
- semver: "0.6.8",
4
- commit: "aa126c74d5d1568a6091c037450720c552e50e49",
3
+ semver: "0.6.9",
4
+ commit: "4b48ca21a9bd072aa05a08b3da6d9c0708e093c5",
5
5
  dirty: false,
6
- builtAt: "2026-10-08T22:15:13Z",
6
+ builtAt: "2026-10-09T08:59:39Z",
7
7
  };
8
8
  export function stampFields(info = BUILD_INFO) {
9
9
  if (!info.commit) return {};
@@ -1 +1 @@
1
- {"version":3,"file":"chatroom.d.ts","sourceRoot":"","sources":["../../src/commands/chatroom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAuB9C,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CA0WlE"}
1
+ {"version":3,"file":"chatroom.d.ts","sourceRoot":"","sources":["../../src/commands/chatroom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiC9C,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CAmXlE"}
@@ -1,5 +1,5 @@
1
1
  import { Command } from "commander";
2
- import { DaemonClient } from "../client.js";
2
+ import { DaemonClient, DaemonConnectionError, DaemonTimeoutError } from "../client.js";
3
3
  import { readOpenRigEnv } from "../openrig-compat.js";
4
4
  import { getDaemonStatus, getDaemonUrl, daemonStatusGuard } from "../daemon-lifecycle.js";
5
5
  import { realDeps } from "./daemon.js";
@@ -15,6 +15,15 @@ async function resolveRigId(client, rigName) {
15
15
  }
16
16
  return matches[0].id;
17
17
  }
18
+ // A poll that failed this way says nothing about the room: the daemon was slow to answer, refused the
19
+ // connection, or dropped it while restarting. `chatroom wait` retries it on its usual cadence until its own
20
+ // deadline. An HTTP error status or any other failure is real and ends the wait at once.
21
+ const TRANSIENT_CONNECTION_CODES = new Set(["ECONNREFUSED", "ECONNRESET", "UND_ERR_SOCKET"]);
22
+ function isTransientPollError(err) {
23
+ if (err instanceof DaemonTimeoutError)
24
+ return true;
25
+ return err instanceof DaemonConnectionError && err.causeCode !== undefined && TRANSIENT_CONNECTION_CODES.has(err.causeCode);
26
+ }
18
27
  export function chatroomCommand(depsOverride) {
19
28
  const cmd = new Command("chatroom").description("Chat room for rig communication");
20
29
  const getDeps = () => depsOverride ?? {
@@ -276,6 +285,8 @@ export function chatroomCommand(depsOverride) {
276
285
  if (opts.sender)
277
286
  filterParams.set("sender", opts.sender);
278
287
  const start = Date.now();
288
+ // The message of the last poll, when it failed transiently; null once a poll succeeds.
289
+ let lastPollError = null;
279
290
  while (true) {
280
291
  // Check timeout BEFORE polling
281
292
  if (Date.now() - start >= timeoutMs)
@@ -290,26 +301,32 @@ export function chatroomCommand(depsOverride) {
290
301
  // Keep the command's deadline through headers and body consumption.
291
302
  // The client's own request timeout still bounds an unresponsive daemon.
292
303
  const timer = setTimeout(() => controller.abort(), Math.min(remainingForRequest, 2_147_483_647));
293
- let res;
304
+ let res = null;
294
305
  try {
295
306
  res = await client.get(`/api/rigs/${encodeURIComponent(rigId)}/chat/history?${params}`, { signal: controller.signal });
307
+ lastPollError = null;
296
308
  }
297
309
  catch (err) {
298
310
  if (controller.signal.aborted)
299
311
  break;
300
- throw err;
312
+ if (!isTransientPollError(err))
313
+ throw err;
314
+ // Announce the first failure of a run, then keep polling quietly.
315
+ if (lastPollError === null)
316
+ console.error(`A poll failed (${err.message}); retrying until the --timeout deadline.`);
317
+ lastPollError = err.message;
301
318
  }
302
319
  finally {
303
320
  clearTimeout(timer);
304
321
  }
305
322
  if (controller.signal.aborted || Date.now() - start >= timeoutMs)
306
323
  break;
307
- if (res.status >= 400) {
324
+ if (res && res.status >= 400) {
308
325
  console.error(res.data?.error ?? `Failed (HTTP ${res.status})`);
309
326
  process.exitCode = 1;
310
327
  return;
311
328
  }
312
- if (res.data && res.data.length > 0) {
329
+ if (res?.data && res.data.length > 0) {
313
330
  if (opts.json) {
314
331
  console.log(JSON.stringify(res.data));
315
332
  }
@@ -327,6 +344,9 @@ export function chatroomCommand(depsOverride) {
327
344
  await new Promise((resolve) => setTimeout(resolve, Math.min(pollIntervalMs, remaining)));
328
345
  }
329
346
  console.error(`Timed out after ${opts.timeout} seconds — no new messages matching filters.`);
347
+ if (lastPollError !== null) {
348
+ console.error(`The last poll failed (${lastPollError}), so new messages may have arrived without being seen.`);
349
+ }
330
350
  process.exitCode = 1;
331
351
  });
332
352
  // chatroom clear <rig>
@@ -1 +1 @@
1
- {"version":3,"file":"chatroom.js","sourceRoot":"","sources":["../../src/commands/chatroom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatroom.js","sourceRoot":"","sources":["../../src/commands/chatroom.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/commands/queue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAkE,MAAM,cAAc,CAAC;AAM5G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C;;;;;;;;;GASG;AAEH,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,QAAQ,GAAG,kBAAkB,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,CAAC;IAC5F,uEAAuE;IACvE,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,0EAA0E;IAC1E,eAAe,EAAE,SAAS,CAAC;IAC3B,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,EACjC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAqDjC;AA4GD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB;AAQD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,aAAa,SAAmC,GAC/C,WAAW,CAWb;AAsBD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAgB1D;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,eAAe,EACrB,WAAW,GAAE,MAAM,OAAO,CAAC,MAAM,CAAsB,GACtD,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAoCD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAElD,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,mBAAmB,CA0BrB;AAeD,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,SAAS,GAAG,OAAO,CAk/B9D"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/commands/queue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAwB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAkE,MAAM,cAAc,CAAC;AAM5G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C;;;;;;;;;GASG;AAEH,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,QAAQ,GAAG,kBAAkB,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,CAAC;IAC5F,uEAAuE;IACvE,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,0EAA0E;IAC1E,eAAe,EAAE,SAAS,CAAC;IAC3B,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,EACjC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAqDjC;AA4GD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB;AAQD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,aAAa,SAAmC,GAC/C,WAAW,CAWb;AAsBD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAgB1D;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,eAAe,EACrB,WAAW,GAAE,MAAM,OAAO,CAAC,MAAM,CAAsB,GACtD,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAoCD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAElD,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,mBAAmB,CA0BrB;AAeD,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,SAAS,GAAG,OAAO,CAo/B9D"}
@@ -850,6 +850,7 @@ workspace home that is deferred/not-imminent belongs in its mission/slice.`)
850
850
  .description("Show the caller's queue position from the daemon's perspective")
851
851
  .option("--session <session>", "Caller's session name (defaults to OPENRIG_SESSION_NAME)")
852
852
  .option("--recent-limit <n>", "How many recent active qitems to include", "25")
853
+ .option("--work-candidates", "Also list labelled work candidates (tags, handoff ancestry, held and next work) for the refocus packet")
853
854
  .option("--json", "JSON output for agents")
854
855
  .action(async (opts) => {
855
856
  const session = resolveCurrentSession(opts.session, "session");
@@ -860,6 +861,8 @@ workspace home that is deferred/not-imminent belongs in its mission/slice.`)
860
861
  session,
861
862
  recentLimit: opts.recentLimit,
862
863
  });
864
+ if (opts.workCandidates)
865
+ params.set("candidates", "1");
863
866
  await withClient(deps, async (client) => {
864
867
  const res = await client.get(`/api/queue/whoami?${params.toString()}`);
865
868
  printResult(opts.json ?? false, res.data, res.status);