@paths.design/caws-cli 11.1.6 → 11.1.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 (190) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +55 -58
  3. package/dist/init/hook-packs/manifest-claude-code.d.ts +1 -1
  4. package/dist/init/hook-packs/manifest-claude-code.d.ts.map +1 -1
  5. package/dist/init/hook-packs/manifest-claude-code.js +317 -6
  6. package/dist/init/hook-packs/manifest-claude-code.js.map +1 -1
  7. package/dist/init/hook-packs/types.js +1 -1
  8. package/dist/init/hook-packs/types.js.map +1 -1
  9. package/dist/shell/binding/resolve-binding.d.ts.map +1 -1
  10. package/dist/shell/binding/resolve-binding.js +105 -1
  11. package/dist/shell/binding/resolve-binding.js.map +1 -1
  12. package/dist/shell/binding/types.d.ts +47 -3
  13. package/dist/shell/binding/types.d.ts.map +1 -1
  14. package/dist/shell/command-metadata.d.ts +93 -0
  15. package/dist/shell/command-metadata.d.ts.map +1 -0
  16. package/dist/shell/command-metadata.js +687 -0
  17. package/dist/shell/command-metadata.js.map +1 -0
  18. package/dist/shell/commands/agents.d.ts +48 -0
  19. package/dist/shell/commands/agents.d.ts.map +1 -0
  20. package/dist/shell/commands/agents.js +577 -0
  21. package/dist/shell/commands/agents.js.map +1 -0
  22. package/dist/shell/commands/claim.d.ts +16 -0
  23. package/dist/shell/commands/claim.d.ts.map +1 -1
  24. package/dist/shell/commands/claim.js +88 -30
  25. package/dist/shell/commands/claim.js.map +1 -1
  26. package/dist/shell/commands/events.d.ts +106 -0
  27. package/dist/shell/commands/events.d.ts.map +1 -0
  28. package/dist/shell/commands/events.js +510 -0
  29. package/dist/shell/commands/events.js.map +1 -0
  30. package/dist/shell/commands/gates.d.ts +2 -2
  31. package/dist/shell/commands/gates.d.ts.map +1 -1
  32. package/dist/shell/commands/gates.js +106 -25
  33. package/dist/shell/commands/gates.js.map +1 -1
  34. package/dist/shell/commands/init.d.ts.map +1 -1
  35. package/dist/shell/commands/init.js +26 -0
  36. package/dist/shell/commands/init.js.map +1 -1
  37. package/dist/shell/commands/prepush.d.ts +26 -0
  38. package/dist/shell/commands/prepush.d.ts.map +1 -0
  39. package/dist/shell/commands/prepush.js +373 -0
  40. package/dist/shell/commands/prepush.js.map +1 -0
  41. package/dist/shell/commands/scope.d.ts.map +1 -1
  42. package/dist/shell/commands/scope.js +31 -1
  43. package/dist/shell/commands/scope.js.map +1 -1
  44. package/dist/shell/commands/specs.d.ts +44 -3
  45. package/dist/shell/commands/specs.d.ts.map +1 -1
  46. package/dist/shell/commands/specs.js +411 -15
  47. package/dist/shell/commands/specs.js.map +1 -1
  48. package/dist/shell/commands/status.d.ts +12 -0
  49. package/dist/shell/commands/status.d.ts.map +1 -1
  50. package/dist/shell/commands/status.js +236 -21
  51. package/dist/shell/commands/status.js.map +1 -1
  52. package/dist/shell/commands/worktree.d.ts +9 -0
  53. package/dist/shell/commands/worktree.d.ts.map +1 -1
  54. package/dist/shell/commands/worktree.js +353 -1
  55. package/dist/shell/commands/worktree.js.map +1 -1
  56. package/dist/shell/gates/disposition.d.ts.map +1 -1
  57. package/dist/shell/gates/disposition.js +43 -2
  58. package/dist/shell/gates/disposition.js.map +1 -1
  59. package/dist/shell/index.d.ts +14 -6
  60. package/dist/shell/index.d.ts.map +1 -1
  61. package/dist/shell/index.js +32 -1
  62. package/dist/shell/index.js.map +1 -1
  63. package/dist/shell/legacy-command-map.js +832 -0
  64. package/dist/shell/push-range/classify-range.d.ts +99 -0
  65. package/dist/shell/push-range/classify-range.d.ts.map +1 -0
  66. package/dist/shell/push-range/classify-range.js +155 -0
  67. package/dist/shell/push-range/classify-range.js.map +1 -0
  68. package/dist/shell/push-range/scope-match.d.ts +13 -0
  69. package/dist/shell/push-range/scope-match.d.ts.map +1 -0
  70. package/dist/shell/push-range/scope-match.js +53 -0
  71. package/dist/shell/push-range/scope-match.js.map +1 -0
  72. package/dist/shell/register.d.ts.map +1 -1
  73. package/dist/shell/register.js +350 -165
  74. package/dist/shell/register.js.map +1 -1
  75. package/dist/shell/registered-command-groups.js +48 -0
  76. package/dist/shell/render/status.d.ts +7 -1
  77. package/dist/shell/render/status.d.ts.map +1 -1
  78. package/dist/shell/render/status.js +72 -0
  79. package/dist/shell/render/status.js.map +1 -1
  80. package/dist/shell/rules.d.ts +19 -0
  81. package/dist/shell/rules.d.ts.map +1 -1
  82. package/dist/shell/rules.js +27 -0
  83. package/dist/shell/rules.js.map +1 -1
  84. package/dist/shell/session/resolve-session.d.ts +29 -1
  85. package/dist/shell/session/resolve-session.d.ts.map +1 -1
  86. package/dist/shell/session/resolve-session.js +817 -11
  87. package/dist/shell/session/resolve-session.js.map +1 -1
  88. package/dist/shell/session/types.d.ts +127 -1
  89. package/dist/shell/session/types.d.ts.map +1 -1
  90. package/dist/shell/session/types.js +10 -4
  91. package/dist/shell/session/types.js.map +1 -1
  92. package/dist/store/agents-store.d.ts.map +1 -1
  93. package/dist/store/agents-store.js +9 -0
  94. package/dist/store/agents-store.js.map +1 -1
  95. package/dist/store/apply-patch.d.ts.map +1 -1
  96. package/dist/store/apply-patch.js +15 -0
  97. package/dist/store/apply-patch.js.map +1 -1
  98. package/dist/store/doctor-snapshot.d.ts.map +1 -1
  99. package/dist/store/doctor-snapshot.js +169 -3
  100. package/dist/store/doctor-snapshot.js.map +1 -1
  101. package/dist/store/events-migration.d.ts +207 -0
  102. package/dist/store/events-migration.d.ts.map +1 -0
  103. package/dist/store/events-migration.js +358 -0
  104. package/dist/store/events-migration.js.map +1 -0
  105. package/dist/store/events-store.d.ts +47 -1
  106. package/dist/store/events-store.d.ts.map +1 -1
  107. package/dist/store/events-store.js +278 -0
  108. package/dist/store/events-store.js.map +1 -1
  109. package/dist/store/git-autocommit.d.ts +46 -0
  110. package/dist/store/git-autocommit.d.ts.map +1 -0
  111. package/dist/store/git-autocommit.js +198 -0
  112. package/dist/store/git-autocommit.js.map +1 -0
  113. package/dist/store/git-sparse-checkout.d.ts +25 -0
  114. package/dist/store/git-sparse-checkout.d.ts.map +1 -0
  115. package/dist/store/git-sparse-checkout.js +101 -0
  116. package/dist/store/git-sparse-checkout.js.map +1 -0
  117. package/dist/store/index.d.ts +6 -1
  118. package/dist/store/index.d.ts.map +1 -1
  119. package/dist/store/index.js +16 -1
  120. package/dist/store/index.js.map +1 -1
  121. package/dist/store/leases-store.d.ts +89 -0
  122. package/dist/store/leases-store.d.ts.map +1 -0
  123. package/dist/store/leases-store.js +427 -0
  124. package/dist/store/leases-store.js.map +1 -0
  125. package/dist/store/lifecycle-transaction.d.ts.map +1 -1
  126. package/dist/store/lifecycle-transaction.js +34 -1
  127. package/dist/store/lifecycle-transaction.js.map +1 -1
  128. package/dist/store/rules.d.ts +74 -1
  129. package/dist/store/rules.d.ts.map +1 -1
  130. package/dist/store/rules.js +76 -0
  131. package/dist/store/rules.js.map +1 -1
  132. package/dist/store/specs-migration.d.ts +128 -0
  133. package/dist/store/specs-migration.d.ts.map +1 -0
  134. package/dist/store/specs-migration.js +481 -0
  135. package/dist/store/specs-migration.js.map +1 -0
  136. package/dist/store/specs-store.d.ts.map +1 -1
  137. package/dist/store/specs-store.js +14 -2
  138. package/dist/store/specs-store.js.map +1 -1
  139. package/dist/store/specs-writer.d.ts +130 -3
  140. package/dist/store/specs-writer.d.ts.map +1 -1
  141. package/dist/store/specs-writer.js +941 -102
  142. package/dist/store/specs-writer.js.map +1 -1
  143. package/dist/store/types.d.ts +31 -1
  144. package/dist/store/types.d.ts.map +1 -1
  145. package/dist/store/waivers-store.d.ts.map +1 -1
  146. package/dist/store/waivers-store.js +8 -1
  147. package/dist/store/waivers-store.js.map +1 -1
  148. package/dist/store/worktrees-migration.d.ts +141 -0
  149. package/dist/store/worktrees-migration.d.ts.map +1 -0
  150. package/dist/store/worktrees-migration.js +356 -0
  151. package/dist/store/worktrees-migration.js.map +1 -0
  152. package/dist/store/worktrees-writer.d.ts +28 -0
  153. package/dist/store/worktrees-writer.d.ts.map +1 -1
  154. package/dist/store/worktrees-writer.js +147 -13
  155. package/dist/store/worktrees-writer.js.map +1 -1
  156. package/package.json +5 -2
  157. package/templates/hook-packs/claude-code/CLAUDE.md +11 -5
  158. package/templates/hook-packs/claude-code/agent-heartbeat.sh +131 -0
  159. package/templates/hook-packs/claude-code/agent-register.sh +62 -0
  160. package/templates/hook-packs/claude-code/agent-stop.sh +51 -0
  161. package/templates/hook-packs/claude-code/audit.sh +1 -1
  162. package/templates/hook-packs/claude-code/block-dangerous.sh +1 -1
  163. package/templates/hook-packs/claude-code/classify_command.py +1 -1
  164. package/templates/hook-packs/claude-code/cwd-guard.sh +30 -0
  165. package/templates/hook-packs/claude-code/dispatch/post_tool_use.sh +15 -4
  166. package/templates/hook-packs/claude-code/dispatch/pre_tool_use.sh +19 -2
  167. package/templates/hook-packs/claude-code/dispatch/session_start.sh +6 -2
  168. package/templates/hook-packs/claude-code/dispatch/stop.sh +7 -2
  169. package/templates/hook-packs/claude-code/duplicate-export-check.sh +156 -0
  170. package/templates/hook-packs/claude-code/god-object-check.sh +102 -0
  171. package/templates/hook-packs/claude-code/guard-strikes.sh +1 -1
  172. package/templates/hook-packs/claude-code/lib/parse-input.sh +115 -1
  173. package/templates/hook-packs/claude-code/lib/run-handlers.sh +1 -1
  174. package/templates/hook-packs/claude-code/loc-delta-check.sh +91 -0
  175. package/templates/hook-packs/claude-code/naming-check.sh +128 -0
  176. package/templates/hook-packs/claude-code/plan-transcript-finalize.sh +59 -0
  177. package/templates/hook-packs/claude-code/plan-transcript-snapshot.sh +86 -0
  178. package/templates/hook-packs/claude-code/protected-paths.sh +59 -0
  179. package/templates/hook-packs/claude-code/quiet-merge.sh +68 -0
  180. package/templates/hook-packs/claude-code/reset-danger-latch.sh +1 -1
  181. package/templates/hook-packs/claude-code/reset-strikes.sh +1 -1
  182. package/templates/hook-packs/claude-code/runtime-paths.sh +1 -1
  183. package/templates/hook-packs/claude-code/scan-secrets.sh +98 -0
  184. package/templates/hook-packs/claude-code/scope-guard.sh +47 -65
  185. package/templates/hook-packs/claude-code/session-caws-status.sh +7 -1
  186. package/templates/hook-packs/claude-code/session-log.sh +1 -1
  187. package/templates/hook-packs/claude-code/session_log_renderer.py +956 -0
  188. package/templates/hook-packs/claude-code/shortcut-language-check.sh +147 -0
  189. package/templates/hook-packs/claude-code/worktree-guard.sh +130 -4
  190. package/templates/hook-packs/claude-code/worktree-write-guard.sh +133 -18
@@ -55,17 +55,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
55
55
  exports.runSpecsCreateCommand = runSpecsCreateCommand;
56
56
  exports.runSpecsListCommand = runSpecsListCommand;
57
57
  exports.runSpecsShowCommand = runSpecsShowCommand;
58
+ exports.runSpecsRecoverCommand = runSpecsRecoverCommand;
59
+ exports.runSpecsActivateCommand = runSpecsActivateCommand;
58
60
  exports.runSpecsCloseCommand = runSpecsCloseCommand;
59
61
  exports.runSpecsArchiveCommand = runSpecsArchiveCommand;
62
+ exports.runSpecsRetireDraftCommand = runSpecsRetireDraftCommand;
63
+ exports.runSpecsMigrateCommand = runSpecsMigrateCommand;
64
+ exports.runSpecsPruneArchiveCommand = runSpecsPruneArchiveCommand;
60
65
  const path = __importStar(require("node:path"));
61
66
  const caws_kernel_1 = require("@paths.design/caws-kernel");
62
67
  const store_1 = require("../../store");
63
68
  const specs_writer_1 = require("../../store/specs-writer");
69
+ const caws_kernel_2 = require("@paths.design/caws-kernel");
70
+ const fs = __importStar(require("node:fs"));
64
71
  const actor_1 = require("../session/actor");
65
72
  const resolve_session_1 = require("../session/resolve-session");
66
73
  const diagnostic_1 = require("../render/diagnostic");
67
- const VALID_MODES = ['feature', 'refactor', 'fix', 'doc', 'chore'];
68
- const VALID_RESOLUTIONS = ['completed', 'superseded', 'abandoned'];
74
+ // --mode / --resolution validation reads the kernel's single enum source
75
+ // (SPEC_MODES / SPEC_RESOLUTIONS) rather than re-declaring the values here.
76
+ // This eliminated the prior local VALID_MODES / VALID_RESOLUTIONS duplicate
77
+ // (CAWS-CLI-HELP-METADATA-AUTHORITY-001). The kernel arrays mirror
78
+ // spec.v1.json, which remains the validation authority.
79
+ const VALID_MODES = caws_kernel_2.SPEC_MODES;
80
+ const VALID_RESOLUTIONS = caws_kernel_2.SPEC_RESOLUTIONS;
69
81
  function setupIO(opts) {
70
82
  const cwd = opts.cwd ?? process.cwd();
71
83
  const nowFn = opts.now ?? (() => new Date());
@@ -75,6 +87,34 @@ function setupIO(opts) {
75
87
  const showData = opts.showData === true;
76
88
  return { cwd, nowFn, env, out, err: errFn, showData };
77
89
  }
90
+ /**
91
+ * Surface a non-landed audit commit. The lifecycle YAML change has been
92
+ * applied to the working tree (the transaction succeeded), but the
93
+ * automatic audit commit did NOT land — typically because the target was
94
+ * dirty before the write, or a consumer pre-commit hook refused. A
95
+ * lifecycle command MUST NOT print a bare success line while leaving the
96
+ * change uncommitted: the user has to know to commit it manually, or the
97
+ * spec sits dirty and the next session inherits ambiguous state.
98
+ *
99
+ * Emits the warning on stderr only; does NOT change the command's exit
100
+ * code. The lifecycle OPERATION succeeded (the YAML change is on disk);
101
+ * whether the audit COMMIT landed is a separate fact, surfaced loudly but
102
+ * never turned into a command failure. Flipping the exit code conflates
103
+ * the two and breaks callers that legitimately run where the repo cannot
104
+ * auto-commit. (CAWS-AUTOCOMMIT-INTEGRITY-001 surfaced it;
105
+ * CAWS-AUTOCOMMIT-INTEGRITY-002 corrected the exit-code policy.)
106
+ */
107
+ function surfaceAuditCommit(auditCommit, err) {
108
+ if (auditCommit !== undefined && auditCommit.kind === 'refused_dirty') {
109
+ err('caws specs: the lifecycle change was applied but NOT committed.');
110
+ if (auditCommit.reason !== undefined && auditCommit.reason.length > 0) {
111
+ err(` reason: ${auditCommit.reason}`);
112
+ }
113
+ err(' The spec YAML is changed in your working tree but the audit commit ' +
114
+ 'did not land. Commit it manually (git add <spec> && git commit), ' +
115
+ 'then verify with git log.');
116
+ }
117
+ }
78
118
  function resolveCawsCtx(cwd, errFn, showData, cmd) {
79
119
  const r = (0, store_1.resolveRepoRoot)(cwd);
80
120
  if (!r.ok) {
@@ -102,17 +142,52 @@ function buildActorOrError(cawsDir, cwd, env, nowFn, actorKind, errFn, showData,
102
142
  kind: actorKind ?? 'agent',
103
143
  });
104
144
  }
145
+ const SPECS_CREATE_USAGE = [
146
+ 'Usage:',
147
+ ' caws specs create <id> --title "<short title>" --mode <feature|refactor|fix|doc|chore> --risk-tier <1|2|3>',
148
+ '',
149
+ 'Example:',
150
+ ' caws specs create FEAT-001 --title "Trivial first slice" --mode chore --risk-tier 3',
151
+ '',
152
+ 'Notes:',
153
+ ' --type is not supported in v11. Use --mode instead.',
154
+ ' Risk tier 3 is appropriate for docs, tests, harnesses, and low-blast-radius slices.',
155
+ ' After creation, edit .caws/specs/<id>.yaml and replace TODOs in scope.in, invariants, and acceptance.',
156
+ ].join('\n');
105
157
  function runSpecsCreateCommand(opts) {
106
158
  const { cwd, nowFn, env, out, err, showData } = setupIO(opts);
107
- if (!VALID_MODES.includes(opts.mode)) {
108
- err(`caws specs create: invalid --mode "${opts.mode}". Expected one of: ${VALID_MODES.join(', ')}.`);
159
+ if (opts.legacyType !== undefined) {
160
+ err('caws specs create: --type is not supported in v11. Use --mode instead.');
161
+ err(SPECS_CREATE_USAGE);
162
+ return 1;
163
+ }
164
+ const missing = [
165
+ opts.title === undefined ? '--title' : undefined,
166
+ opts.mode === undefined ? '--mode' : undefined,
167
+ opts.riskTier === undefined ? '--risk-tier' : undefined,
168
+ ].filter((v) => v !== undefined);
169
+ if (missing.length > 0) {
170
+ err(`caws specs create: missing required options: ${missing.join(', ')}`);
171
+ err(SPECS_CREATE_USAGE);
172
+ return 1;
173
+ }
174
+ const title = opts.title;
175
+ const mode = opts.mode;
176
+ const rawRiskTier = opts.riskTier;
177
+ if (title === undefined || mode === undefined || rawRiskTier === undefined) {
178
+ err('caws specs create: missing required options.');
179
+ err(SPECS_CREATE_USAGE);
180
+ return 1;
181
+ }
182
+ if (!VALID_MODES.includes(mode)) {
183
+ err(`caws specs create: invalid --mode "${mode}". Expected one of: ${VALID_MODES.join(', ')}.`);
109
184
  return 1;
110
185
  }
111
- const riskTier = typeof opts.riskTier === 'string'
112
- ? Number.parseInt(opts.riskTier, 10)
113
- : opts.riskTier;
186
+ const riskTier = typeof rawRiskTier === 'string'
187
+ ? Number.parseInt(rawRiskTier, 10)
188
+ : rawRiskTier;
114
189
  if (riskTier !== 1 && riskTier !== 2 && riskTier !== 3) {
115
- err(`caws specs create: invalid --risk-tier "${opts.riskTier}". Expected 1, 2, or 3.`);
190
+ err(`caws specs create: invalid --risk-tier "${rawRiskTier}". Expected 1, 2, or 3.`);
116
191
  return 1;
117
192
  }
118
193
  const ctx = resolveCawsCtx(cwd, err, showData, 'create');
@@ -123,8 +198,8 @@ function runSpecsCreateCommand(opts) {
123
198
  return 2;
124
199
  const result = (0, specs_writer_1.createSpec)(ctx.cawsDir, {
125
200
  id: opts.id,
126
- title: opts.title,
127
- mode: opts.mode,
201
+ title,
202
+ mode: mode,
128
203
  riskTier: riskTier,
129
204
  initialState: 'active',
130
205
  now: nowFn,
@@ -141,7 +216,18 @@ function runSpecsCreateCommand(opts) {
141
216
  err((0, diagnostic_1.renderDiagnostics)(outcome.cause, { showData }));
142
217
  return 1;
143
218
  }
144
- out(`created ${outcome.id} at ${path.relative(ctx.repoRoot, outcome.path)} (lifecycle_state: active)`);
219
+ const relSpecPath = path.relative(ctx.repoRoot, outcome.path);
220
+ out(`created ${outcome.id} at ${relSpecPath} (lifecycle_state: active)`);
221
+ // CAWS-FIRST-CONTACT-UX-001 A4: the spec ships with TODO placeholders
222
+ // in scope.in. Until those are replaced with real file paths, scope-guard
223
+ // will reject every edit because no path is admitted. New users hit
224
+ // this immediately and conclude CAWS is broken.
225
+ out('');
226
+ out('Next: open the spec and replace TODO placeholders before editing files.');
227
+ out(` edit: ${relSpecPath}`);
228
+ out(' scope.in must list the file paths your slice will touch.');
229
+ out(' Until then, scope-guard rejects every edit (no path admitted).');
230
+ surfaceAuditCommit(outcome.data?.audit_commit, err);
145
231
  return 0;
146
232
  }
147
233
  function runSpecsListCommand(opts = {}) {
@@ -169,9 +255,13 @@ function runSpecsListCommand(opts = {}) {
169
255
  }
170
256
  if (opts.includeArchived === true && archived.length > 0) {
171
257
  out('');
172
- out('-- archived --');
258
+ out('-- archived (recoverable from history) --');
173
259
  for (const entry of archived) {
174
- out(`${entry.id.padEnd(28)} ${entry.lifecycle_state.padEnd(8)} ${entry.title}`);
260
+ const blobDisplay = entry.blob_sha !== null
261
+ ? `blob ${entry.blob_sha.slice(0, 8)}`
262
+ : 'legacy (no blob_sha; use git log --follow)';
263
+ out(`${entry.id.padEnd(28)} archived ${entry.archived_at} ${blobDisplay}`);
264
+ out(` recover: caws specs recover ${entry.id}`);
175
265
  }
176
266
  }
177
267
  return 0;
@@ -181,17 +271,79 @@ function runSpecsShowCommand(opts) {
181
271
  const ctx = resolveCawsCtx(cwd, err, showData, 'show');
182
272
  if (ctx === null)
183
273
  return 2;
274
+ if (opts.archived === true) {
275
+ const result = (0, specs_writer_1.recoverArchivedSpec)(ctx.cawsDir, opts.id);
276
+ if (!(0, caws_kernel_1.isOk)(result)) {
277
+ err('caws specs show: failed.');
278
+ err((0, diagnostic_1.renderDiagnostics)(result.errors, { showData }));
279
+ return 1;
280
+ }
281
+ out(result.value.source);
282
+ return 0;
283
+ }
184
284
  const result = (0, specs_writer_1.showSpec)(ctx.cawsDir, opts.id);
185
285
  if (!(0, caws_kernel_1.isOk)(result)) {
186
286
  err('caws specs show: failed.');
187
287
  err((0, diagnostic_1.renderDiagnostics)(result.errors, { showData }));
188
288
  return 1;
189
289
  }
190
- // Print the raw source so the user gets byte-faithful output
191
- // (comments preserved, etc).
192
290
  out(result.value.source);
193
291
  return 0;
194
292
  }
293
+ function runSpecsRecoverCommand(opts) {
294
+ const { cwd, out: stdoutFn, err, showData } = setupIO(opts);
295
+ const ctx = resolveCawsCtx(cwd, err, showData, 'recover');
296
+ if (ctx === null)
297
+ return 2;
298
+ const result = (0, specs_writer_1.recoverArchivedSpec)(ctx.cawsDir, opts.id);
299
+ if (!(0, caws_kernel_1.isOk)(result)) {
300
+ err('caws specs recover: failed.');
301
+ err((0, diagnostic_1.renderDiagnostics)(result.errors, { showData }));
302
+ return 1;
303
+ }
304
+ if (typeof opts.outPath === 'string' && opts.outPath.length > 0) {
305
+ try {
306
+ fs.writeFileSync(opts.outPath, result.value.source);
307
+ stdoutFn(`recovered ${opts.id} to ${opts.outPath}`);
308
+ }
309
+ catch (e) {
310
+ err(`caws specs recover: failed to write to ${opts.outPath}: ${e.message}`);
311
+ return 1;
312
+ }
313
+ }
314
+ else {
315
+ stdoutFn(result.value.source);
316
+ }
317
+ return 0;
318
+ }
319
+ function runSpecsActivateCommand(opts) {
320
+ const { cwd, nowFn, env, out, err, showData } = setupIO(opts);
321
+ const ctx = resolveCawsCtx(cwd, err, showData, 'activate');
322
+ if (ctx === null)
323
+ return 2;
324
+ const actor = buildActorOrError(ctx.cawsDir, cwd, env, nowFn, opts.actorKind, err, showData, 'activate');
325
+ if (actor === null)
326
+ return 2;
327
+ const result = (0, specs_writer_1.activateSpec)(ctx.cawsDir, {
328
+ id: opts.id,
329
+ now: nowFn,
330
+ actor,
331
+ });
332
+ if (!(0, caws_kernel_1.isOk)(result)) {
333
+ err('caws specs activate: failed.');
334
+ err((0, diagnostic_1.renderDiagnostics)(result.errors, { showData }));
335
+ return 1;
336
+ }
337
+ const outcome = result.value;
338
+ if (outcome.kind === 'partial_failure_recovered') {
339
+ err('caws specs activate: partial failure recovered (no state change).');
340
+ err((0, diagnostic_1.renderDiagnostics)(outcome.cause, { showData }));
341
+ return 1;
342
+ }
343
+ out(`activated ${outcome.id}`);
344
+ surfaceAuditCommit(outcome.data?.audit_commit, err);
345
+ return 0;
346
+ }
195
347
  function runSpecsCloseCommand(opts) {
196
348
  const { cwd, nowFn, env, out, err, showData } = setupIO(opts);
197
349
  if (!VALID_RESOLUTIONS.includes(opts.resolution)) {
@@ -229,6 +381,7 @@ function runSpecsCloseCommand(opts) {
229
381
  return 1;
230
382
  }
231
383
  out(`closed ${outcome.id} (resolution: ${opts.resolution})`);
384
+ surfaceAuditCommit(outcome.data?.audit_commit, err);
232
385
  return 0;
233
386
  }
234
387
  function runSpecsArchiveCommand(opts) {
@@ -259,6 +412,249 @@ function runSpecsArchiveCommand(opts) {
259
412
  return 1;
260
413
  }
261
414
  out(`archived ${outcome.id} → ${path.relative(ctx.repoRoot, outcome.path)}`);
415
+ surfaceAuditCommit(outcome.data?.audit_commit, err);
416
+ return 0;
417
+ }
418
+ function runSpecsRetireDraftCommand(opts) {
419
+ const { cwd, nowFn, env, out, err, showData } = setupIO(opts);
420
+ const ctx = resolveCawsCtx(cwd, err, showData, 'retire-draft');
421
+ if (ctx === null)
422
+ return 2;
423
+ const actor = buildActorOrError(ctx.cawsDir, cwd, env, nowFn, opts.actorKind, err, showData, 'retire-draft');
424
+ if (actor === null)
425
+ return 2;
426
+ const input = {
427
+ id: opts.id,
428
+ now: nowFn,
429
+ actor,
430
+ };
431
+ if (opts.reason !== undefined)
432
+ input.reason = opts.reason;
433
+ const result = (0, specs_writer_1.retireDraftSpec)(ctx.cawsDir, input);
434
+ if (!(0, caws_kernel_1.isOk)(result)) {
435
+ err('caws specs retire-draft: failed.');
436
+ err((0, diagnostic_1.renderDiagnostics)(result.errors, { showData }));
437
+ return 1;
438
+ }
439
+ const outcome = result.value;
440
+ if (outcome.kind === 'partial_failure_recovered') {
441
+ err('caws specs retire-draft: partial failure recovered (no state change).');
442
+ err((0, diagnostic_1.renderDiagnostics)(outcome.cause, { showData }));
443
+ return 1;
444
+ }
445
+ out(`retired draft ${outcome.id} (recoverable via caws specs show ${outcome.id} --archived)`);
446
+ surfaceAuditCommit(outcome.data?.audit_commit, err);
447
+ return 0;
448
+ }
449
+ function runSpecsMigrateCommand(opts) {
450
+ const { cwd, nowFn, out, err, showData } = setupIO(opts);
451
+ // --from must be exactly 'v10' (matches caws events migrate semantics).
452
+ if (opts.from !== 'v10') {
453
+ err(`caws specs migrate: only --from v10 is supported in v11.2; got ${JSON.stringify(opts.from)}.`);
454
+ return 1;
455
+ }
456
+ const ctx = resolveCawsCtx(cwd, err, showData, 'migrate');
457
+ if (ctx === null)
458
+ return 2;
459
+ // Load optional lifecycle mapping file. Composition failure (file
460
+ // missing, unreadable, malformed JSON) is exit 2 — we cannot
461
+ // proceed with an incomplete operator decision.
462
+ let lifecycleMapping;
463
+ if (opts.lifecycleMappingPath !== undefined) {
464
+ const loadResult = loadLifecycleMappingFile(opts.lifecycleMappingPath);
465
+ if (!loadResult.ok) {
466
+ err(`caws specs migrate: failed to load --lifecycle-mapping file.`);
467
+ err(loadResult.message);
468
+ return 2;
469
+ }
470
+ lifecycleMapping = loadResult.mapping;
471
+ }
472
+ // Delegate to the store.
473
+ const result = (0, store_1.runSpecsMigrateApply)({
474
+ cawsDir: ctx.cawsDir,
475
+ from: 'v10',
476
+ apply: opts.apply === true,
477
+ partial: opts.partial === true,
478
+ now: nowFn(),
479
+ ...(lifecycleMapping !== undefined ? { lifecycleMapping } : {}),
480
+ });
481
+ if (!result.ok) {
482
+ if (opts.json === true) {
483
+ out(JSON.stringify({
484
+ ok: false,
485
+ errors: result.errors.map((d) => ({
486
+ rule: d.rule,
487
+ message: d.message,
488
+ ...(d.data !== undefined ? { data: d.data } : {}),
489
+ })),
490
+ }, null, 2));
491
+ }
492
+ else {
493
+ err('caws specs migrate: failed.');
494
+ err((0, diagnostic_1.renderDiagnostics)(result.errors, { showData }));
495
+ }
496
+ return 1;
497
+ }
498
+ if (opts.json === true) {
499
+ renderApplyJson(result.value, out);
500
+ }
501
+ else {
502
+ renderApplyHuman(result.value, ctx.repoRoot, opts.apply === true, out);
503
+ }
504
+ return 0;
505
+ }
506
+ function loadLifecycleMappingFile(filePath) {
507
+ let raw;
508
+ try {
509
+ raw = fs.readFileSync(filePath, 'utf8');
510
+ }
511
+ catch (e) {
512
+ const cause = e;
513
+ return {
514
+ ok: false,
515
+ message: `Cannot read ${filePath}: ${cause.message ?? 'unknown error'} (${cause.code ?? 'unknown code'}).`,
516
+ };
517
+ }
518
+ let parsed;
519
+ try {
520
+ parsed = JSON.parse(raw);
521
+ }
522
+ catch (e) {
523
+ const cause = e;
524
+ return {
525
+ ok: false,
526
+ message: `Cannot parse ${filePath} as JSON: ${cause.message ?? 'unknown error'}.`,
527
+ };
528
+ }
529
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
530
+ return {
531
+ ok: false,
532
+ message: `Lifecycle mapping file ${filePath} must be a JSON object keyed by spec id; got ${typeof parsed === 'object' ? 'array' : typeof parsed}.`,
533
+ };
534
+ }
535
+ // Lightweight shape check — every value should be an object with a
536
+ // lifecycle_state field. Kernel will do strict validation when
537
+ // applying; this is enough to fail fast on obviously-wrong input.
538
+ for (const [specId, entry] of Object.entries(parsed)) {
539
+ if (typeof entry !== 'object' || entry === null) {
540
+ return {
541
+ ok: false,
542
+ message: `Lifecycle mapping entry "${specId}" is not an object.`,
543
+ };
544
+ }
545
+ const e = entry;
546
+ if (typeof e['lifecycle_state'] !== 'string') {
547
+ return {
548
+ ok: false,
549
+ message: `Lifecycle mapping entry "${specId}" is missing required string field "lifecycle_state".`,
550
+ };
551
+ }
552
+ }
553
+ return { ok: true, mapping: parsed };
554
+ }
555
+ function renderApplyHuman(result, repoRoot, applied, out) {
556
+ const tag = applied ? '[apply]' : '[dry-run]';
557
+ const r = result.report;
558
+ out(`${tag} caws specs migrate --from v10`);
559
+ out(` distribution: migrated=${r.distribution.migrated} migrated_with_warnings=${r.distribution.migrated_with_warnings} refused=${r.distribution.refused} post_write_validation_failed=${r.distribution.post_write_validation_failed} total=${r.distribution.total}`);
560
+ if (r.non_yaml_observations.length > 0) {
561
+ out(` non_yaml observations:`);
562
+ for (const obs of r.non_yaml_observations) {
563
+ out(` - ${obs.file} (${obs.kind})`);
564
+ }
565
+ }
566
+ // Per-entry summary. Operator sees what's actionable; full detail is
567
+ // in the durable report (and --json).
568
+ for (const e of r.entries) {
569
+ const tagPrefix = entryTag(e.verdict);
570
+ const idStr = e.spec_id ?? '(no id)';
571
+ out(` ${tagPrefix} ${e.file} (${idStr}) — ${e.verdict}`);
572
+ if (e.verdict === 'refused' && e.refusal_reasons.length > 0) {
573
+ for (const reason of e.refusal_reasons) {
574
+ out(` reason: ${reason}`);
575
+ }
576
+ }
577
+ if (e.verdict === 'post_write_validation_failed' && e.post_write_validation_errors.length > 0) {
578
+ for (const v of e.post_write_validation_errors) {
579
+ out(` validation: ${v.rule}: ${v.message}`);
580
+ }
581
+ }
582
+ }
583
+ if (result.report_path !== null) {
584
+ out(` report: ${path.relative(repoRoot, result.report_path)}`);
585
+ }
586
+ else {
587
+ out(` report: (dry-run; not persisted)`);
588
+ }
589
+ }
590
+ function entryTag(verdict) {
591
+ switch (verdict) {
592
+ case 'migrated':
593
+ return 'OK ';
594
+ case 'migrated_with_warnings':
595
+ return 'WARN ';
596
+ case 'refused':
597
+ return 'REF ';
598
+ case 'post_write_validation_failed':
599
+ return 'PWF ';
600
+ default:
601
+ return '? ';
602
+ }
603
+ }
604
+ function renderApplyJson(result, out) {
605
+ // Preserve the store's report shape verbatim (per the contract
606
+ // spec-v10-migration-output). Do not invent a second report shape.
607
+ out(JSON.stringify({
608
+ ok: true,
609
+ cawsDir: result.cawsDir,
610
+ partial: result.partial,
611
+ report_path: result.report_path,
612
+ report: result.report,
613
+ }, null, 2));
614
+ }
615
+ function runSpecsPruneArchiveCommand(opts) {
616
+ const { cwd, nowFn, env, out, err, showData } = setupIO(opts);
617
+ const ctx = resolveCawsCtx(cwd, err, showData, 'prune-archive');
618
+ if (ctx === null)
619
+ return 2;
620
+ const actor = buildActorOrError(ctx.cawsDir, cwd, env, nowFn, opts.actorKind, err, showData, 'prune-archive');
621
+ if (actor === null)
622
+ return 2;
623
+ const result = (0, specs_writer_1.pruneArchive)(ctx.cawsDir, {
624
+ apply: opts.apply === true,
625
+ actor,
626
+ now: nowFn,
627
+ });
628
+ if (!(0, caws_kernel_1.isOk)(result)) {
629
+ err('caws specs prune-archive: failed.');
630
+ err((0, diagnostic_1.renderDiagnostics)(result.errors, { showData }));
631
+ return 1;
632
+ }
633
+ const { plans, applied, events_appended } = result.value;
634
+ if (plans.length === 0) {
635
+ out('caws specs prune-archive: no legacy .caws/specs/.archive/ bodies to prune.');
636
+ return 0;
637
+ }
638
+ const recoverable = plans.filter((p) => p.status === 'recoverable');
639
+ const unrecoverable = plans.filter((p) => p.status === 'unrecoverable');
640
+ const verb = applied ? 'Pruned' : 'Would prune';
641
+ out(`${verb} ${plans.length} legacy archive bodies (${recoverable.length} recoverable, ${unrecoverable.length} unrecoverable):`);
642
+ for (const plan of plans) {
643
+ if (plan.status === 'recoverable') {
644
+ const action = applied ? 'REMOVED' : 'would remove';
645
+ out(` - ${plan.id}: RECOVERABLE — ${action} (blob ${plan.blob_sha.slice(0, 8)} at commit ${plan.commit_sha.slice(0, 8)})`);
646
+ }
647
+ else {
648
+ const action = applied ? 'QUARANTINED' : 'would quarantine';
649
+ out(` - ${plan.id}: UNRECOVERABLE — ${action} to .archive/.unrecoverable/${plan.id}.yaml (${plan.reason})`);
650
+ }
651
+ }
652
+ if (applied) {
653
+ out(`Appended ${events_appended} spec_archive_pruned events.`);
654
+ }
655
+ else {
656
+ out('Dry-run complete. Pass --apply to execute. Unrecoverable bodies will be quarantined (never silently deleted); recoverable bodies will be removed (recoverable via caws specs recover <id>).');
657
+ }
262
658
  return 0;
263
659
  }
264
660
  //# sourceMappingURL=specs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../src/shell/commands/specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../src/shell/commands/specs.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,22 @@ export interface StatusCommandOptions {
6
6
  readonly err?: (line: string) => void;
7
7
  /** Stale heartbeat TTL in ms; display only. Default 24h. */
8
8
  readonly staleTtlMs?: number;
9
+ /** Stale lease TTL for the Agents panel (separate from the agents.json
10
+ * stale-heartbeat TTL above). Default 30m. */
11
+ readonly leaseStaleTtlMs?: number;
9
12
  /** Cap on rendered top findings. Default 5. */
10
13
  readonly findingCap?: number;
11
14
  /** Show structured data blocks on rendered diagnostics. */
12
15
  readonly showData?: boolean;
16
+ /** Opt-in lease mutation. When true, status writes/refreshes the
17
+ * current session's lease as a heartbeat. Default false. */
18
+ readonly heartbeat?: boolean;
19
+ /** Explicit session id (overrides resolveSession). Identity only by
20
+ * default — does NOT trigger a lease write unless --heartbeat is
21
+ * also passed. */
22
+ readonly sessionId?: string;
23
+ /** Platform tag for the lease record (only used when --heartbeat). */
24
+ readonly platform?: string;
13
25
  }
14
26
  export declare function runStatusCommand(opts?: StatusCommandOptions): number;
15
27
  //# sourceMappingURL=status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/shell/commands/status.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,oBAAyB,GAAG,MAAM,CAoFxE"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/shell/commands/status.ts"],"names":[],"mappings":"AAgHA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;mDAC+C;IAC/C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;iEAC6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;uBAEmB;IACnB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAkDD,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,oBAAyB,GAAG,MAAM,CAiLxE"}