maestro-flow 0.4.15 → 0.4.16

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 (90) hide show
  1. package/.agents/skills/maestro/SKILL.md +17 -17
  2. package/.agents/skills/maestro-plan/SKILL.md +10 -9
  3. package/.agents/skills/maestro-ralph/SKILL.md +21 -17
  4. package/.agents/skills/maestro-ralph-execute/SKILL.md +54 -71
  5. package/.agents/skills/manage-knowledge-audit/SKILL.md +90 -0
  6. package/.agy/skills/maestro/SKILL.md +17 -17
  7. package/.agy/skills/maestro-plan/SKILL.md +10 -9
  8. package/.agy/skills/maestro-ralph/SKILL.md +21 -17
  9. package/.agy/skills/maestro-ralph-execute/SKILL.md +54 -71
  10. package/.agy/skills/manage-knowledge-audit/SKILL.md +90 -0
  11. package/.claude/commands/maestro-plan.md +10 -9
  12. package/.claude/commands/maestro-ralph-execute.md +54 -71
  13. package/.claude/commands/maestro-ralph.md +21 -17
  14. package/.claude/commands/maestro.md +17 -17
  15. package/.claude/commands/manage-knowledge-audit.md +88 -0
  16. package/dist/src/cli.js +1 -0
  17. package/dist/src/cli.js.map +1 -1
  18. package/dist/src/commands/font-guide.d.ts +13 -0
  19. package/dist/src/commands/font-guide.d.ts.map +1 -0
  20. package/dist/src/commands/font-guide.js +114 -0
  21. package/dist/src/commands/font-guide.js.map +1 -0
  22. package/dist/src/commands/install.d.ts.map +1 -1
  23. package/dist/src/commands/install.js +5 -0
  24. package/dist/src/commands/install.js.map +1 -1
  25. package/dist/src/commands/ralph.d.ts +6 -0
  26. package/dist/src/commands/ralph.d.ts.map +1 -0
  27. package/dist/src/commands/ralph.js +133 -0
  28. package/dist/src/commands/ralph.js.map +1 -0
  29. package/dist/src/core/manifest.d.ts +2 -0
  30. package/dist/src/core/manifest.d.ts.map +1 -1
  31. package/dist/src/core/manifest.js.map +1 -1
  32. package/dist/src/hooks/statusline.d.ts.map +1 -1
  33. package/dist/src/hooks/statusline.js +189 -81
  34. package/dist/src/hooks/statusline.js.map +1 -1
  35. package/dist/src/ralph/cmd-check.d.ts +9 -0
  36. package/dist/src/ralph/cmd-check.d.ts.map +1 -0
  37. package/dist/src/ralph/cmd-check.js +53 -0
  38. package/dist/src/ralph/cmd-check.js.map +1 -0
  39. package/dist/src/ralph/cmd-complete.d.ts +10 -0
  40. package/dist/src/ralph/cmd-complete.d.ts.map +1 -0
  41. package/dist/src/ralph/cmd-complete.js +91 -0
  42. package/dist/src/ralph/cmd-complete.js.map +1 -0
  43. package/dist/src/ralph/cmd-next.d.ts +5 -0
  44. package/dist/src/ralph/cmd-next.d.ts.map +1 -0
  45. package/dist/src/ralph/cmd-next.js +158 -0
  46. package/dist/src/ralph/cmd-next.js.map +1 -0
  47. package/dist/src/ralph/cmd-session.d.ts +5 -0
  48. package/dist/src/ralph/cmd-session.d.ts.map +1 -0
  49. package/dist/src/ralph/cmd-session.js +52 -0
  50. package/dist/src/ralph/cmd-session.js.map +1 -0
  51. package/dist/src/ralph/cmd-skills.d.ts +6 -0
  52. package/dist/src/ralph/cmd-skills.d.ts.map +1 -0
  53. package/dist/src/ralph/cmd-skills.js +55 -0
  54. package/dist/src/ralph/cmd-skills.js.map +1 -0
  55. package/dist/src/ralph/skill-resolver.d.ts +40 -0
  56. package/dist/src/ralph/skill-resolver.d.ts.map +1 -0
  57. package/dist/src/ralph/skill-resolver.js +162 -0
  58. package/dist/src/ralph/skill-resolver.js.map +1 -0
  59. package/dist/src/ralph/skill-scanner.d.ts +15 -0
  60. package/dist/src/ralph/skill-scanner.d.ts.map +1 -0
  61. package/dist/src/ralph/skill-scanner.js +122 -0
  62. package/dist/src/ralph/skill-scanner.js.map +1 -0
  63. package/dist/src/ralph/status-checker.d.ts +7 -0
  64. package/dist/src/ralph/status-checker.d.ts.map +1 -0
  65. package/dist/src/ralph/status-checker.js +139 -0
  66. package/dist/src/ralph/status-checker.js.map +1 -0
  67. package/dist/src/ralph/status-schema.d.ts +94 -0
  68. package/dist/src/ralph/status-schema.d.ts.map +1 -0
  69. package/dist/src/ralph/status-schema.js +9 -0
  70. package/dist/src/ralph/status-schema.js.map +1 -0
  71. package/dist/src/ralph/status-store.d.ts +20 -0
  72. package/dist/src/ralph/status-store.d.ts.map +1 -0
  73. package/dist/src/ralph/status-store.js +70 -0
  74. package/dist/src/ralph/status-store.js.map +1 -0
  75. package/dist/src/tui/install-ui/ExecutionView.d.ts.map +1 -1
  76. package/dist/src/tui/install-ui/ExecutionView.js +1 -0
  77. package/dist/src/tui/install-ui/ExecutionView.js.map +1 -1
  78. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  79. package/dist/src/tui/install-ui/InstallExecution.js +2 -0
  80. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  81. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  82. package/dist/src/tui/install-ui/InstallFlow.js +28 -14
  83. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  84. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
  85. package/dist/src/tui/install-ui/InstallResult.js +1 -1
  86. package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
  87. package/dist/src/utils/update-notices.js +12 -0
  88. package/dist/src/utils/update-notices.js.map +1 -1
  89. package/package.json +1 -1
  90. package/workflows/knowledge-audit.md +358 -0
@@ -101,6 +101,34 @@ function readCurrentTask(session) {
101
101
  }
102
102
  return '';
103
103
  }
104
+ /** Latest completed_at timestamp (ms epoch) across a chain, or 0 if none parseable */
105
+ function chainCompletedAt(chain) {
106
+ let max = 0;
107
+ for (const a of chain.artifacts) {
108
+ if (!a.completed_at)
109
+ continue;
110
+ const t = Date.parse(a.completed_at);
111
+ if (!Number.isNaN(t) && t > max)
112
+ max = t;
113
+ }
114
+ return max;
115
+ }
116
+ /** Effective status of a chain: in_progress > failed > completed > pending */
117
+ function chainStatus(chain) {
118
+ if (chain.artifacts.some(a => a.status === 'in_progress'))
119
+ return 'in_progress';
120
+ if (chain.artifacts.some(a => a.status === 'failed'))
121
+ return 'failed';
122
+ if (chain.allCompleted)
123
+ return 'completed';
124
+ return 'pending';
125
+ }
126
+ /** The "active" artifact in a chain — the one whose type names the current step */
127
+ function activeArtifact(chain) {
128
+ return (chain.artifacts.find(a => a.status === 'in_progress') ??
129
+ chain.artifacts.find(a => a.status === 'failed') ??
130
+ chain.artifacts[chain.artifacts.length - 1]);
131
+ }
104
132
  const emptyWf = {
105
133
  milestone: '', currentPhase: 0, currentStep: 0, status: '',
106
134
  total: 0, completed: 0, inProgress: 0, planned: 0, workspaceRoot: '',
@@ -179,7 +207,19 @@ function readWorkflowState(dir) {
179
207
  const milestone = Array.isArray(state.milestones)
180
208
  ? state.milestones.find((m) => m.name === state.current_milestone || m.id === state.current_milestone)
181
209
  : null;
182
- const phases = milestone?.phases ?? [];
210
+ const phases = Array.isArray(milestone?.phases) ? milestone.phases : [];
211
+ // Normalize phases — accept both number[] (v2.0) and Array<{id,status,...}> (v1.0)
212
+ const rawPhases = phases;
213
+ const phaseEntries = [];
214
+ for (const p of rawPhases) {
215
+ if (typeof p === 'number')
216
+ phaseEntries.push({ id: p });
217
+ else if (p && typeof p === 'object' && typeof p.id === 'number') {
218
+ const obj = p;
219
+ phaseEntries.push({ id: obj.id, status: obj.status });
220
+ }
221
+ }
222
+ const phaseIds = phaseEntries.map(p => p.id);
183
223
  // Filter to current milestone artifacts
184
224
  const msArtifacts = rawArtifacts
185
225
  .filter(a => a.milestone === state.current_milestone && a.id && a.type && a.status)
@@ -190,47 +230,70 @@ function readWorkflowState(dir) {
190
230
  phase: a.phase ?? null,
191
231
  path: a.path ?? '',
192
232
  depends_on: a.depends_on ?? null,
233
+ completed_at: a.completed_at ?? null,
193
234
  }));
194
- if (phases.length > 0 && msArtifacts.length > 0) {
195
- result.total = phases.length;
235
+ if (phaseIds.length > 0) {
236
+ result.total = phaseIds.length;
237
+ // Prefer v1.0 inline phase.status if present
238
+ const hasInlineStatus = phaseEntries.some(p => typeof p.status === 'string');
196
239
  let completed = 0, inProgress = 0, planned = 0;
197
- for (const p of phases) {
198
- const phaseArts = msArtifacts.filter(a => a.phase === p);
199
- if (phaseArts.some(a => a.type === 'execute' && a.status === 'completed')) {
200
- completed++;
201
- continue;
202
- }
203
- if (phaseArts.some(a => a.type === 'plan' && a.status === 'completed')) {
204
- planned++;
205
- inProgress++;
206
- continue;
240
+ if (hasInlineStatus) {
241
+ for (const p of phaseEntries) {
242
+ if (p.status === 'completed')
243
+ completed++;
244
+ else if (p.status === 'in-progress' || p.status === 'in_progress' || p.status === 'active')
245
+ inProgress++;
207
246
  }
208
- if (phaseArts.length > 0) {
209
- inProgress++;
247
+ }
248
+ else {
249
+ for (const p of phaseIds) {
250
+ const phaseArts = msArtifacts.filter(a => a.phase === p);
251
+ if (phaseArts.some(a => a.type === 'execute' && a.status === 'completed')) {
252
+ completed++;
253
+ continue;
254
+ }
255
+ if (phaseArts.some(a => a.type === 'plan' && a.status === 'completed')) {
256
+ planned++;
257
+ inProgress++;
258
+ continue;
259
+ }
260
+ if (phaseArts.length > 0) {
261
+ inProgress++;
262
+ }
210
263
  }
211
264
  }
212
265
  result.completed = completed;
213
266
  result.inProgress = inProgress;
214
267
  result.planned = planned;
215
- // Current phase
216
- for (const p of phases) {
217
- if (msArtifacts.some(a => a.phase === p && a.status === 'in_progress')) {
218
- result.currentPhase = p;
219
- break;
220
- }
268
+ // Current phase — prefer in-progress, then first non-completed
269
+ if (hasInlineStatus) {
270
+ const cur = phaseEntries.find(p => p.status === 'in-progress' || p.status === 'in_progress' || p.status === 'active')
271
+ ?? phaseEntries.find(p => p.status !== 'completed');
272
+ if (cur)
273
+ result.currentPhase = cur.id;
221
274
  }
222
- if (!result.currentPhase) {
223
- for (const p of phases) {
224
- if (!msArtifacts.some(a => a.type === 'execute' && a.phase === p && a.status === 'completed')) {
275
+ else {
276
+ for (const p of phaseIds) {
277
+ if (msArtifacts.some(a => a.phase === p && a.status === 'in_progress')) {
225
278
  result.currentPhase = p;
226
279
  break;
227
280
  }
228
281
  }
282
+ if (!result.currentPhase) {
283
+ for (const p of phaseIds) {
284
+ if (!msArtifacts.some(a => a.type === 'execute' && a.phase === p && a.status === 'completed')) {
285
+ result.currentPhase = p;
286
+ break;
287
+ }
288
+ }
289
+ }
290
+ }
291
+ // Build chains (only if artifacts exist)
292
+ if (msArtifacts.length > 0) {
293
+ const { chains, orphans } = buildChains(msArtifacts);
294
+ result.chains = chains;
295
+ result.orphans = orphans;
229
296
  }
230
- // Build chains
231
- const { chains, orphans } = buildChains(msArtifacts);
232
- result.chains = chains;
233
- result.orphans = orphans;
234
297
  }
235
298
  else if (state.phases_summary) {
236
299
  // v1 fallback
@@ -431,23 +494,6 @@ export function buildCoordinatorSegment(session) {
431
494
  // ---------------------------------------------------------------------------
432
495
  // Chain renderer — session chain for line 2+
433
496
  // ---------------------------------------------------------------------------
434
- /** Type abbreviation and color */
435
- const TYPE_META = {
436
- analyze: { abbr: 'A', color: TEXT_COLORS.model },
437
- plan: { abbr: 'P', color: TEXT_COLORS.milestone },
438
- execute: { abbr: 'E', color: TEXT_COLORS.phase },
439
- verify: { abbr: 'V', color: TEXT_COLORS.coord },
440
- brainstorm: { abbr: 'B', color: TEXT_COLORS.team },
441
- spec: { abbr: 'S', color: TEXT_COLORS.dir },
442
- review: { abbr: 'R', color: TEXT_COLORS.ctxAlert },
443
- debug: { abbr: 'D', color: TEXT_COLORS.ctxCrit },
444
- test: { abbr: 'T', color: TEXT_COLORS.ctxOk },
445
- };
446
- /** Color a type abbreviation */
447
- function colorType(type) {
448
- const meta = TYPE_META[type] ?? { abbr: type[0]?.toUpperCase() ?? '?', color: TEXT_COLORS.task };
449
- return ansiFg(meta.color) + meta.abbr + ANSI_RESET;
450
- }
451
497
  /** Extract readable slug from artifact path */
452
498
  function extractSlug(art) {
453
499
  const b = basename(art.path || '');
@@ -462,35 +508,102 @@ function extractSlug(art) {
462
508
  .replace(/-P\d+/, '') // -P1, -P2
463
509
  || art.type;
464
510
  }
465
- /** Status suffix */
466
- function statusSuffix(status) {
467
- const map = {
468
- completed: { icon: '✓', color: TEXT_COLORS.ctxOk },
469
- in_progress: { icon: '●', color: TEXT_COLORS.ctxWarn },
470
- failed: { icon: '✗', color: TEXT_COLORS.ctxCrit },
471
- pending: { icon: '○', color: TEXT_COLORS.separator },
472
- };
473
- const s = map[status];
474
- return s ? ansiFg(s.color) + s.icon + ANSI_RESET : '';
475
- }
476
- /** Render chain: auth: A→P→E→R→D→T→V ✓ */
511
+ /** Render chain status-first: `slug ✓` or `slug ⚙ execute (3/4)` */
477
512
  function renderChain(chain) {
478
- const arrow = ansiFg(TEXT_COLORS.separator) + '→' + ANSI_RESET;
479
513
  const slug = extractSlug(chain.artifacts[0]);
480
- const types = chain.artifacts.map(a => colorType(a.type));
481
- const lastArt = chain.artifacts[chain.artifacts.length - 1];
482
514
  const slugLabel = ansiFg(TEXT_COLORS.task) + slug + ANSI_RESET;
483
- const flow = types.join(arrow);
484
- const suffix = chain.allCompleted
485
- ? ' ' + ansiFg(TEXT_COLORS.ctxOk) + '✓' + ANSI_RESET
486
- : ' ' + statusSuffix(lastArt.status);
487
- return `${slugLabel} ${flow}${suffix}`;
515
+ const status = chainStatus(chain);
516
+ if (status === 'completed') {
517
+ return `${slugLabel} ${ansiFg(TEXT_COLORS.ctxOk)}✓${ANSI_RESET}`;
518
+ }
519
+ const active = activeArtifact(chain);
520
+ const done = chain.artifacts.filter(a => a.status === 'completed').length;
521
+ const total = chain.artifacts.length;
522
+ const typeLabel = ansiFg(TEXT_COLORS.phase) + active.type + ANSI_RESET;
523
+ if (status === 'failed') {
524
+ return `${slugLabel} ${ansiFg(TEXT_COLORS.ctxCrit)}✗${ANSI_RESET} ${typeLabel}`;
525
+ }
526
+ if (status === 'in_progress') {
527
+ const progress = ansiFg(TEXT_COLORS.separator) + `(${done}/${total})` + ANSI_RESET;
528
+ return `${slugLabel} ${ansiFg(TEXT_COLORS.ctxWarn)}⚙${ANSI_RESET} ${typeLabel} ${progress}`;
529
+ }
530
+ // pending
531
+ return `${slugLabel} ${ansiFg(TEXT_COLORS.separator)}○${ANSI_RESET} ${typeLabel}`;
488
532
  }
489
- /** Render orphan: brainstorm-ux B */
533
+ /** Render orphan: same status-first style as chains */
490
534
  function renderOrphan(art) {
491
535
  const slug = extractSlug(art);
492
536
  const slugLabel = ansiFg(TEXT_COLORS.task) + slug + ANSI_RESET;
493
- return `${slugLabel} ${colorType(art.type)} ${statusSuffix(art.status)}`;
537
+ if (art.status === 'completed') {
538
+ return `${slugLabel} ${ansiFg(TEXT_COLORS.ctxOk)}✓${ANSI_RESET}`;
539
+ }
540
+ const typeLabel = ansiFg(TEXT_COLORS.phase) + art.type + ANSI_RESET;
541
+ if (art.status === 'failed') {
542
+ return `${slugLabel} ${ansiFg(TEXT_COLORS.ctxCrit)}✗${ANSI_RESET} ${typeLabel}`;
543
+ }
544
+ if (art.status === 'in_progress') {
545
+ return `${slugLabel} ${ansiFg(TEXT_COLORS.ctxWarn)}⚙${ANSI_RESET} ${typeLabel}`;
546
+ }
547
+ return `${slugLabel} ${ansiFg(TEXT_COLORS.separator)}○${ANSI_RESET} ${typeLabel}`;
548
+ }
549
+ // ---------------------------------------------------------------------------
550
+ // Filter & cap — keep line 2 focused on active work
551
+ // ---------------------------------------------------------------------------
552
+ const CHAIN_DONE_TTL_MS = 48 * 60 * 60 * 1000; // 48h
553
+ const CHAIN_MAX = 3;
554
+ function statusRank(s) {
555
+ // in_progress > failed > completed > pending (lower = higher priority)
556
+ if (s === 'in_progress')
557
+ return 0;
558
+ if (s === 'failed')
559
+ return 1;
560
+ if (s === 'completed')
561
+ return 2;
562
+ return 3;
563
+ }
564
+ /** Drop stale completed items (>48h) and cap total to CHAIN_MAX */
565
+ function filterAndCapChains(chains, orphans) {
566
+ const now = Date.now();
567
+ const totalIn = chains.length + orphans.length;
568
+ // Drop expired completed chains
569
+ const liveChains = chains.filter(c => {
570
+ if (chainStatus(c) !== 'completed')
571
+ return true;
572
+ const ts = chainCompletedAt(c);
573
+ return ts > 0 && now - ts < CHAIN_DONE_TTL_MS;
574
+ });
575
+ // Drop expired completed orphans
576
+ const liveOrphans = orphans.filter(o => {
577
+ if (o.status !== 'completed')
578
+ return true;
579
+ if (!o.completed_at)
580
+ return false; // unknown age + completed → drop
581
+ const ts = Date.parse(o.completed_at);
582
+ return !Number.isNaN(ts) && now - ts < CHAIN_DONE_TTL_MS;
583
+ });
584
+ const items = [
585
+ ...liveChains.map(c => ({ kind: 'chain', data: c })),
586
+ ...liveOrphans.map(o => ({ kind: 'orphan', data: o })),
587
+ ];
588
+ items.sort((a, b) => {
589
+ const sa = a.kind === 'chain' ? chainStatus(a.data) : a.data.status;
590
+ const sb = b.kind === 'chain' ? chainStatus(b.data) : b.data.status;
591
+ const rankDiff = statusRank(sa) - statusRank(sb);
592
+ if (rankDiff !== 0)
593
+ return rankDiff;
594
+ // Same rank → recency desc
595
+ const ta = a.kind === 'chain' ? chainCompletedAt(a.data) : (a.data.completed_at ? Date.parse(a.data.completed_at) : 0);
596
+ const tb = b.kind === 'chain' ? chainCompletedAt(b.data) : (b.data.completed_at ? Date.parse(b.data.completed_at) : 0);
597
+ return tb - ta;
598
+ });
599
+ const kept = items.slice(0, CHAIN_MAX);
600
+ const droppedByCap = items.length - kept.length;
601
+ const droppedByTtl = totalIn - items.length;
602
+ return {
603
+ chains: kept.filter(i => i.kind === 'chain').map(i => i.data),
604
+ orphans: kept.filter(i => i.kind === 'orphan').map(i => i.data),
605
+ hidden: droppedByCap + droppedByTtl,
606
+ };
494
607
  }
495
608
  // ---------------------------------------------------------------------------
496
609
  // Main formatter
@@ -561,28 +674,23 @@ export function formatStatusline(data) {
561
674
  header += ansiFg(TEXT_COLORS.milestone) + ` ${wf.completed}/${wf.total}` + ANSI_RESET;
562
675
  if (wf.currentPhase)
563
676
  header += ' ' + ansiFg(TEXT_COLORS.phase) + `${ICONS.phase} P${wf.currentPhase}` + ANSI_RESET;
564
- // Session chains
677
+ // Filter (48h TTL on completed) + cap (max 3 visible)
678
+ const view = filterAndCapChains(wf.chains, wf.orphans);
565
679
  const chainParts = [];
566
- for (const chain of wf.chains) {
680
+ for (const chain of view.chains) {
567
681
  chainParts.push(renderChain(chain));
568
682
  }
569
- for (const orphan of wf.orphans) {
683
+ for (const orphan of view.orphans) {
570
684
  chainParts.push(renderOrphan(orphan));
571
685
  }
686
+ if (view.hidden > 0) {
687
+ chainParts.push(ansiFg(TEXT_COLORS.separator) + `+${view.hidden}` + ANSI_RESET);
688
+ }
572
689
  if (chainParts.length === 0) {
573
690
  return line1 + '\n' + header;
574
691
  }
575
- // Auto multi-line: ≤2 chains single line, >2 one chain per line
576
- if (chainParts.length <= 2) {
577
- const line2 = header + sep + chainParts.join(dot);
578
- return line1 + '\n' + line2;
579
- }
580
- // Multi-line: header on line 2, each chain on its own line
581
- const lines = [line1, header];
582
- for (const part of chainParts) {
583
- lines.push(' ' + part);
584
- }
585
- return lines.join('\n');
692
+ // Single-line: header + chains joined by dots (cap=3 keeps it compact)
693
+ return line1 + '\n' + header + sep + chainParts.join(dot);
586
694
  }
587
695
  /** Entry point — reads stdin JSON, writes formatted statusline to stdout */
588
696
  export function runStatusline() {
@@ -1 +1 @@
1
- {"version":3,"file":"statusline.js","sourceRoot":"","sources":["../../../src/hooks/statusline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statusline.js","sourceRoot":"","sources":["../../../src/hooks/statusline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { CheckFinding } from './status-schema.js';
2
+ export interface CheckCmdOptions {
3
+ sessionId?: string;
4
+ json?: boolean;
5
+ }
6
+ export declare function runCheck(opts: CheckCmdOptions): Promise<number>;
7
+ /** Convenience for internal callers (ralph next prelude). */
8
+ export declare function hasErrors(findings: CheckFinding[]): boolean;
9
+ //# sourceMappingURL=cmd-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd-check.d.ts","sourceRoot":"","sources":["../../../src/ralph/cmd-check.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA4CrE;AAED,6DAA6D;AAC7D,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAE3D"}
@@ -0,0 +1,53 @@
1
+ // ---------------------------------------------------------------------------
2
+ // `maestro ralph check` — health-check ralph status.json.
3
+ // Exit code: 0 if no E findings, 1 otherwise.
4
+ // ---------------------------------------------------------------------------
5
+ import { resolveSession, workflowRoot } from './status-store.js';
6
+ import { checkStatus, summarize } from './status-checker.js';
7
+ export async function runCheck(opts) {
8
+ const resolved = resolveSession(workflowRoot(), opts.sessionId);
9
+ if (!resolved) {
10
+ const msg = opts.sessionId
11
+ ? `[ralph check] session not found: ${opts.sessionId}`
12
+ : '[ralph check] no ralph-* sessions found';
13
+ if (opts.json) {
14
+ process.stdout.write(JSON.stringify({ ok: false, error: msg }) + '\n');
15
+ }
16
+ else {
17
+ console.error(msg);
18
+ }
19
+ return 1;
20
+ }
21
+ const findings = checkStatus(resolved.data);
22
+ const { errors, warnings } = summarize(findings);
23
+ if (opts.json) {
24
+ process.stdout.write(JSON.stringify({
25
+ ok: errors === 0,
26
+ session_id: resolved.sessionId,
27
+ errors, warnings,
28
+ findings,
29
+ }, null, 2) + '\n');
30
+ return errors === 0 ? 0 : 1;
31
+ }
32
+ console.log(`session: ${resolved.sessionId}`);
33
+ console.log(`status: ${resolved.data.status}`);
34
+ console.log(`steps: ${resolved.data.steps.length}`);
35
+ console.log('');
36
+ if (findings.length === 0) {
37
+ console.log(' ✓ no issues found');
38
+ }
39
+ else {
40
+ for (const f of findings) {
41
+ const loc = f.step_index !== undefined ? ` [step ${f.step_index}]` : '';
42
+ console.log(` ${f.level === 'E' ? '✗' : '!'} ${f.code}${loc}: ${f.message}`);
43
+ }
44
+ }
45
+ console.log('');
46
+ console.log(` summary: ${errors} error${errors === 1 ? '' : 's'}, ${warnings} warning${warnings === 1 ? '' : 's'}`);
47
+ return errors === 0 ? 0 : 1;
48
+ }
49
+ /** Convenience for internal callers (ralph next prelude). */
50
+ export function hasErrors(findings) {
51
+ return findings.some(f => f.level === 'E');
52
+ }
53
+ //# sourceMappingURL=cmd-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd-check.js","sourceRoot":"","sources":["../../../src/ralph/cmd-check.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,0DAA0D;AAC1D,8CAA8C;AAC9C,8EAA8E;AAE9E,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAQ7D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAqB;IAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS;YACxB,CAAC,CAAC,oCAAoC,IAAI,CAAC,SAAS,EAAE;YACtD,CAAC,CAAC,yCAAyC,CAAC;QAC9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAClC,EAAE,EAAE,MAAM,KAAK,CAAC;YAChB,UAAU,EAAE,QAAQ,CAAC,SAAS;YAC9B,MAAM,EAAE,QAAQ;YAChB,QAAQ;SACT,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACpB,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,SAAS,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,WAAW,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAErH,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,SAAS,CAAC,QAAwB;IAChD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface CompleteCmdOptions {
2
+ sessionId?: string;
3
+ index: number;
4
+ status: 'DONE' | 'DONE_WITH_CONCERNS' | 'NEEDS_RETRY' | 'BLOCKED';
5
+ evidence: string[];
6
+ concerns?: string;
7
+ reason?: string;
8
+ }
9
+ export declare function runComplete(opts: CompleteCmdOptions): Promise<number>;
10
+ //# sourceMappingURL=cmd-complete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd-complete.d.ts","sourceRoot":"","sources":["../../../src/ralph/cmd-complete.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,aAAa,GAAG,SAAS,CAAC;IAClE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgC3E"}