@openrig/cli 0.4.2 → 0.4.3

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 (264) hide show
  1. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +42 -2
  2. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +87 -0
  3. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +46 -0
  4. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  5. package/daemon/dist/adapters/codex-runtime-adapter.js +167 -3
  6. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  7. package/daemon/dist/adapters/tmux.d.ts +31 -0
  8. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  9. package/daemon/dist/adapters/tmux.js +62 -0
  10. package/daemon/dist/adapters/tmux.js.map +1 -1
  11. package/daemon/dist/db/migrations/045_resume_verification.d.ts +29 -0
  12. package/daemon/dist/db/migrations/045_resume_verification.d.ts.map +1 -0
  13. package/daemon/dist/db/migrations/045_resume_verification.js +34 -0
  14. package/daemon/dist/db/migrations/045_resume_verification.js.map +1 -0
  15. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts +41 -0
  16. package/daemon/dist/db/migrations/046_seat_identity_verdicts.d.ts.map +1 -0
  17. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js +56 -0
  18. package/daemon/dist/db/migrations/046_seat_identity_verdicts.js.map +1 -0
  19. package/daemon/dist/db/migrations/047_events_node_type_index.d.ts +48 -0
  20. package/daemon/dist/db/migrations/047_events_node_type_index.d.ts.map +1 -0
  21. package/daemon/dist/db/migrations/047_events_node_type_index.js +52 -0
  22. package/daemon/dist/db/migrations/047_events_node_type_index.js.map +1 -0
  23. package/daemon/dist/domain/activity-endpoint.d.ts +25 -0
  24. package/daemon/dist/domain/activity-endpoint.d.ts.map +1 -0
  25. package/daemon/dist/domain/activity-endpoint.js +91 -0
  26. package/daemon/dist/domain/activity-endpoint.js.map +1 -0
  27. package/daemon/dist/domain/claim-service.d.ts +36 -0
  28. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  29. package/daemon/dist/domain/claim-service.js +90 -0
  30. package/daemon/dist/domain/claim-service.js.map +1 -1
  31. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +57 -0
  32. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  33. package/daemon/dist/domain/claude-compaction-enforcer.js +149 -3
  34. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  35. package/daemon/dist/domain/event-loop-monitor.d.ts +100 -0
  36. package/daemon/dist/domain/event-loop-monitor.d.ts.map +1 -0
  37. package/daemon/dist/domain/event-loop-monitor.js +127 -0
  38. package/daemon/dist/domain/event-loop-monitor.js.map +1 -0
  39. package/daemon/dist/domain/gate-predicate.d.ts +29 -0
  40. package/daemon/dist/domain/gate-predicate.d.ts.map +1 -0
  41. package/daemon/dist/domain/gate-predicate.js +73 -0
  42. package/daemon/dist/domain/gate-predicate.js.map +1 -0
  43. package/daemon/dist/domain/graph-projection.d.ts +7 -1
  44. package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
  45. package/daemon/dist/domain/graph-projection.js +19 -1
  46. package/daemon/dist/domain/graph-projection.js.map +1 -1
  47. package/daemon/dist/domain/node-inventory.d.ts +7 -1
  48. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  49. package/daemon/dist/domain/node-inventory.js +84 -5
  50. package/daemon/dist/domain/node-inventory.js.map +1 -1
  51. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
  52. package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
  53. package/daemon/dist/domain/periodic-snapshot-scheduler.js +11 -0
  54. package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
  55. package/daemon/dist/domain/policies/idle-gate-qitem.d.ts +14 -0
  56. package/daemon/dist/domain/policies/idle-gate-qitem.d.ts.map +1 -0
  57. package/daemon/dist/domain/policies/idle-gate-qitem.js +114 -0
  58. package/daemon/dist/domain/policies/idle-gate-qitem.js.map +1 -0
  59. package/daemon/dist/domain/restore-orchestrator.d.ts +8 -0
  60. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  61. package/daemon/dist/domain/restore-orchestrator.js +109 -27
  62. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  63. package/daemon/dist/domain/restore-plan-preview.d.ts +25 -1
  64. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  65. package/daemon/dist/domain/restore-plan-preview.js +72 -4
  66. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  67. package/daemon/dist/domain/resume-metadata-refresher.d.ts +44 -2
  68. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  69. package/daemon/dist/domain/resume-metadata-refresher.js +92 -6
  70. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  71. package/daemon/dist/domain/resume-token-capture.d.ts +50 -0
  72. package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -0
  73. package/daemon/dist/domain/resume-token-capture.js +63 -0
  74. package/daemon/dist/domain/resume-token-capture.js.map +1 -0
  75. package/daemon/dist/domain/rig-status-compose.d.ts +62 -0
  76. package/daemon/dist/domain/rig-status-compose.d.ts.map +1 -0
  77. package/daemon/dist/domain/rig-status-compose.js +149 -0
  78. package/daemon/dist/domain/rig-status-compose.js.map +1 -0
  79. package/daemon/dist/domain/rig-teardown.d.ts +3 -1
  80. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  81. package/daemon/dist/domain/rig-teardown.js +4 -19
  82. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  83. package/daemon/dist/domain/route-timing-recorder.d.ts +42 -0
  84. package/daemon/dist/domain/route-timing-recorder.d.ts.map +1 -0
  85. package/daemon/dist/domain/route-timing-recorder.js +62 -0
  86. package/daemon/dist/domain/route-timing-recorder.js.map +1 -0
  87. package/daemon/dist/domain/scope/scope-audit.d.ts +3 -1
  88. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  89. package/daemon/dist/domain/scope/scope-audit.js +30 -1
  90. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  91. package/daemon/dist/domain/seat-handover-service.d.ts +50 -7
  92. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  93. package/daemon/dist/domain/seat-handover-service.js +273 -33
  94. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  95. package/daemon/dist/domain/seat-identity-reconciler.d.ts +59 -0
  96. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -0
  97. package/daemon/dist/domain/seat-identity-reconciler.js +207 -0
  98. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -0
  99. package/daemon/dist/domain/seat-identity-store.d.ts +27 -0
  100. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -0
  101. package/daemon/dist/domain/seat-identity-store.js +106 -0
  102. package/daemon/dist/domain/seat-identity-store.js.map +1 -0
  103. package/daemon/dist/domain/seat-switch-client-service.d.ts +57 -0
  104. package/daemon/dist/domain/seat-switch-client-service.d.ts.map +1 -0
  105. package/daemon/dist/domain/seat-switch-client-service.js +168 -0
  106. package/daemon/dist/domain/seat-switch-client-service.js.map +1 -0
  107. package/daemon/dist/domain/self-attach-service.d.ts +8 -0
  108. package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
  109. package/daemon/dist/domain/self-attach-service.js +20 -7
  110. package/daemon/dist/domain/self-attach-service.js.map +1 -1
  111. package/daemon/dist/domain/session-registry.d.ts +35 -4
  112. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  113. package/daemon/dist/domain/session-registry.js +89 -10
  114. package/daemon/dist/domain/session-registry.js.map +1 -1
  115. package/daemon/dist/domain/session-transport.d.ts +8 -1
  116. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  117. package/daemon/dist/domain/session-transport.js +143 -37
  118. package/daemon/dist/domain/session-transport.js.map +1 -1
  119. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  120. package/daemon/dist/domain/startup-orchestrator.js +34 -2
  121. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  122. package/daemon/dist/domain/startup-proof.d.ts +63 -0
  123. package/daemon/dist/domain/startup-proof.d.ts.map +1 -0
  124. package/daemon/dist/domain/startup-proof.js +165 -0
  125. package/daemon/dist/domain/startup-proof.js.map +1 -0
  126. package/daemon/dist/domain/successor-session-launcher.d.ts +103 -0
  127. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -0
  128. package/daemon/dist/domain/successor-session-launcher.js +246 -0
  129. package/daemon/dist/domain/successor-session-launcher.js.map +1 -0
  130. package/daemon/dist/domain/types.d.ts +81 -0
  131. package/daemon/dist/domain/types.d.ts.map +1 -1
  132. package/daemon/dist/domain/types.js +8 -0
  133. package/daemon/dist/domain/types.js.map +1 -1
  134. package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -2
  135. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  136. package/daemon/dist/domain/watchdog-jobs-repository.js +4 -0
  137. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  138. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  139. package/daemon/dist/domain/watchdog-policy-engine.js +19 -0
  140. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  141. package/daemon/dist/index.d.ts.map +1 -1
  142. package/daemon/dist/index.js +18 -1
  143. package/daemon/dist/index.js.map +1 -1
  144. package/daemon/dist/routes/activity.d.ts.map +1 -1
  145. package/daemon/dist/routes/activity.js +26 -0
  146. package/daemon/dist/routes/activity.js.map +1 -1
  147. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  148. package/daemon/dist/routes/agent-images.js +139 -0
  149. package/daemon/dist/routes/agent-images.js.map +1 -1
  150. package/daemon/dist/routes/compaction.d.ts +17 -0
  151. package/daemon/dist/routes/compaction.d.ts.map +1 -0
  152. package/daemon/dist/routes/compaction.js +125 -0
  153. package/daemon/dist/routes/compaction.js.map +1 -0
  154. package/daemon/dist/routes/restore-check.d.ts +10 -0
  155. package/daemon/dist/routes/restore-check.d.ts.map +1 -1
  156. package/daemon/dist/routes/restore-check.js +46 -37
  157. package/daemon/dist/routes/restore-check.js.map +1 -1
  158. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  159. package/daemon/dist/routes/rigs.js +70 -1
  160. package/daemon/dist/routes/rigs.js.map +1 -1
  161. package/daemon/dist/routes/seat.d.ts.map +1 -1
  162. package/daemon/dist/routes/seat.js +53 -2
  163. package/daemon/dist/routes/seat.js.map +1 -1
  164. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  165. package/daemon/dist/routes/sessions.js +44 -9
  166. package/daemon/dist/routes/sessions.js.map +1 -1
  167. package/daemon/dist/routes/snapshots.d.ts.map +1 -1
  168. package/daemon/dist/routes/snapshots.js +16 -1
  169. package/daemon/dist/routes/snapshots.js.map +1 -1
  170. package/daemon/dist/routes/transport.d.ts.map +1 -1
  171. package/daemon/dist/routes/transport.js +12 -5
  172. package/daemon/dist/routes/transport.js.map +1 -1
  173. package/daemon/dist/server.d.ts +32 -0
  174. package/daemon/dist/server.d.ts.map +1 -1
  175. package/daemon/dist/server.js +28 -1
  176. package/daemon/dist/server.js.map +1 -1
  177. package/daemon/dist/startup.d.ts +1 -0
  178. package/daemon/dist/startup.d.ts.map +1 -1
  179. package/daemon/dist/startup.js +91 -18
  180. package/daemon/dist/startup.js.map +1 -1
  181. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +1 -1
  182. package/dist/commands/compact.d.ts +15 -0
  183. package/dist/commands/compact.d.ts.map +1 -0
  184. package/dist/commands/compact.js +62 -0
  185. package/dist/commands/compact.js.map +1 -0
  186. package/dist/commands/daemon.d.ts.map +1 -1
  187. package/dist/commands/daemon.js +18 -2
  188. package/dist/commands/daemon.js.map +1 -1
  189. package/dist/commands/fork.d.ts +4 -0
  190. package/dist/commands/fork.d.ts.map +1 -0
  191. package/dist/commands/fork.js +101 -0
  192. package/dist/commands/fork.js.map +1 -0
  193. package/dist/commands/launch.d.ts.map +1 -1
  194. package/dist/commands/launch.js +34 -4
  195. package/dist/commands/launch.js.map +1 -1
  196. package/dist/commands/ps.d.ts.map +1 -1
  197. package/dist/commands/ps.js +14 -4
  198. package/dist/commands/ps.js.map +1 -1
  199. package/dist/commands/queue.d.ts +6 -0
  200. package/dist/commands/queue.d.ts.map +1 -1
  201. package/dist/commands/queue.js +78 -4
  202. package/dist/commands/queue.js.map +1 -1
  203. package/dist/commands/reconcile-session.d.ts.map +1 -1
  204. package/dist/commands/reconcile-session.js +2 -2
  205. package/dist/commands/reconcile-session.js.map +1 -1
  206. package/dist/commands/restore-check.d.ts.map +1 -1
  207. package/dist/commands/restore-check.js +93 -0
  208. package/dist/commands/restore-check.js.map +1 -1
  209. package/dist/commands/scope.d.ts.map +1 -1
  210. package/dist/commands/scope.js +51 -1
  211. package/dist/commands/scope.js.map +1 -1
  212. package/dist/commands/seat.d.ts +17 -0
  213. package/dist/commands/seat.d.ts.map +1 -1
  214. package/dist/commands/seat.js +145 -32
  215. package/dist/commands/seat.js.map +1 -1
  216. package/dist/commands/send.d.ts.map +1 -1
  217. package/dist/commands/send.js +151 -10
  218. package/dist/commands/send.js.map +1 -1
  219. package/dist/commands/start.d.ts +5 -0
  220. package/dist/commands/start.d.ts.map +1 -1
  221. package/dist/commands/start.js.map +1 -1
  222. package/dist/commands/startup-proof.d.ts +24 -0
  223. package/dist/commands/startup-proof.d.ts.map +1 -0
  224. package/dist/commands/startup-proof.js +100 -0
  225. package/dist/commands/startup-proof.js.map +1 -0
  226. package/dist/commands/unclaim.js +2 -2
  227. package/dist/commands/unclaim.js.map +1 -1
  228. package/dist/commands/up.d.ts.map +1 -1
  229. package/dist/commands/up.js +10 -0
  230. package/dist/commands/up.js.map +1 -1
  231. package/dist/commands/watchdog.js +2 -2
  232. package/dist/commands/watchdog.js.map +1 -1
  233. package/dist/daemon-lifecycle.d.ts +23 -0
  234. package/dist/daemon-lifecycle.d.ts.map +1 -1
  235. package/dist/daemon-lifecycle.js +50 -5
  236. package/dist/daemon-lifecycle.js.map +1 -1
  237. package/dist/index.d.ts +5 -0
  238. package/dist/index.d.ts.map +1 -1
  239. package/dist/index.js +8 -1
  240. package/dist/index.js.map +1 -1
  241. package/dist/lib/codex-auth.d.ts +24 -0
  242. package/dist/lib/codex-auth.d.ts.map +1 -1
  243. package/dist/lib/codex-auth.js +89 -17
  244. package/dist/lib/codex-auth.js.map +1 -1
  245. package/dist/lib/scope/scope-audit.d.ts +3 -1
  246. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  247. package/dist/lib/scope/scope-audit.js +30 -1
  248. package/dist/lib/scope/scope-audit.js.map +1 -1
  249. package/dist/lib/scope-templates/mission-placeholder.md +41 -0
  250. package/dist/lib/scope-templates/mission-progress.md +2 -0
  251. package/dist/lib/scope-templates/mission-release.md +41 -0
  252. package/dist/lib/scope-templates/placeholder.md +4 -0
  253. package/dist/lib/scope-templates/proof.md +2 -0
  254. package/dist/lib/scope-templates/slice-progress.md +2 -0
  255. package/dist/openrig-compat.d.ts +19 -0
  256. package/dist/openrig-compat.d.ts.map +1 -1
  257. package/dist/openrig-compat.js +31 -1
  258. package/dist/openrig-compat.js.map +1 -1
  259. package/package.json +1 -1
  260. package/ui/dist/assets/index-DYZniQcc.js +597 -0
  261. package/ui/dist/assets/index-trcb4Yf_.css +32 -0
  262. package/ui/dist/index.html +23 -2
  263. package/ui/dist/assets/index-CnqRX7A3.css +0 -32
  264. package/ui/dist/assets/index-CtL9jXFt.js +0 -582
@@ -85,34 +85,101 @@ function destReplaceable(p) {
85
85
  return true;
86
86
  return !st.isSymbolicLink() && st.isFile() && st.nlink === 1;
87
87
  }
88
- /** Copy `source` onto `dest` so secret bytes (a) never enter JS memory [copyFileSync does the byte
89
- * copy] and (b) are never written THROUGH a pre-existing inode at dest: we copy into a freshly
90
- * created (COPYFILE_EXCL) temp in dest's dir, then atomically rename over dest. Rename swaps the
91
- * directory entryany pre-existing hardlink/symlink inode is unlinked, never written. Caller must
92
- * have already verified dest's parent containment and that dest is replaceable. */
93
- function copyOntoFresh(source, dest) {
88
+ /** fd-first copy of `source` onto `dest` (OPR.0.4.3.23 secret-boundary B1 hardening). Closes the
89
+ * check-then-use gap that a path-based copy leaves open: an earlier lstat guard, then a copy that
90
+ * re-resolves the SOURCE PATH, can be redirected by an inode swap in the window (a crash, or a
91
+ * concurrent legitimate rig on the same auth home) reading the wrong inode, a torn file, or briefly
92
+ * leaving a wider-than-0600 temp (CERT FIO45-C). Path-based pre-checks cannot close that race, so the
93
+ * authoritative check moves onto the OPENED fd:
94
+ * (1) SOURCE: openSync with O_NOFOLLOW (a final-component symlink swap fails closed), then fstat ON
95
+ * THE FD and validate the opened inode (regular file, nlink === 1 — a hardlink shares an inode
96
+ * that may live outside the boundary), and — when the caller passes its earlier lstat — confirm
97
+ * dev/ino still match (the inode was not swapped in the window). Read bytes FROM the fd; the
98
+ * source path is never re-resolved after the open.
99
+ * (2) DEST: openSync the temp with O_CREAT|O_EXCL (fresh inode; never a pre-existing hardlink/symlink)
100
+ * at 0600 AT creation (removes the create-then-chmod window), fchmod on the fd to pin 0600
101
+ * regardless of umask, write the source bytes, fsync, then renameSync as the SOLE atomic publish
102
+ * (a crash BEFORE the rename leaves the prior dest byte-intact — a strength we preserve).
103
+ * The temp stays co-located in dest's dir so the rename never crosses devices. The transient byte
104
+ * buffer is the only time secret bytes touch JS memory; it is never printed and is scrubbed in
105
+ * `finally`. Caller must still have verified dest's parent containment and that dest is replaceable
106
+ * (the lstat pre-checks stay as cheap fail-fast; this fd validation is the authoritative layer).
107
+ * Exported for the fd-first / crash-safety leak-hunt tests. */
108
+ export function copyOntoFresh(source, dest, expectSrc) {
94
109
  const tmp = `${dest}.tmp-${process.pid}`;
110
+ // O_NOFOLLOW fails the open closed if a final-component symlink was swapped in. (O_CLOEXEC is omitted:
111
+ // it is undefined on macOS Node and absent from @types/node, and no child process is spawned during
112
+ // this fd's synchronous lifetime, so close-on-exec would be a no-op here.)
113
+ const NOFOLLOW = fs.constants.O_NOFOLLOW ?? 0;
114
+ let srcFd = -1;
115
+ let destFd = -1;
116
+ let data = null;
95
117
  try {
96
118
  try {
97
- fs.rmSync(tmp, { force: true });
119
+ fs.rmSync(tmp, { force: true }); // clear any stale temp so the O_EXCL create below succeeds
98
120
  }
99
121
  catch {
100
122
  /* ignore */
101
123
  }
102
- fs.copyFileSync(source, tmp, fs.constants.COPYFILE_EXCL); // fresh inode; never through an existing one
103
- fs.chmodSync(tmp, 0o600);
104
- fs.renameSync(tmp, dest); // atomic dir-entry swap; old inode unlinked, not written
105
- fs.chmodSync(dest, 0o600);
124
+ // (1) fd-first source read: open, then validate ON THE FD — never re-resolve the source path.
125
+ srcFd = fs.openSync(source, fs.constants.O_RDONLY | NOFOLLOW);
126
+ const st = fs.fstatSync(srcFd);
127
+ if (!st.isFile() || st.nlink !== 1)
128
+ return false; // authoritative: regular file, single link
129
+ if (expectSrc && (st.dev !== expectSrc.dev || st.ino !== expectSrc.ino))
130
+ return false; // swapped in the window
131
+ const size = st.size;
132
+ data = Buffer.allocUnsafe(size);
133
+ let read = 0;
134
+ while (read < size) {
135
+ const n = fs.readSync(srcFd, data, read, size - read, read);
136
+ if (n === 0)
137
+ break;
138
+ read += n;
139
+ }
140
+ if (read !== size)
141
+ return false; // torn/truncated read (the source changed under us) → fail safe
142
+ // (2) fd-first dest temp: fresh inode (O_EXCL), 0600 AT creation, byte-copy, fsync, atomic rename.
143
+ destFd = fs.openSync(tmp, fs.constants.O_CREAT | fs.constants.O_EXCL | fs.constants.O_WRONLY | NOFOLLOW, 0o600);
144
+ fs.fchmodSync(destFd, 0o600); // pin 0600 on the fd regardless of umask (no path chmod window)
145
+ let written = 0;
146
+ while (written < size) {
147
+ written += fs.writeSync(destFd, data, written, size - written);
148
+ }
149
+ fs.fsyncSync(destFd); // durability before the sole atomic publish
150
+ fs.closeSync(destFd);
151
+ destFd = -1;
152
+ fs.renameSync(tmp, dest); // atomic dir-entry swap; any old dest inode is unlinked, never written
106
153
  return true;
107
154
  }
108
155
  catch {
156
+ return false;
157
+ }
158
+ finally {
159
+ if (srcFd >= 0) {
160
+ try {
161
+ fs.closeSync(srcFd);
162
+ }
163
+ catch {
164
+ /* ignore */
165
+ }
166
+ }
167
+ if (destFd >= 0) {
168
+ try {
169
+ fs.closeSync(destFd);
170
+ }
171
+ catch {
172
+ /* ignore */
173
+ }
174
+ }
175
+ if (data)
176
+ data.fill(0); // scrub the secret bytes out of the transient JS buffer
109
177
  try {
110
- fs.rmSync(tmp, { force: true });
178
+ fs.rmSync(tmp, { force: true }); // remove any orphan temp (no-op after a successful rename)
111
179
  }
112
180
  catch {
113
181
  /* ignore */
114
182
  }
115
- return false;
116
183
  }
117
184
  }
118
185
  function countProfiles(profileDir) {
@@ -194,7 +261,8 @@ export function authValidate(paths, name) {
194
261
  export function authSave(paths, name) {
195
262
  if (!validateProfileName(name))
196
263
  return { ok: false, reason: "invalid_profile" };
197
- if (!isFile(paths.activeAuth))
264
+ const srcStat = lstatSafe(paths.activeAuth);
265
+ if (srcStat === null || !srcStat.isFile())
198
266
  return { ok: false, reason: "not_configured" };
199
267
  const target = path.join(paths.profileDir, `${name}.json`);
200
268
  // Refuse a symlinked profile-dir BEFORE mkdir/chmod so we never follow it out of CODEX_HOME or
@@ -216,7 +284,9 @@ export function authSave(paths, name) {
216
284
  return { ok: false, reason: "unsafe_path" };
217
285
  if (!destReplaceable(target))
218
286
  return { ok: false, reason: "unsafe_path" };
219
- if (!copyOntoFresh(paths.activeAuth, target))
287
+ // Thread the earlier lstat so copyOntoFresh can confirm the opened fd is still the same inode
288
+ // (dev/ino) it was checked as — a swap of the active auth in the check-then-use window fails safe.
289
+ if (!copyOntoFresh(paths.activeAuth, target, { dev: srcStat.dev, ino: srcStat.ino }))
220
290
  return { ok: false, reason: "io_error" };
221
291
  return { ok: true, name, path: target, mode: "600" };
222
292
  }
@@ -226,7 +296,8 @@ export function authSwitch(paths, name) {
226
296
  if (!validateProfileName(name))
227
297
  return { ok: false, reason: "invalid_profile" };
228
298
  const source = path.join(paths.profileDir, `${name}.json`);
229
- if (lstatSafe(source) === null)
299
+ const srcStat = lstatSafe(source);
300
+ if (srcStat === null)
230
301
  return { ok: false, reason: "missing_profile" };
231
302
  if (!isSafeProfileFile(source, paths.profileDir))
232
303
  return { ok: false, reason: "unsafe_path" };
@@ -248,7 +319,8 @@ export function authSwitch(paths, name) {
248
319
  }
249
320
  if (!realDirContained(paths.codexHome, paths.codexHome))
250
321
  return { ok: false, reason: "unsafe_path" };
251
- if (!copyOntoFresh(source, paths.activeAuth))
322
+ // dev/ino continuity: the opened profile fd must still be the inode we checked (swap in the window fails safe).
323
+ if (!copyOntoFresh(source, paths.activeAuth, { dev: srcStat.dev, ino: srcStat.ino }))
252
324
  return { ok: false, reason: "io_error" };
253
325
  return {
254
326
  ok: true,
@@ -1 +1 @@
1
- {"version":3,"file":"codex-auth.js","sourceRoot":"","sources":["../../src/lib/codex-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-auth.js","sourceRoot":"","sources":["../../src/lib/codex-auth.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export type RailStatus = "present" | "missing" | "malformed" | "readme-only";
2
2
  export type FindingSeverity = "high" | "medium" | "low" | "info";
3
- export type FindingKind = "missing_progress" | "registration_ghost" | "missing_id" | "id_convention_violation" | "orphan_progress" | "missing_mission_brief" | "malformed_mission_brief" | "missing_mission_notes" | "missing_proof";
3
+ export type FindingKind = "missing_progress" | "registration_ghost" | "missing_id" | "id_convention_violation" | "orphan_progress" | "missing_mission_brief" | "malformed_mission_brief" | "missing_mission_notes" | "missing_proof" | "progress_not_updated_on_commit";
4
4
  export interface AuditFinding {
5
5
  kind: FindingKind;
6
6
  severity: FindingSeverity;
@@ -28,6 +28,8 @@ export interface ScopeAuditInput {
28
28
  proofDirHasEntries?: boolean;
29
29
  hasProofPacket?: boolean;
30
30
  sliceStatus?: string | null;
31
+ sliceTouchedByRecentCommit?: boolean;
32
+ progressTouchedByRecentCommit?: boolean;
31
33
  }
32
34
  export interface ScopeAuditResult {
33
35
  railStatus: RailStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"scope-audit.d.ts","sourceRoot":"","sources":["../../../src/lib/scope/scope-audit.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,YAAY,GACZ,yBAAyB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,yBAAyB,GACzB,uBAAuB,GACvB,eAAe,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AA+CD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAkJ1E"}
1
+ {"version":3,"file":"scope-audit.d.ts","sourceRoot":"","sources":["../../../src/lib/scope/scope-audit.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;AAC7E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,YAAY,GACZ,yBAAyB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,yBAAyB,GACzB,uBAAuB,GACvB,eAAe,GACf,gCAAgC,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ5B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AA2DD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAwK1E"}
@@ -44,6 +44,18 @@ function statusRequiresProof(status) {
44
44
  || normalized.includes("proven")
45
45
  || normalized.includes("promoted");
46
46
  }
47
+ // A mission is ACTIVE unless its status names a terminal / archived state.
48
+ // The SOP wants missing_mission_notes to fire for an ACTIVE mission only — a
49
+ // shipped/archived mission no longer needs a live continuity file. No status
50
+ // => treat as active (still flag), which preserves the pre-tighten behavior for
51
+ // the common status-less mission.
52
+ function missionIsActive(status) {
53
+ if (!status)
54
+ return true;
55
+ const normalized = status.toLowerCase();
56
+ const terminal = ["archiv", "complete", "done", "shipped", "closed", "historical", "superseded", "abandoned"];
57
+ return !terminal.some((token) => normalized.includes(token));
58
+ }
47
59
  export function classifyScopeItem(input) {
48
60
  const findings = [];
49
61
  let frontmatterError = null;
@@ -157,7 +169,8 @@ export function classifyScopeItem(input) {
157
169
  remediation: missionBriefFix(),
158
170
  });
159
171
  }
160
- if (input.missionNotesExists === false) {
172
+ if (input.missionNotesExists === false
173
+ && missionIsActive(parseStatusFromFrontmatter(input.readmeFrontmatterRaw))) {
161
174
  const notesPath = input.missionNotesPath ?? childPath(input.path, "MISSION_NOTES.md");
162
175
  findings.push({
163
176
  kind: "missing_mission_notes",
@@ -185,6 +198,22 @@ export function classifyScopeItem(input) {
185
198
  remediation: "Add PROOF.md at the slice root and put verification artifacts under proof/ per the slice-closeout SOP.",
186
199
  });
187
200
  }
201
+ // committed-without-PROGRESS. Fires only on POSITIVE evidence: the most
202
+ // recent commit (HEAD) touched this slice AND definitively did NOT touch its
203
+ // PROGRESS.md. Inputs are git-derived and CLI-only; when git context is
204
+ // unavailable they are left undefined and this branch is inert (no
205
+ // false-green, no false-positive). See ScopeAuditInput.
206
+ if (input.sliceTouchedByRecentCommit === true
207
+ && input.progressTouchedByRecentCommit === false) {
208
+ const progressPath = childPath(input.path, "PROGRESS.md");
209
+ findings.push({
210
+ kind: "progress_not_updated_on_commit",
211
+ severity: "medium",
212
+ path: progressPath,
213
+ message: "The most recent commit (HEAD) touched this slice but did not update PROGRESS.md.",
214
+ remediation: "Update PROGRESS.md to reflect the committed change (one line per outcome) and amend or add a follow-up commit. Per the mission-slice-sop, PROGRESS.md is updated on every commit — fix the flag, do not suppress it.",
215
+ });
216
+ }
188
217
  }
189
218
  return { railStatus, findings, frontmatterError };
190
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scope-audit.js","sourceRoot":"","sources":["../../../src/lib/scope/scope-audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-audit.js","sourceRoot":"","sources":["../../../src/lib/scope/scope-audit.ts"],"names":[],"mappings":"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"}
@@ -19,3 +19,44 @@ created: {{created_date}}
19
19
  ## Status
20
20
 
21
21
  [Where the mission is right now]
22
+
23
+ ---
24
+
25
+ ## Mission/Slice SOP — how you work this mission & slice
26
+
27
+ > The canonical files below are the **operating surface of the work** — you track on them, prove on them, hand off through them, and survive compaction on them. They are NOT side-artifacts to "maintain"; keeping them current *is* the work. Load the `mission-slice-sop` skill for the full operating procedure.
28
+
29
+ ### The canonical files (the operating surface)
30
+
31
+ - **README.md** (mission + slice) — the overview: what the mission/slice is + why. The **mission README carries this SOP at its bottom.**
32
+ - **PROGRESS.md** — the live delivery state. One line per outcome; links down for detail.
33
+ - **MISSION_NOTES.md** — the accruing handoff + tribal-knowledge doc. Blank-slate onboarding + **compaction-restore** read it. `§1` top-of-mind + per-seat `§A–§X`.
34
+ - **MISSION_BRIEF.md** — the steering doc (the UI "Steering" tab). The 7-section schema.
35
+ - **PROOF.md** (+ `proof/`) — acceptance evidence. **A slice is not done until every plan success-criterion has proof.**
36
+
37
+ ### Per-file rules — WHO / WHEN / HOW
38
+
39
+ - **PROGRESS.md** — WHO: the orchestrator owns `§1` (current state); every agent logs its own outcomes. WHEN: after every slice-done **AND every commit**; on any material state change. HOW: one line per outcome (checkbox), link down for detail; keep frontmatter `stage`/`verified` honest.
40
+ - **PROOF.md** — WHO: the impl/QA pair that worked the slice. WHEN: a slice is **NOT "done"** until PROOF.md exists and every plan success-criterion has evidence. HOW: proof maps **1:1 to the plan's acceptance/success criteria** — each criterion gets an evidence artifact in `proof/` + a line in PROOF.md. No proof → not done.
41
+ - **MISSION_NOTES.md** — WHO: any agent updates `§1`; each seat owns its own `§A–§X`. WHEN: on any material change; a compacting agent **files its state here BEFORE compaction and reads it on restore.** HOW: accruing tribal knowledge; `§1` ≤ 5–15 lines; pointer-first.
42
+ - **MISSION_BRIEF.md** — WHO: product/design (steering owner). WHEN: when steering changes. HOW: the 7-section steering schema (the UI "Steering" tab reads it).
43
+ - **README.md** — WHO: the author at creation; refreshed on rescope. WHEN: at creation + when scope/theme changes. HOW: overview + honest frontmatter; the mission README carries this SOP at its bottom.
44
+
45
+ ### The lifecycle (4 legs)
46
+
47
+ **SCAFFOLD** (`rig scope` creates the files from templates) → **POPULATE** (agents fill them as work happens) → **PROJECT** (the workspace UI reads them into tabs) → **VERIFY** (`rig scope audit` checks adherence). "Loose freeform write + deterministic verify."
48
+
49
+ ### Hot-potato (handoffs)
50
+
51
+ End every turn by passing the ball — a `rig queue` handoff to the next agent (close the qitem with a `closure_reason`). The **durable ball-pass is the queue close, not a chat message.** Never go idle without a handoff.
52
+
53
+ ### Verify (deterministic backstop)
54
+
55
+ Run `rig scope audit` at slice-close. It flags: committed-without-touching-PROGRESS; slice-marked-done-without-PROOF; active-mission-without-MISSION_NOTES; MISSION_BRIEF off-schema. **Fix the flag, don't suppress it.**
56
+
57
+ ### Moment-of-truth checklist
58
+
59
+ - **Finishing a slice?** → PROOF complete (every criterion has evidence)? PROGRESS updated? MISSION_NOTES `§1` refreshed? Handed off via queue?
60
+ - **Committing?** → PROGRESS updated?
61
+ - **Compacting?** → filed your state in MISSION_NOTES?
62
+ - **Starting on a mission?** → read the mission README (incl. this SOP) + MISSION_NOTES?
@@ -1,5 +1,7 @@
1
1
  # Progress — {{missionName}}
2
2
 
3
+ > **WHO/WHEN:** the orchestrator owns the current-state summary; every agent logs its own outcomes here after every slice-done AND every commit. One line per outcome, link down for detail. See the `mission-slice-sop` skill + the `markdown-control-plane` convention.
4
+
3
5
  ## Milestones
4
6
 
5
7
  - [ ] Scope complete (all slices shaped)
@@ -24,3 +24,44 @@ created: {{created_date}}
24
24
  ## Acceptance
25
25
 
26
26
  [Release-level done definition]
27
+
28
+ ---
29
+
30
+ ## Mission/Slice SOP — how you work this mission & slice
31
+
32
+ > The canonical files below are the **operating surface of the work** — you track on them, prove on them, hand off through them, and survive compaction on them. They are NOT side-artifacts to "maintain"; keeping them current *is* the work. Load the `mission-slice-sop` skill for the full operating procedure.
33
+
34
+ ### The canonical files (the operating surface)
35
+
36
+ - **README.md** (mission + slice) — the overview: what the mission/slice is + why. The **mission README carries this SOP at its bottom.**
37
+ - **PROGRESS.md** — the live delivery state. One line per outcome; links down for detail.
38
+ - **MISSION_NOTES.md** — the accruing handoff + tribal-knowledge doc. Blank-slate onboarding + **compaction-restore** read it. `§1` top-of-mind + per-seat `§A–§X`.
39
+ - **MISSION_BRIEF.md** — the steering doc (the UI "Steering" tab). The 7-section schema.
40
+ - **PROOF.md** (+ `proof/`) — acceptance evidence. **A slice is not done until every plan success-criterion has proof.**
41
+
42
+ ### Per-file rules — WHO / WHEN / HOW
43
+
44
+ - **PROGRESS.md** — WHO: the orchestrator owns `§1` (current state); every agent logs its own outcomes. WHEN: after every slice-done **AND every commit**; on any material state change. HOW: one line per outcome (checkbox), link down for detail; keep frontmatter `stage`/`verified` honest.
45
+ - **PROOF.md** — WHO: the impl/QA pair that worked the slice. WHEN: a slice is **NOT "done"** until PROOF.md exists and every plan success-criterion has evidence. HOW: proof maps **1:1 to the plan's acceptance/success criteria** — each criterion gets an evidence artifact in `proof/` + a line in PROOF.md. No proof → not done.
46
+ - **MISSION_NOTES.md** — WHO: any agent updates `§1`; each seat owns its own `§A–§X`. WHEN: on any material change; a compacting agent **files its state here BEFORE compaction and reads it on restore.** HOW: accruing tribal knowledge; `§1` ≤ 5–15 lines; pointer-first.
47
+ - **MISSION_BRIEF.md** — WHO: product/design (steering owner). WHEN: when steering changes. HOW: the 7-section steering schema (the UI "Steering" tab reads it).
48
+ - **README.md** — WHO: the author at creation; refreshed on rescope. WHEN: at creation + when scope/theme changes. HOW: overview + honest frontmatter; the mission README carries this SOP at its bottom.
49
+
50
+ ### The lifecycle (4 legs)
51
+
52
+ **SCAFFOLD** (`rig scope` creates the files from templates) → **POPULATE** (agents fill them as work happens) → **PROJECT** (the workspace UI reads them into tabs) → **VERIFY** (`rig scope audit` checks adherence). "Loose freeform write + deterministic verify."
53
+
54
+ ### Hot-potato (handoffs)
55
+
56
+ End every turn by passing the ball — a `rig queue` handoff to the next agent (close the qitem with a `closure_reason`). The **durable ball-pass is the queue close, not a chat message.** Never go idle without a handoff.
57
+
58
+ ### Verify (deterministic backstop)
59
+
60
+ Run `rig scope audit` at slice-close. It flags: committed-without-touching-PROGRESS; slice-marked-done-without-PROOF; active-mission-without-MISSION_NOTES; MISSION_BRIEF off-schema. **Fix the flag, don't suppress it.**
61
+
62
+ ### Moment-of-truth checklist
63
+
64
+ - **Finishing a slice?** → PROOF complete (every criterion has evidence)? PROGRESS updated? MISSION_NOTES `§1` refreshed? Handed off via queue?
65
+ - **Committing?** → PROGRESS updated?
66
+ - **Compacting?** → filed your state in MISSION_NOTES?
67
+ - **Starting on a mission?** → read the mission README (incl. this SOP) + MISSION_NOTES?
@@ -37,3 +37,7 @@ Non-visual slices: mark this section N/A.
37
37
  ## Acceptance
38
38
 
39
39
  - [3-5 bullets]
40
+
41
+ ---
42
+
43
+ > **How you work this slice (SOP):** track on PROGRESS.md, prove on PROOF.md (+ `proof/`), carry state in the mission's MISSION_NOTES.md, and hand off via `rig queue`. A slice is **not done until PROOF.md exists** and every acceptance bullet has evidence. The full operating procedure lives in the mission README's Mission/Slice SOP section and the `mission-slice-sop` skill. Verify with `rig scope audit`.
@@ -1,5 +1,7 @@
1
1
  # PROOF — {{id}} {{title}}
2
2
 
3
+ > **WHO/WHEN:** the impl/QA pair that worked the slice, at slice-close — a slice is NOT done until this file exists and every plan success-criterion has evidence (mapped 1:1, artifacts under `proof/`). See the `mission-slice-sop` skill + the `markdown-control-plane` convention.
4
+
3
5
  Closed by: <seat> Date: <date> Verdict: <pass | pass-with-residue | ...>
4
6
 
5
7
  ## What this proves
@@ -1,5 +1,7 @@
1
1
  # Progress — {{sliceName}}
2
2
 
3
+ > **WHO/WHEN:** every agent working this slice logs its own outcomes here after every slice-done AND every commit. One line per outcome, link down for detail. See the `mission-slice-sop` skill + the `markdown-control-plane` convention.
4
+
3
5
  ## Acceptance
4
6
 
5
7
  - [ ] Implementation complete
@@ -1,3 +1,22 @@
1
+ /**
2
+ * Sentinel file a QA/test fixture drops in its scratch OPENRIG_HOME to mark
3
+ * the home as fixture-scoped. This is the preferred (most-honest) signal.
4
+ */
5
+ export declare const FIXTURE_HOME_MARKER = ".openrig-fixture";
6
+ /**
7
+ * OPR.0.4.3.12 — PATH-ONLY predicate: is `home` a fixture-scoped OpenRig home?
8
+ *
9
+ * Recognizes a fixture home by EITHER an explicit sentinel marker file
10
+ * (`.openrig-fixture`, preferred/most-honest) OR the temp-path QA convention
11
+ * (an `openrig-qa*` home under a system temp root, e.g.
12
+ * `OPENRIG_HOME=/tmp/openrig-qa-…-home`).
13
+ *
14
+ * Deliberately has NO ConfigStore dependency: `ConfigStore` imports this
15
+ * module, so importing it here would create a cycle. Callers that need the
16
+ * divergent-daemon-target confirmation (restore-check) compose this path
17
+ * predicate with `ConfigStore.resolveWithSource` at the call site.
18
+ */
19
+ export declare function isFixtureScopedHome(home: string): boolean;
1
20
  export declare function getOpenRigHome(): string;
2
21
  export declare function getLegacyRiggedHome(): string;
3
22
  export declare const OPENRIG_HOME: string;
@@ -1 +1 @@
1
- {"version":3,"file":"openrig-compat.d.ts","sourceRoot":"","sources":["../src/openrig-compat.ts"],"names":[],"mappings":"AAMA,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,eAAO,MAAM,YAAY,QAAmB,CAAC;AAC7C,eAAO,MAAM,kBAAkB,QAAwB,CAAC;AAQxD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAanF;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAahD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgBjE"}
1
+ {"version":3,"file":"openrig-compat.d.ts","sourceRoot":"","sources":["../src/openrig-compat.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAWzD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,eAAO,MAAM,YAAY,QAAmB,CAAC;AAC7C,eAAO,MAAM,kBAAkB,QAAwB,CAAC;AAQxD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAanF;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAahD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgBjE"}
@@ -1,7 +1,37 @@
1
1
  import { existsSync } from "node:fs";
2
- import { homedir } from "node:os";
2
+ import { homedir, tmpdir } from "node:os";
3
3
  import { join } from "node:path";
4
4
  const warnedKeys = new Set();
5
+ /**
6
+ * Sentinel file a QA/test fixture drops in its scratch OPENRIG_HOME to mark
7
+ * the home as fixture-scoped. This is the preferred (most-honest) signal.
8
+ */
9
+ export const FIXTURE_HOME_MARKER = ".openrig-fixture";
10
+ /**
11
+ * OPR.0.4.3.12 — PATH-ONLY predicate: is `home` a fixture-scoped OpenRig home?
12
+ *
13
+ * Recognizes a fixture home by EITHER an explicit sentinel marker file
14
+ * (`.openrig-fixture`, preferred/most-honest) OR the temp-path QA convention
15
+ * (an `openrig-qa*` home under a system temp root, e.g.
16
+ * `OPENRIG_HOME=/tmp/openrig-qa-…-home`).
17
+ *
18
+ * Deliberately has NO ConfigStore dependency: `ConfigStore` imports this
19
+ * module, so importing it here would create a cycle. Callers that need the
20
+ * divergent-daemon-target confirmation (restore-check) compose this path
21
+ * predicate with `ConfigStore.resolveWithSource` at the call site.
22
+ */
23
+ export function isFixtureScopedHome(home) {
24
+ if (!home)
25
+ return false;
26
+ // 1. Explicit sentinel marker file in the home — the most honest signal.
27
+ if (existsSync(join(home, FIXTURE_HOME_MARKER)))
28
+ return true;
29
+ // 2. Temp-path QA-fixture convention: an `openrig-qa*` home under a
30
+ // system temp root.
31
+ const tempRoots = [tmpdir(), "/tmp", "/private/tmp", "/var/folders"];
32
+ const underTemp = tempRoots.some((root) => home === root || home.startsWith(root.endsWith("/") ? root : `${root}/`));
33
+ return underTemp && /(^|\/)openrig-qa[^/]*/.test(home);
34
+ }
5
35
  export function getOpenRigHome() {
6
36
  const configured = readOpenRigEnv("OPENRIG_HOME", "RIGGED_HOME");
7
37
  if (configured !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"openrig-compat.js","sourceRoot":"","sources":["../src/openrig-compat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrig-compat.js","sourceRoot":"","sources":["../src/openrig-compat.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrig/cli",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "type": "module",
5
5
  "description": "Local control plane for multi-agent coding topologies",
6
6
  "keywords": [