@manehorizons/cadence-core 1.7.0 → 1.9.0

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 (95) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +10 -77
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/draft-new.d.ts.map +1 -1
  5. package/dist/cli/commands/draft-new.js +11 -97
  6. package/dist/cli/commands/draft-new.js.map +1 -1
  7. package/dist/cli/commands/draft.d.ts.map +1 -1
  8. package/dist/cli/commands/draft.js +15 -104
  9. package/dist/cli/commands/draft.js.map +1 -1
  10. package/dist/cli/commands/mcp.d.ts +3 -0
  11. package/dist/cli/commands/mcp.d.ts.map +1 -0
  12. package/dist/cli/commands/mcp.js +35 -0
  13. package/dist/cli/commands/mcp.js.map +1 -0
  14. package/dist/cli/commands/progress.d.ts.map +1 -1
  15. package/dist/cli/commands/progress.js +5 -13
  16. package/dist/cli/commands/progress.js.map +1 -1
  17. package/dist/cli/commands/recommend.d.ts.map +1 -1
  18. package/dist/cli/commands/recommend.js +5 -15
  19. package/dist/cli/commands/recommend.js.map +1 -1
  20. package/dist/cli/commands/resume.d.ts.map +1 -1
  21. package/dist/cli/commands/resume.js +12 -1
  22. package/dist/cli/commands/resume.js.map +1 -1
  23. package/dist/cli/commands/settle.d.ts.map +1 -1
  24. package/dist/cli/commands/settle.js +5 -442
  25. package/dist/cli/commands/settle.js.map +1 -1
  26. package/dist/cli/commands/spec.d.ts.map +1 -1
  27. package/dist/cli/commands/spec.js +19 -197
  28. package/dist/cli/commands/spec.js.map +1 -1
  29. package/dist/cli/commands/status.d.ts.map +1 -1
  30. package/dist/cli/commands/status.js +5 -14
  31. package/dist/cli/commands/status.js.map +1 -1
  32. package/dist/cli/register.d.ts.map +1 -1
  33. package/dist/cli/register.js +2 -0
  34. package/dist/cli/register.js.map +1 -1
  35. package/dist/handoff/brief.d.ts +12 -0
  36. package/dist/handoff/brief.d.ts.map +1 -0
  37. package/dist/handoff/brief.js +40 -0
  38. package/dist/handoff/brief.js.map +1 -0
  39. package/dist/handoff/run-resume.d.ts +5 -1
  40. package/dist/handoff/run-resume.d.ts.map +1 -1
  41. package/dist/handoff/run-resume.js +23 -5
  42. package/dist/handoff/run-resume.js.map +1 -1
  43. package/dist/mcp/server.d.ts +12 -0
  44. package/dist/mcp/server.d.ts.map +1 -0
  45. package/dist/mcp/server.js +42 -0
  46. package/dist/mcp/server.js.map +1 -0
  47. package/dist/mcp/tools.d.ts +20 -0
  48. package/dist/mcp/tools.d.ts.map +1 -0
  49. package/dist/mcp/tools.js +189 -0
  50. package/dist/mcp/tools.js.map +1 -0
  51. package/dist/services/build-task.d.ts +12 -0
  52. package/dist/services/build-task.d.ts.map +1 -0
  53. package/dist/services/build-task.js +78 -0
  54. package/dist/services/build-task.js.map +1 -0
  55. package/dist/services/draft-approve.d.ts +14 -0
  56. package/dist/services/draft-approve.d.ts.map +1 -0
  57. package/dist/services/draft-approve.js +74 -0
  58. package/dist/services/draft-approve.js.map +1 -0
  59. package/dist/services/draft-check.d.ts +10 -0
  60. package/dist/services/draft-check.d.ts.map +1 -0
  61. package/dist/services/draft-check.js +47 -0
  62. package/dist/services/draft-check.js.map +1 -0
  63. package/dist/services/draft-new.d.ts +14 -0
  64. package/dist/services/draft-new.d.ts.map +1 -0
  65. package/dist/services/draft-new.js +98 -0
  66. package/dist/services/draft-new.js.map +1 -0
  67. package/dist/services/io.d.ts +39 -0
  68. package/dist/services/io.d.ts.map +1 -0
  69. package/dist/services/io.js +36 -0
  70. package/dist/services/io.js.map +1 -0
  71. package/dist/services/progress.d.ts +7 -0
  72. package/dist/services/progress.d.ts.map +1 -0
  73. package/dist/services/progress.js +21 -0
  74. package/dist/services/progress.js.map +1 -0
  75. package/dist/services/recommend.d.ts +9 -0
  76. package/dist/services/recommend.d.ts.map +1 -0
  77. package/dist/services/recommend.js +23 -0
  78. package/dist/services/recommend.js.map +1 -0
  79. package/dist/services/settle.d.ts +24 -0
  80. package/dist/services/settle.d.ts.map +1 -0
  81. package/dist/services/settle.js +366 -0
  82. package/dist/services/settle.js.map +1 -0
  83. package/dist/services/spec-approve.d.ts +11 -0
  84. package/dist/services/spec-approve.d.ts.map +1 -0
  85. package/dist/services/spec-approve.js +133 -0
  86. package/dist/services/spec-approve.js.map +1 -0
  87. package/dist/services/spec-new.d.ts +9 -0
  88. package/dist/services/spec-new.d.ts.map +1 -0
  89. package/dist/services/spec-new.js +62 -0
  90. package/dist/services/spec-new.js.map +1 -0
  91. package/dist/services/status.d.ts +9 -0
  92. package/dist/services/status.d.ts.map +1 -0
  93. package/dist/services/status.js +22 -0
  94. package/dist/services/status.js.map +1 -0
  95. package/package.json +3 -2
@@ -1,40 +1,5 @@
1
- import { execSync } from 'node:child_process';
2
- import { join } from 'node:path';
3
- import { readFile, stat } from 'node:fs/promises';
4
- import { existsSync } from 'node:fs';
5
- import { TaskStatusZ } from '@manehorizons/cadence-types';
6
- import { parseDraftMd } from '../../parse/draft-parser.js';
7
- import { renderSummaryMd } from '../../parse/summary-writer.js';
8
- import { SimpleStateBackend } from '../../state/simple.js';
9
- import { atomicWriteJSON, atomicWriteText } from '../../state/atomic-write.js';
10
- import { LoopViolationError } from '../../errors.js';
11
- import { deriveAcResults } from '../../status.js';
12
- import { loadConfig } from '../../config/loader.js';
13
- import { effectiveGateSet } from '../../gates/engine.js';
14
- import { scanTestCoverage } from '../../verify/coverage.js';
15
- import { selectVerifier } from '../../verify/factory.js';
16
- import { resolveEffectiveProvider, MOCK_FALLBACK_BANNER, } from '../../verify/verifier-factory.js';
17
- import { runSettleGates } from '../../gates/registry.js';
18
- import { runSkillAuditCheck } from '../../checks/skill-audit.js';
19
- import { ScriptedPrompter, StdinPrompter } from '../../verify/prompter.js';
20
- import { selectNotifier } from '../../notify/factory.js';
21
- import { collectAnomalies } from '../../notify/collect.js';
22
- import { emitLoopViolation } from '../../notify/loop-violation.js';
23
- import { selectCodeReviewVerifier } from '../../verify/code-review-factory.js';
24
- import { emitCodeReviewHigh, emitCodeReviewUnconverged } from '../../notify/code-review.js';
25
- import { emitSkillAuditMiss } from '../../notify/skill-audit.js';
26
- import { selectSecurityAuditVerifier } from '../../verify/security-audit-factory.js';
27
- function parseAcArg(arg) {
28
- const eqIdx = arg.indexOf('=');
29
- if (eqIdx === -1)
30
- throw new Error(`bad --ac syntax: ${arg}`);
31
- const id = arg.slice(0, eqIdx);
32
- const rest = arg.slice(eqIdx + 1);
33
- const colonIdx = rest.indexOf(':');
34
- const verdict = colonIdx === -1 ? rest : rest.slice(0, colonIdx);
35
- const note = colonIdx === -1 ? undefined : rest.slice(colonIdx + 1).trim();
36
- return { id, pass: verdict === 'pass', ...(note ? { note } : {}) };
37
- }
1
+ import { settleService } from '../../services/settle.js';
2
+ import { processIO } from '../../services/io.js';
38
3
  export function registerSettleCommand(program) {
39
4
  const cmd = program.command('settle').description('Close the loop');
40
5
  cmd
@@ -56,411 +21,9 @@ export function registerSettleCommand(program) {
56
21
  .option('--allow-security-audit-failure', 'do not refuse on CRITICAL security-audit findings; record them in SUMMARY and settle anyway (Phase 25.2)')
57
22
  .option('--allow-skill-audit-miss', 'do not refuse when required skills were not invoked; emit a warn anomaly (bypassed:true) and settle anyway (Phase 34.1)')
58
23
  .action(async (opts) => {
59
- try {
60
- const cwd = process.cwd();
61
- const backend = new SimpleStateBackend(cwd);
62
- const state = await backend.readState();
63
- if (state.loopPosition !== 'BUILD' || !state.activeDraft || !state.activePhase) {
64
- throw new LoopViolationError('settle run requires loopPosition=BUILD with an active draft', { expected: 'BUILD', actual: state.loopPosition });
65
- }
66
- const draftPath = join(cwd, '.cadence/phases', state.activePhase, `${state.activeDraft}-DRAFT.md`);
67
- const draft = parseDraftMd(await readFile(draftPath, 'utf8'));
68
- const progPath = join(cwd, '.cadence/phases', state.activePhase, `${state.activeDraft}-PROGRESS.json`);
69
- const progress = existsSync(progPath)
70
- ? JSON.parse(await readFile(progPath, 'utf8'))
71
- : { draftId: state.activeDraft, tasks: {} };
72
- const explicit = (opts.ac ?? []).map(parseAcArg);
73
- const explicitIds = new Set(explicit.map((a) => a.id));
74
- // Test-coverage gate: fires when the effective gate set includes
75
- // 'test-coverage'. Skipped for explicitly-overridden ACs. The flag
76
- // --allow-missing-coverage is a per-invocation bypass.
77
- let cadenceConfig = null;
78
- try {
79
- cadenceConfig = await loadConfig(cwd);
80
- }
81
- catch {
82
- cadenceConfig = null;
83
- }
84
- const gateSet = effectiveGateSet(state, cadenceConfig, draft);
85
- // Onboarding hardening (phase 48): --deep asks for real verification.
86
- // If the effective verifier provider is `mock` (the shipped default —
87
- // `cadence init` writes verifier.provider='mock'), the verdicts are
88
- // deterministic fakes. Warn loudly so the operator isn't handed false
89
- // confidence. A configured real provider that downgrades to mock for a
90
- // missing key already prints the factory's own "falling back to mock"
91
- // warning, so that path is left to the factory.
92
- if (opts.deep &&
93
- resolveEffectiveProvider(cadenceConfig?.verifier).provider === 'mock') {
94
- process.stderr.write(MOCK_FALLBACK_BANNER + '\n');
95
- }
96
- // DESIGN.md §4 M2 — soft cap on auto × complex. Refuse here, before
97
- // any coverage / interactive / deep work, so wasted effort is avoided.
98
- // Phase 21.1 wires the locked decision into a live check.
99
- if (gateSet.softCap && !opts.allowAutoComplex) {
100
- process.stderr.write('settle run refused: auto × complex is soft-capped (DESIGN.md §4 M2). Pass --allow-auto-complex to override.\n');
101
- process.exitCode = 1;
102
- return;
103
- }
104
- if (gateSet.softCap && opts.allowAutoComplex) {
105
- process.stderr.write('settle: --allow-auto-complex set; proceeding past soft cap (auto × complex).\n');
106
- }
107
- const touchedFiles = Array.from(new Set(draft.tasks.flatMap((t) => t.files)));
108
- let coverageMemo;
109
- let draftMtimeMemo;
110
- // Lazily select the deep verifier on first use. selectVerifier emits a
111
- // stderr fallback warning when a non-mock provider lacks credentials;
112
- // the pre-extraction code only ran it inside the deep-verify block, so
113
- // selecting eagerly here would surface that warning on runs where
114
- // deep-verify never fires. Defer it to keep settle bit-identical.
115
- let deepVerifierMemo;
116
- let codeReviewVerifierMemo;
117
- let securityAuditVerifierMemo;
118
- let diffMemo;
119
- const codeReviewSidecarPath = join(cwd, '.cadence/phases', state.activePhase, `${state.activeDraft}-CODE-REVIEW.json`);
120
- const ctx = {
121
- cwd,
122
- state,
123
- draft,
124
- progress,
125
- config: cadenceConfig,
126
- gateSet,
127
- opts: {
128
- ...(opts.force !== undefined ? { force: opts.force } : {}),
129
- ...(opts.auto !== undefined ? { auto: opts.auto } : {}),
130
- ...(opts.deep !== undefined ? { deep: opts.deep } : {}),
131
- ...(opts.allowMissingCoverage !== undefined
132
- ? { allowMissingCoverage: opts.allowMissingCoverage }
133
- : {}),
134
- ...(opts.allowVerifierFailure !== undefined
135
- ? { allowVerifierFailure: opts.allowVerifierFailure }
136
- : {}),
137
- ...(opts.allowStaleDraft !== undefined
138
- ? { allowStaleDraft: opts.allowStaleDraft }
139
- : {}),
140
- ...(opts.allowOpenTasks !== undefined
141
- ? { allowOpenTasks: opts.allowOpenTasks }
142
- : {}),
143
- ...(opts.allowFailingBuild !== undefined
144
- ? { allowFailingBuild: opts.allowFailingBuild }
145
- : {}),
146
- ...(opts.interactive !== undefined
147
- ? { interactive: opts.interactive }
148
- : {}),
149
- ...(opts.allowCodeReviewFailure !== undefined
150
- ? { allowCodeReviewFailure: opts.allowCodeReviewFailure }
151
- : {}),
152
- ...(opts.allowSecurityAuditFailure !== undefined
153
- ? { allowSecurityAuditFailure: opts.allowSecurityAuditFailure }
154
- : {}),
155
- ...(opts.allowSkillAuditMiss !== undefined
156
- ? { allowSkillAuditMiss: opts.allowSkillAuditMiss }
157
- : {}),
158
- },
159
- explicitIds,
160
- touchedFiles,
161
- coverage: () => {
162
- if (!coverageMemo) {
163
- const globs = cadenceConfig?.verification?.testGlobs;
164
- coverageMemo = scanTestCoverage(cwd, globs ? { globs } : {});
165
- }
166
- return coverageMemo;
167
- },
168
- draftMtimeMs: () => {
169
- if (!draftMtimeMemo) {
170
- draftMtimeMemo = stat(draftPath)
171
- .then((s) => s.mtime.getTime())
172
- .catch(() => null);
173
- }
174
- return draftMtimeMemo;
175
- },
176
- diff: () => {
177
- if (diffMemo === undefined) {
178
- diffMemo = collectDiffForCodeReview(cwd, touchedFiles);
179
- }
180
- return diffMemo;
181
- },
182
- verifiers: {
183
- deep: {
184
- verify: (input) => {
185
- if (!deepVerifierMemo) {
186
- deepVerifierMemo = selectVerifier(cadenceConfig);
187
- }
188
- return deepVerifierMemo.verify(input);
189
- },
190
- },
191
- codeReview: {
192
- verify: (input) => {
193
- if (!codeReviewVerifierMemo) {
194
- codeReviewVerifierMemo = selectCodeReviewVerifier(cadenceConfig);
195
- }
196
- return codeReviewVerifierMemo.verify(input);
197
- },
198
- },
199
- securityAudit: {
200
- verify: (input) => {
201
- if (!securityAuditVerifierMemo) {
202
- securityAuditVerifierMemo = selectSecurityAuditVerifier(cadenceConfig);
203
- }
204
- return securityAuditVerifierMemo.verify(input);
205
- },
206
- },
207
- },
208
- emit: {
209
- anomalies: async (events) => {
210
- void events;
211
- },
212
- codeReviewHigh: (findings, info) => emitCodeReviewHigh(selectNotifier(cadenceConfig), findings, info),
213
- codeReviewUnconverged: (info) => emitCodeReviewUnconverged(selectNotifier(cadenceConfig), info),
214
- skillAuditMiss: (payload) => emitSkillAuditMiss(selectNotifier(cadenceConfig), payload),
215
- },
216
- runner: {
217
- test: async () => {
218
- const command = cadenceConfig?.verification?.testCommand;
219
- if (!command)
220
- return { ran: false, ok: true };
221
- try {
222
- execSync(command, { cwd, stdio: 'ignore' });
223
- return { ran: true, ok: true, exitCode: 0, command };
224
- }
225
- catch (e) {
226
- const status = e.status;
227
- const exitCode = typeof status === 'number' ? status : 1;
228
- return { ran: true, ok: false, exitCode, command };
229
- }
230
- },
231
- },
232
- prompter: {
233
- create: () => {
234
- // Test seam: CADENCE_PROMPTER_SCRIPT (newline-separated answers)
235
- // drives the walker without a real TTY. Else StdinPrompter, which
236
- // throws on a non-TTY (the gate turns that into a refusal).
237
- const scripted = process.env.CADENCE_PROMPTER_SCRIPT;
238
- if (scripted !== undefined) {
239
- const answers = scripted.split('\n').filter((s) => s.length > 0 || s === '');
240
- return new ScriptedPrompter(answers);
241
- }
242
- return new StdinPrompter();
243
- },
244
- },
245
- codeReviewSidecar: {
246
- read: async () => {
247
- // Absent / corrupt / legacy-without-`attempts` → {0, []}.
248
- if (!existsSync(codeReviewSidecarPath)) {
249
- return { attemptsSoFar: 0, history: [] };
250
- }
251
- try {
252
- const prior = JSON.parse(await readFile(codeReviewSidecarPath, 'utf8'));
253
- return {
254
- attemptsSoFar: typeof prior.attempts === 'number' ? prior.attempts : 0,
255
- history: Array.isArray(prior.history) ? prior.history : [],
256
- };
257
- }
258
- catch {
259
- return { attemptsSoFar: 0, history: [] };
260
- }
261
- },
262
- write: (text) => atomicWriteText(codeReviewSidecarPath, text),
263
- },
264
- io: { err: (s) => process.stderr.write(s) },
265
- };
266
- // Phase 44.1 — the settle gate sequence is now engine-driven: the
267
- // registry's GATE_ORDER (≠ matrix order) drives dispatch, each gate
268
- // membership-guarded (or self-guarded for deep-verify/interactive-verdict),
269
- // first-refuse halts. Replaces the former hand-wired if-includes ladder;
270
- // bit-identical. checks/ modules (skill-audit, boundary) + anomaly-notify
271
- // stay explicitly dispatched below, outside the registry.
272
- const { acc, refused } = await runSettleGates(ctx);
273
- if (refused) {
274
- process.exitCode = 1;
275
- return;
276
- }
277
- const coverageBypassed = acc.flags.coverageBypassed === true;
278
- // `interactiveRequested` is read by the AC-merge finalizer below (not by
279
- // gate dispatch), so it stays a settle local — the documented seam
280
- // between the interactive gate and the finalizer. Mirrors the gate's own
281
- // --interactive OR membership('interactive-verdict') trigger.
282
- const interactiveRequested = opts.interactive === true ||
283
- (opts.interactive !== false &&
284
- gateSet.gates.includes('interactive-verdict'));
285
- const interactiveVerify = acc.interactiveVerify;
286
- const deepVerify = acc.deepVerify;
287
- const verifierFailure = acc.flags.verifierFailure;
288
- const codeReviewFindings = acc.codeReview;
289
- const securityAuditFindings = acc.securityAudit;
290
- // ACs covered by an explicit `--ac` OR an interactive verdict are
291
- // excluded from auto-derivation refusal (the user verdicted them).
292
- const interactiveIds = new Set(interactiveVerify ? Object.keys(interactiveVerify) : []);
293
- const userVerdictedIds = new Set([...explicitIds, ...interactiveIds]);
294
- let acResults = [...explicit];
295
- // Merge interactive verdicts into acResults (override structural derivation).
296
- if (interactiveVerify) {
297
- for (const [id, v] of Object.entries(interactiveVerify)) {
298
- if (explicitIds.has(id))
299
- continue; // explicit --ac wins over interactive
300
- acResults.push({
301
- id,
302
- pass: v.verdict === 'pass',
303
- ...(v.note ? { note: v.note } : {}),
304
- });
305
- }
306
- }
307
- // Phase 29.8 T4 — when the interactive walker ran, ACs the user
308
- // skipped or never verdicted must still fall through to structural
309
- // derivation (the walker promises "Skip falls through to other
310
- // gates"). Previously this only happened under `--auto`, so
311
- // `settle run --interactive` alone silently settled incomplete ACs.
312
- if (opts.auto || interactiveRequested) {
313
- const derived = deriveAcResults(draft, progress);
314
- const offenders = derived.filter((d) => d.verdict !== 'pass' && !userVerdictedIds.has(d.id));
315
- if (offenders.length > 0 && !opts.force) {
316
- for (const o of offenders) {
317
- const tasks = o.blockers.length > 0 ? ` (tasks: ${o.blockers.join(', ')})` : '';
318
- process.stderr.write(`auto: ${o.id} ${o.verdict}${tasks}\n`);
319
- }
320
- process.stderr.write('settle run --auto refused: complete the blocking tasks or rerun with --force.\n');
321
- process.exitCode = 1;
322
- return;
323
- }
324
- const merged = [...acResults];
325
- for (const d of derived) {
326
- if (userVerdictedIds.has(d.id))
327
- continue;
328
- if (d.verdict === 'pass') {
329
- merged.push({ id: d.id, pass: true });
330
- }
331
- else if (d.verdict === 'blocked') {
332
- merged.push({
333
- id: d.id,
334
- pass: false,
335
- note: `auto: ${d.blockers.join(', ')} blocked`,
336
- });
337
- }
338
- else if (d.verdict === 'needs-context') {
339
- merged.push({
340
- id: d.id,
341
- pass: false,
342
- note: `auto: ${d.blockers.join(', ')} needs context`,
343
- });
344
- }
345
- else {
346
- merged.push({
347
- id: d.id,
348
- pass: false,
349
- note: d.blockers.length > 0
350
- ? `auto: ${d.blockers.join(', ')} incomplete`
351
- : 'auto: no linked tasks',
352
- });
353
- }
354
- }
355
- acResults = merged;
356
- }
357
- // Anomaly notify (Phase 17) — fires only when 'anomaly-notify' is in
358
- // the gate set. Notifier failures degrade to a stderr warning; they
359
- // never block settle.
360
- if (gateSet.gates.includes('anomaly-notify')) {
361
- const anomalies = collectAnomalies({
362
- draft,
363
- progress,
364
- coverageBypassed,
365
- force: opts.force === true,
366
- root: cwd,
367
- ...(deepVerify ? { deepVerify } : {}),
368
- ...(interactiveVerify ? { interactiveVerify } : {}),
369
- ...(verifierFailure ? { verifierFailure } : {}),
370
- });
371
- if (anomalies.length > 0) {
372
- const notifier = selectNotifier(cadenceConfig);
373
- try {
374
- await notifier.notify(anomalies);
375
- }
376
- catch (err) {
377
- const msg = err instanceof Error ? err.message : String(err);
378
- process.stderr.write(`notify: ${notifier.name} transport failed — ${msg} (continuing)\n`);
379
- }
380
- }
381
- }
382
- // Required-skill enforcement (Phase 34.1 — ROADMAP 23.4). A checks/
383
- // anomaly check, NOT a gates/engine.ts matrix cell (declaring skills IS
384
- // the opt-in) — dispatched explicitly here, OUTSIDE the Phase 44.1
385
- // registry. The check returns the effective required set; settle records
386
- // it on state.skillAudit.required (truthful SUMMARY) on every non-refuse
387
- // path — including the null-config / empty / telemetry-off skips. A
388
- // refuse halts settle before SUMMARY, unchanged.
389
- {
390
- const res = await runSkillAuditCheck(ctx);
391
- if (res.outcome === 'refuse') {
392
- process.exitCode = 1;
393
- return;
394
- }
395
- state.skillAudit.required = res.effectiveRequired;
396
- }
397
- const summary = {
398
- schemaVersion: 1,
399
- draftId: state.activeDraft,
400
- completedAt: new Date().toISOString(),
401
- acResults,
402
- taskResults: draft.tasks.map((t) => ({
403
- id: t.id,
404
- status: (TaskStatusZ.safeParse(progress.tasks[t.id]?.status).success
405
- ? progress.tasks[t.id].status
406
- : 'BLOCKED'),
407
- notes: progress.tasks[t.id]?.notes ?? '',
408
- })),
409
- decisions: [],
410
- deferred: [],
411
- skillAudit: state.skillAudit,
412
- ...(deepVerify ? { deepVerify } : {}),
413
- ...(interactiveVerify ? { interactiveVerify } : {}),
414
- ...(codeReviewFindings ? { codeReview: codeReviewFindings } : {}),
415
- ...(securityAuditFindings
416
- ? { securityAudit: securityAuditFindings }
417
- : {}),
418
- };
419
- const summaryBase = join(cwd, '.cadence/phases', state.activePhase, `${state.activeDraft}-SUMMARY`);
420
- await atomicWriteJSON(`${summaryBase}.json`, summary);
421
- await atomicWriteText(`${summaryBase}.md`, renderSummaryMd(summary));
422
- const draftId = state.activeDraft;
423
- state.openDrafts = state.openDrafts.filter((d) => d.id !== draftId);
424
- state.activeDraft = null;
425
- state.activeTask = null;
426
- state.loopPosition = 'IDLE';
427
- state.tier = null;
428
- await backend.commit(state);
429
- console.log(`Settled ${draftId}`);
430
- }
431
- catch (err) {
432
- process.stderr.write(`settle run failed: ${err instanceof Error ? err.message : String(err)}\n`);
433
- if (err instanceof LoopViolationError) {
434
- await emitLoopViolation(process.cwd(), err, 'settle.run');
435
- }
436
- process.exitCode = 1;
437
- }
24
+ const { exitCode } = await settleService(process.cwd(), opts, processIO());
25
+ if (exitCode)
26
+ process.exitCode = exitCode;
438
27
  });
439
28
  }
440
- /**
441
- * `git diff --no-color HEAD -- <files>` via execSync. Returns empty
442
- * string on any error (non-git workdir, no diff, exec failure).
443
- * Mirrors the Phase 24.2 build.ts diff collector.
444
- */
445
- function collectDiffForCodeReview(cwd, files) {
446
- if (files.length === 0)
447
- return '';
448
- try {
449
- const args = ['diff', '--no-color', 'HEAD', '--', ...files];
450
- return execSync(`git ${args.map(shellQuote).join(' ')}`, {
451
- cwd,
452
- encoding: 'utf8',
453
- stdio: ['ignore', 'pipe', 'ignore'],
454
- maxBuffer: 16 * 1024 * 1024,
455
- });
456
- }
457
- catch {
458
- return '';
459
- }
460
- }
461
- function shellQuote(arg) {
462
- if (/^[A-Za-z0-9._/=:@+-]+$/.test(arg))
463
- return arg;
464
- return `"${arg.replace(/(["\\$`])/g, '\\$1')}"`;
465
- }
466
29
  //# sourceMappingURL=settle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settle.js","sourceRoot":"","sources":["../../../src/cli/commands/settle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settle.js","sourceRoot":"","sources":["../../../src/cli/commands/settle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAEpE,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,gBAAgB,EAAE,8CAA8C,CAAC;SACxE,MAAM,CAAC,QAAQ,EAAE,kEAAkE,CAAC;SACpF,MAAM,CAAC,SAAS,EAAE,wDAAwD,CAAC;SAC3E,MAAM,CACL,0BAA0B,EAC1B,yEAAyE,CAC1E;SACA,MAAM,CACL,QAAQ,EACR,oFAAoF,CACrF;SACA,MAAM,CACL,0BAA0B,EAC1B,mGAAmG,CACpG;SACA,MAAM,CACL,eAAe,EACf,0EAA0E,CAC3E;SACA,MAAM,CACL,kBAAkB,EAClB,iFAAiF,CAClF;SACA,MAAM,CACL,sBAAsB,EACtB,0EAA0E,CAC3E;SACA,MAAM,CACL,qBAAqB,EACrB,8EAA8E,CAC/E;SACA,MAAM,CACL,oBAAoB,EACpB,8FAA8F,CAC/F;SACA,MAAM,CACL,uBAAuB,EACvB,uFAAuF,CACxF;SACA,MAAM,CACL,6BAA6B,EAC7B,oHAAoH,CACrH;SACA,MAAM,CACL,gCAAgC,EAChC,0GAA0G,CAC3G;SACA,MAAM,CACL,0BAA0B,EAC1B,yHAAyH,CAC1H;SACA,MAAM,CAAC,KAAK,EAAE,IAAgB,EAAE,EAAE;QACjC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3E,IAAI,QAAQ;YAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0R1D"}
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmE1D"}