@dailephd/my-dev-kit-orchestrator 1.0.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 (110) hide show
  1. package/README.md +295 -0
  2. package/dist/artifactChecker.d.ts +31 -0
  3. package/dist/artifactChecker.d.ts.map +1 -0
  4. package/dist/artifactChecker.js +341 -0
  5. package/dist/artifactChecker.js.map +1 -0
  6. package/dist/artifactLifecycle.d.ts +30 -0
  7. package/dist/artifactLifecycle.d.ts.map +1 -0
  8. package/dist/artifactLifecycle.js +176 -0
  9. package/dist/artifactLifecycle.js.map +1 -0
  10. package/dist/cli.d.ts +3 -0
  11. package/dist/cli.d.ts.map +1 -0
  12. package/dist/cli.js +7 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/commands/check.d.ts +3 -0
  15. package/dist/commands/check.d.ts.map +1 -0
  16. package/dist/commands/check.js +494 -0
  17. package/dist/commands/check.js.map +1 -0
  18. package/dist/commands/export.d.ts +16 -0
  19. package/dist/commands/export.d.ts.map +1 -0
  20. package/dist/commands/export.js +248 -0
  21. package/dist/commands/export.js.map +1 -0
  22. package/dist/commands/init.d.ts +3 -0
  23. package/dist/commands/init.d.ts.map +1 -0
  24. package/dist/commands/init.js +59 -0
  25. package/dist/commands/init.js.map +1 -0
  26. package/dist/commands/list.d.ts +3 -0
  27. package/dist/commands/list.d.ts.map +1 -0
  28. package/dist/commands/list.js +101 -0
  29. package/dist/commands/list.js.map +1 -0
  30. package/dist/commands/mark.d.ts +3 -0
  31. package/dist/commands/mark.d.ts.map +1 -0
  32. package/dist/commands/mark.js +139 -0
  33. package/dist/commands/mark.js.map +1 -0
  34. package/dist/commands/prompt.d.ts +3 -0
  35. package/dist/commands/prompt.d.ts.map +1 -0
  36. package/dist/commands/prompt.js +198 -0
  37. package/dist/commands/prompt.js.map +1 -0
  38. package/dist/commands/start.d.ts +3 -0
  39. package/dist/commands/start.d.ts.map +1 -0
  40. package/dist/commands/start.js +100 -0
  41. package/dist/commands/start.js.map +1 -0
  42. package/dist/commands/status.d.ts +3 -0
  43. package/dist/commands/status.d.ts.map +1 -0
  44. package/dist/commands/status.js +191 -0
  45. package/dist/commands/status.js.map +1 -0
  46. package/dist/contractChecker.d.ts +53 -0
  47. package/dist/contractChecker.d.ts.map +1 -0
  48. package/dist/contractChecker.js +319 -0
  49. package/dist/contractChecker.js.map +1 -0
  50. package/dist/correctionRouter.d.ts +37 -0
  51. package/dist/correctionRouter.d.ts.map +1 -0
  52. package/dist/correctionRouter.js +142 -0
  53. package/dist/correctionRouter.js.map +1 -0
  54. package/dist/correctionState.d.ts +16 -0
  55. package/dist/correctionState.d.ts.map +1 -0
  56. package/dist/correctionState.js +64 -0
  57. package/dist/correctionState.js.map +1 -0
  58. package/dist/index.d.ts +4 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +9 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/judgeParser.d.ts +16 -0
  63. package/dist/judgeParser.d.ts.map +1 -0
  64. package/dist/judgeParser.js +52 -0
  65. package/dist/judgeParser.js.map +1 -0
  66. package/dist/program.d.ts +3 -0
  67. package/dist/program.d.ts.map +1 -0
  68. package/dist/program.js +33 -0
  69. package/dist/program.js.map +1 -0
  70. package/dist/promptChecker.d.ts +27 -0
  71. package/dist/promptChecker.d.ts.map +1 -0
  72. package/dist/promptChecker.js +152 -0
  73. package/dist/promptChecker.js.map +1 -0
  74. package/dist/promptGenerator.d.ts +12 -0
  75. package/dist/promptGenerator.d.ts.map +1 -0
  76. package/dist/promptGenerator.js +2556 -0
  77. package/dist/promptGenerator.js.map +1 -0
  78. package/dist/run.d.ts +30 -0
  79. package/dist/run.d.ts.map +1 -0
  80. package/dist/run.js +141 -0
  81. package/dist/run.js.map +1 -0
  82. package/dist/stageDetector.d.ts +29 -0
  83. package/dist/stageDetector.d.ts.map +1 -0
  84. package/dist/stageDetector.js +161 -0
  85. package/dist/stageDetector.js.map +1 -0
  86. package/dist/traceChecker.d.ts +46 -0
  87. package/dist/traceChecker.d.ts.map +1 -0
  88. package/dist/traceChecker.js +257 -0
  89. package/dist/traceChecker.js.map +1 -0
  90. package/dist/traceModel.d.ts +7 -0
  91. package/dist/traceModel.d.ts.map +1 -0
  92. package/dist/traceModel.js +37 -0
  93. package/dist/traceModel.js.map +1 -0
  94. package/dist/traceParser.d.ts +27 -0
  95. package/dist/traceParser.d.ts.map +1 -0
  96. package/dist/traceParser.js +102 -0
  97. package/dist/traceParser.js.map +1 -0
  98. package/dist/types.d.ts +11 -0
  99. package/dist/types.d.ts.map +1 -0
  100. package/dist/types.js +9 -0
  101. package/dist/types.js.map +1 -0
  102. package/dist/workflows.d.ts +16 -0
  103. package/dist/workflows.d.ts.map +1 -0
  104. package/dist/workflows.js +170 -0
  105. package/dist/workflows.js.map +1 -0
  106. package/dist/workspace.d.ts +13 -0
  107. package/dist/workspace.d.ts.map +1 -0
  108. package/dist/workspace.js +70 -0
  109. package/dist/workspace.js.map +1 -0
  110. package/package.json +62 -0
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.makePromptCommand = makePromptCommand;
37
+ const commander_1 = require("commander");
38
+ const path = __importStar(require("path"));
39
+ const fs = __importStar(require("fs"));
40
+ const run_1 = require("../run");
41
+ const promptGenerator_1 = require("../promptGenerator");
42
+ const stageDetector_1 = require("../stageDetector");
43
+ const artifactLifecycle_1 = require("../artifactLifecycle");
44
+ const correctionState_1 = require("../correctionState");
45
+ const promptGenerator_2 = require("../promptGenerator");
46
+ function buildLifecycleContextBlock(stage, states, stateFile) {
47
+ const dominantState = states.find((s) => s !== 'complete' && s !== 'missing') ?? states[0];
48
+ if (dominantState === 'complete')
49
+ return '';
50
+ const record = stateFile.artifacts[stage.artifactFile];
51
+ const reason = record?.reason;
52
+ const lines = ['=== LIFECYCLE CONTEXT ==='];
53
+ if (dominantState === 'blocked') {
54
+ lines.push(`Current artifact state: blocked`);
55
+ if (reason)
56
+ lines.push(`Reason: ${reason}`);
57
+ lines.push('');
58
+ lines.push('This artifact is blocked. Do not guess or fabricate missing information.');
59
+ lines.push('Document the blocker clearly in the artifact. Identify what external input');
60
+ lines.push('or decision is needed before work can continue.');
61
+ }
62
+ else if (dominantState === 'incomplete') {
63
+ lines.push(`Current artifact state: incomplete`);
64
+ if (reason)
65
+ lines.push(`Reason: ${reason}`);
66
+ lines.push('');
67
+ lines.push('This artifact is marked incomplete. Finish the unfinished sections.');
68
+ lines.push('Preserve existing content that is already correct. Review and complete');
69
+ lines.push('what remains before marking this artifact done.');
70
+ }
71
+ else if (dominantState === 'stale') {
72
+ lines.push(`Current artifact state: stale`);
73
+ lines.push('');
74
+ lines.push('This artifact is stale - an upstream artifact changed after this one was');
75
+ lines.push('completed. Reconcile this artifact against the newer upstream artifacts');
76
+ lines.push('before continuing. Review what changed and update accordingly.');
77
+ }
78
+ else {
79
+ return '';
80
+ }
81
+ lines.push('=========================');
82
+ lines.push('');
83
+ return lines.join('\n');
84
+ }
85
+ function makePromptCommand() {
86
+ const cmd = new commander_1.Command('prompt');
87
+ cmd
88
+ .description('Print the next stage prompt for the active or selected run')
89
+ .argument('[stage]', 'specific stage name in lowercase kebab-case (optional)')
90
+ .option('--run <run-id>', 'select a specific workflow run by ID')
91
+ .option('--root <path>', 'project root directory (default: current working directory)')
92
+ .action((stage, options) => {
93
+ const projectRoot = path.resolve(options.root ?? process.cwd());
94
+ let meta;
95
+ if (options.run) {
96
+ const runFolder = (0, run_1.getRunFolder)(projectRoot, options.run);
97
+ if (!fs.existsSync(runFolder)) {
98
+ console.error(`Error: run not found: ${options.run}`);
99
+ process.exit(1);
100
+ }
101
+ try {
102
+ meta = (0, run_1.loadRun)(runFolder);
103
+ }
104
+ catch {
105
+ console.error(`Error: could not load run: ${options.run}`);
106
+ process.exit(1);
107
+ }
108
+ }
109
+ else {
110
+ meta = (0, run_1.getMostRecentRun)(projectRoot);
111
+ if (!meta) {
112
+ console.error('No runs found. Run: my-dev-kit-orchestrator start "<request>"');
113
+ process.exit(1);
114
+ }
115
+ }
116
+ const stateFile = (0, artifactLifecycle_1.readArtifactStateFile)(meta.runFolder);
117
+ if (stage) {
118
+ const stageExists = meta.stages.some((s) => s.name === stage);
119
+ if (!stageExists) {
120
+ const available = meta.stages.map((s) => s.name).join(', ');
121
+ console.error(`Error: stage "${stage}" does not exist in ${meta.mode} workflow.\nAvailable stages: ${available}`);
122
+ process.exit(1);
123
+ }
124
+ const missingPrior = (0, stageDetector_1.getMissingPriorArtifacts)(meta, stage);
125
+ if (missingPrior.length > 0) {
126
+ console.error(`Warning: the following required prior artifacts are missing:\n` +
127
+ missingPrior.map((f) => ` - ${f}`).join('\n') +
128
+ `\n\nReturn to the stage that produces the missing artifact before continuing.\n` +
129
+ `Next missing stage: ${(0, stageDetector_1.getNextStage)(meta)?.name ?? 'none'}`);
130
+ process.exit(1);
131
+ }
132
+ const stageObj = meta.stages.find((s) => s.name === stage);
133
+ const states = (0, stageDetector_1.resolveCurrentArtifactStates)(meta, stateFile, stageObj);
134
+ const lifecycleBlock = buildLifecycleContextBlock(stageObj, states, stateFile);
135
+ try {
136
+ const promptText = (0, promptGenerator_1.generateStagePrompt)(meta, stage);
137
+ process.stdout.write(lifecycleBlock + promptText);
138
+ }
139
+ catch (err) {
140
+ console.error(`Error generating prompt: ${err.message}`);
141
+ process.exit(1);
142
+ }
143
+ }
144
+ else {
145
+ if ((0, stageDetector_1.isRunCompleteWithLifecycle)(meta, stateFile)) {
146
+ if ((0, stageDetector_1.isRunComplete)(meta)) {
147
+ console.log(`Run ${meta.runId} is complete - all expected artifacts are present.\n\n` +
148
+ `To view the final report:\n ${path.join(meta.runFolder, 'artifacts/final-report.txt')}\n\n` +
149
+ `To inspect run status:\n my-dev-kit-orchestrator status`);
150
+ }
151
+ else {
152
+ console.log(`Run ${meta.runId} is complete - all artifacts are in complete state.\n\n` +
153
+ `To view the final report:\n ${path.join(meta.runFolder, 'artifacts/final-report.txt')}\n\n` +
154
+ `To inspect run status:\n my-dev-kit-orchestrator status`);
155
+ }
156
+ return;
157
+ }
158
+ // Check for active correction routing (judge-report.txt with non-PASS verdict)
159
+ const correctionState = (0, correctionState_1.readCorrectionState)(meta.runFolder);
160
+ if (correctionState && correctionState.routeStatus === 'correction_required' && correctionState.routedStage) {
161
+ try {
162
+ const correctionPrompt = (0, promptGenerator_2.generateCorrectionPrompt)(meta, correctionState);
163
+ process.stdout.write(correctionPrompt);
164
+ }
165
+ catch (err) {
166
+ console.error(`Error generating correction prompt: ${err.message}`);
167
+ process.exit(1);
168
+ }
169
+ return;
170
+ }
171
+ if (correctionState && correctionState.routeStatus === 'blocked') {
172
+ console.log(`Run ${meta.runId} is blocked by judge verdict: ${correctionState.verdict}\n\n` +
173
+ `This run requires external resolution (e.g. scope clarification or design restart)\n` +
174
+ `before it can continue automatically.\n\n` +
175
+ `Inspect the judge report:\n ${meta.runFolder}/artifacts/judge-report.txt\n\n` +
176
+ `To inspect run status:\n my-dev-kit-orchestrator status`);
177
+ return;
178
+ }
179
+ const nextStage = (0, stageDetector_1.getNextStageWithLifecycle)(meta, stateFile);
180
+ if (!nextStage) {
181
+ console.log('No missing stage artifact remains.');
182
+ return;
183
+ }
184
+ const states = (0, stageDetector_1.resolveCurrentArtifactStates)(meta, stateFile, nextStage);
185
+ const lifecycleBlock = buildLifecycleContextBlock(nextStage, states, stateFile);
186
+ try {
187
+ const promptText = (0, promptGenerator_1.generateStagePrompt)(meta, nextStage.name);
188
+ process.stdout.write(lifecycleBlock + promptText);
189
+ }
190
+ catch (err) {
191
+ console.error(`Error generating prompt: ${err.message}`);
192
+ process.exit(1);
193
+ }
194
+ }
195
+ });
196
+ return cmd;
197
+ }
198
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function makeStartCommand(): Command;
3
+ //# sourceMappingURL=start.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,gBAAgB,IAAI,OAAO,CA6D1C"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.makeStartCommand = makeStartCommand;
37
+ const commander_1 = require("commander");
38
+ const path = __importStar(require("path"));
39
+ const types_1 = require("../types");
40
+ const run_1 = require("../run");
41
+ const workspace_1 = require("../workspace");
42
+ function makeStartCommand() {
43
+ const cmd = new commander_1.Command('start');
44
+ cmd
45
+ .description('Start a new workflow run')
46
+ .argument('<request>', 'the software change request or description')
47
+ .option('--mode <mode>', `workflow mode (${types_1.VALID_MODES.join(' | ')})`, 'feature')
48
+ .option('--root <path>', 'project root directory (default: current working directory)')
49
+ .option('--name <run-name>', 'readable name to include in the run ID')
50
+ .option('--output-dir <path>', 'custom run output directory')
51
+ .option('--source <path>', 'source repository root (required for extraction mode)')
52
+ .option('--target <path>', 'target repository root (required for extraction mode)')
53
+ .action((request, options) => {
54
+ if (!(0, types_1.isValidMode)(options.mode)) {
55
+ console.error(`Error: invalid mode "${options.mode}". Allowed values: ${types_1.VALID_MODES.join(', ')}`);
56
+ process.exit(1);
57
+ }
58
+ if (options.mode === 'extraction') {
59
+ if (!options.source) {
60
+ console.error('Error: --source <path> is required for extraction mode');
61
+ process.exit(1);
62
+ }
63
+ if (!options.target) {
64
+ console.error('Error: --target <path> is required for extraction mode');
65
+ process.exit(1);
66
+ }
67
+ }
68
+ const sourceRepoRoot = options.source ? path.resolve(options.source) : undefined;
69
+ const targetRepoRoot = options.target ? path.resolve(options.target) : undefined;
70
+ // For extraction mode, run artifacts live under the target repository
71
+ const projectRoot = targetRepoRoot ?? path.resolve(options.root ?? process.cwd());
72
+ (0, workspace_1.initWorkspace)(projectRoot);
73
+ try {
74
+ const meta = (0, run_1.createRun)({
75
+ request,
76
+ mode: options.mode,
77
+ projectRoot,
78
+ name: options.name,
79
+ outputDir: options.outputDir ? path.resolve(options.outputDir) : undefined,
80
+ sourceRepoRoot,
81
+ targetRepoRoot,
82
+ });
83
+ const lines = [`Created workflow run:\n${meta.runFolder}\n\nMode:\n${meta.mode}`];
84
+ if (meta.sourceRepoRoot) {
85
+ lines.push(`\nSource repository:\n${meta.sourceRepoRoot}`);
86
+ }
87
+ if (meta.targetRepoRoot) {
88
+ lines.push(`\nTarget repository:\n${meta.targetRepoRoot}`);
89
+ }
90
+ lines.push(`\nNext:\n my-dev-kit-orchestrator prompt`);
91
+ console.log(lines.join(''));
92
+ }
93
+ catch (err) {
94
+ console.error(`Error: ${err.message}`);
95
+ process.exit(1);
96
+ }
97
+ });
98
+ return cmd;
99
+ }
100
+ //# sourceMappingURL=start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function makeStatusCommand(): Command;
3
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,wBAAgB,iBAAiB,IAAI,OAAO,CAwI3C"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.makeStatusCommand = makeStatusCommand;
37
+ const commander_1 = require("commander");
38
+ const path = __importStar(require("path"));
39
+ const fs = __importStar(require("fs"));
40
+ const run_1 = require("../run");
41
+ const stageDetector_1 = require("../stageDetector");
42
+ const artifactLifecycle_1 = require("../artifactLifecycle");
43
+ const promptChecker_1 = require("../promptChecker");
44
+ const traceChecker_1 = require("../traceChecker");
45
+ const correctionState_1 = require("../correctionState");
46
+ function lifecycleLabel(status) {
47
+ const label = ` [${status.lifecycleState.padEnd(10)}] ${status.artifactFile}`;
48
+ if (status.reason) {
49
+ return [label, ` Reason: ${status.reason}`];
50
+ }
51
+ return [label];
52
+ }
53
+ function makeStatusCommand() {
54
+ const cmd = new commander_1.Command('status');
55
+ cmd
56
+ .description('Show the current or selected workflow run status')
57
+ .option('--run <run-id>', 'select a specific workflow run by ID')
58
+ .option('--root <path>', 'project root directory (default: current working directory)')
59
+ .action((options) => {
60
+ const projectRoot = path.resolve(options.root ?? process.cwd());
61
+ let meta;
62
+ if (options.run) {
63
+ const runFolder = (0, run_1.getRunFolder)(projectRoot, options.run);
64
+ if (!fs.existsSync(runFolder)) {
65
+ console.error(`Error: run not found: ${options.run}`);
66
+ process.exit(1);
67
+ }
68
+ try {
69
+ meta = (0, run_1.loadRun)(runFolder);
70
+ }
71
+ catch {
72
+ console.error(`Error: could not load run.json for: ${options.run}`);
73
+ process.exit(1);
74
+ }
75
+ }
76
+ else {
77
+ meta = (0, run_1.getMostRecentRun)(projectRoot);
78
+ if (!meta) {
79
+ console.log('No runs found.\n\nNext:\n my-dev-kit-orchestrator start "<software change request>"');
80
+ return;
81
+ }
82
+ }
83
+ const stateFile = (0, artifactLifecycle_1.readArtifactStateFile)(meta.runFolder);
84
+ const lifecycleStatuses = (0, stageDetector_1.getArtifactLifecycleStatuses)(meta, stateFile);
85
+ const legacyStatuses = (0, stageDetector_1.getArtifactStatuses)(meta);
86
+ const nextStage = (0, stageDetector_1.getNextStageWithLifecycle)(meta, stateFile);
87
+ const presentArtifacts = legacyStatuses.filter((s) => s.present);
88
+ const nonCompleteArtifacts = lifecycleStatuses.filter((s) => s.lifecycleState !== 'complete');
89
+ const supportingReports = (0, stageDetector_1.getSupportingReportStatuses)(meta);
90
+ const lines = [
91
+ `Run:`,
92
+ ` ${meta.runId}`,
93
+ ``,
94
+ `Mode:`,
95
+ ` ${meta.mode}`,
96
+ ``,
97
+ `Request:`,
98
+ ` ${meta.request}`,
99
+ ``,
100
+ `Run folder:`,
101
+ ` ${meta.runFolder}`,
102
+ ``,
103
+ ...(meta.sourceRepoRoot ? [`Source repository:`, ` ${meta.sourceRepoRoot}`, ``] : []),
104
+ ...(meta.targetRepoRoot ? [`Target repository:`, ` ${meta.targetRepoRoot}`, ``] : []),
105
+ `Current / next stage:`,
106
+ ` ${nextStage ? nextStage.name : '(complete)'}`,
107
+ ``,
108
+ `Available prompts:`,
109
+ ...meta.stages.map((s) => ` - ${s.name}`),
110
+ ``,
111
+ `Artifacts:`,
112
+ ...lifecycleStatuses.flatMap(lifecycleLabel),
113
+ ``,
114
+ `Present artifacts: ${presentArtifacts.length}/${legacyStatuses.length}`,
115
+ `Non-complete artifacts: ${nonCompleteArtifacts.length}`,
116
+ ``,
117
+ `Supporting reports:`,
118
+ ...(supportingReports.length > 0
119
+ ? supportingReports.map((r) => ` ${r.present ? '[present]' : '[missing]'} ${r.reportFile}`)
120
+ : [` (none for this workflow mode)`]),
121
+ ``,
122
+ ];
123
+ // Content check summary
124
+ const checkResults = (0, promptChecker_1.readCheckResults)(meta.runFolder);
125
+ if (checkResults) {
126
+ const aResults = checkResults.artifactResults;
127
+ const pResults = checkResults.promptResults;
128
+ const allResults = [...aResults, ...pResults];
129
+ const pass = allResults.filter((r) => r.passed && !r.issues.some((i) => i.severity === 'warn')).length;
130
+ const warn = allResults.filter((r) => r.passed && r.issues.some((i) => i.severity === 'warn')).length;
131
+ const fail = allResults.filter((r) => !r.passed).length;
132
+ lines.push(`Content check: ${pass} pass, ${warn} warn, ${fail} fail (run: my-dev-kit-orchestrator check)`);
133
+ }
134
+ else {
135
+ lines.push(`Content check: not run (run: my-dev-kit-orchestrator check)`);
136
+ }
137
+ lines.push(``);
138
+ // Trace check summary
139
+ const traceResults = (0, traceChecker_1.readTraceCheckResults)(meta.runFolder);
140
+ if (traceResults) {
141
+ const tr = traceResults.traceResults;
142
+ const pass = tr.filter((r) => r.passed && !r.issues.some((i) => i.severity === 'warn')).length;
143
+ const warn = tr.filter((r) => r.passed && r.issues.some((i) => i.severity === 'warn')).length;
144
+ const fail = tr.filter((r) => !r.passed).length;
145
+ lines.push(`Trace check: ${pass} pass, ${warn} warn, ${fail} fail (run: my-dev-kit-orchestrator check --trace)`);
146
+ }
147
+ else {
148
+ lines.push(`Trace check: not run (run: my-dev-kit-orchestrator check --trace)`);
149
+ }
150
+ lines.push(``);
151
+ // Judge correction routing summary
152
+ const correctionState = (0, correctionState_1.readCorrectionState)(meta.runFolder);
153
+ if (correctionState) {
154
+ if (correctionState.routeStatus === 'pass') {
155
+ lines.push(`Judge correction: PASS - no correction required`);
156
+ }
157
+ else if (correctionState.routeStatus === 'correction_required') {
158
+ lines.push(`Judge correction: ${correctionState.verdict} → correction required`);
159
+ lines.push(` Routed stage: ${correctionState.routedStage}`);
160
+ if (correctionState.warnings.length > 0) {
161
+ lines.push(` Warning: ${correctionState.warnings[0]}`);
162
+ }
163
+ }
164
+ else if (correctionState.routeStatus === 'blocked') {
165
+ lines.push(`Judge correction: ${correctionState.verdict} - run is blocked`);
166
+ lines.push(` This run requires external resolution before it can continue.`);
167
+ }
168
+ else if (correctionState.routeStatus === 'unknown_verdict') {
169
+ lines.push(`Judge correction: unrecognized verdict in judge-report.txt`);
170
+ if (correctionState.errors.length > 0) {
171
+ lines.push(` Error: ${correctionState.errors[0]}`);
172
+ }
173
+ }
174
+ else if (correctionState.routeStatus === 'missing_verdict') {
175
+ lines.push(`Judge correction: no verdict found in judge-report.txt`);
176
+ }
177
+ lines.push(``);
178
+ }
179
+ if (nextStage) {
180
+ lines.push(`Next:`);
181
+ lines.push(` my-dev-kit-orchestrator prompt`);
182
+ }
183
+ else {
184
+ lines.push(`Status: All artifacts complete.`);
185
+ lines.push(` my-dev-kit-orchestrator prompt final-report`);
186
+ }
187
+ console.log(lines.join('\n'));
188
+ });
189
+ return cmd;
190
+ }
191
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { RunMetadata } from './run';
2
+ export type ArtifactContractSeverity = 'pass' | 'warn' | 'fail';
3
+ export interface ArtifactContractIssue {
4
+ code: string;
5
+ severity: ArtifactContractSeverity;
6
+ message: string;
7
+ suggestedFix?: string;
8
+ section?: string;
9
+ }
10
+ export interface ArtifactContractCheckResult {
11
+ artifactFile: string;
12
+ artifactKind: string;
13
+ stageName: string;
14
+ mode: string;
15
+ issues: ArtifactContractIssue[];
16
+ passed: boolean;
17
+ checkedAt: string;
18
+ }
19
+ export interface RunContractCheckResult {
20
+ runId: string;
21
+ mode: string;
22
+ modeValid: boolean;
23
+ results: ArtifactContractCheckResult[];
24
+ modeIssues: ArtifactContractIssue[];
25
+ checkedAt: string;
26
+ }
27
+ export interface ModeContractSummary {
28
+ mode: string;
29
+ stages: Array<{
30
+ stageName: string;
31
+ artifactFile: string;
32
+ artifactKind: string;
33
+ predecessors: string[];
34
+ requiredSections: string[];
35
+ }>;
36
+ }
37
+ export interface ContractCheckOptions {
38
+ strict?: boolean;
39
+ }
40
+ export declare function isSectionPlaceholderContent(content: string): boolean;
41
+ export declare function checkArtifactContract(runFolder: string, artifactFile: string, stageName: string, mode: string, predecessorFiles: string[], options?: ContractCheckOptions): ArtifactContractCheckResult;
42
+ export declare function checkRunArtifactContracts(meta: RunMetadata, options?: ContractCheckOptions): RunContractCheckResult;
43
+ export interface StageGateViolation {
44
+ gateName: string;
45
+ severity: 'fail';
46
+ message: string;
47
+ missingArtifact: string;
48
+ presentArtifact: string;
49
+ suggestedFix: string;
50
+ }
51
+ export declare function checkStageGates(meta: RunMetadata): StageGateViolation[];
52
+ export declare function resolveArtifactContractsForMode(mode: string): ModeContractSummary | null;
53
+ //# sourceMappingURL=contractChecker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contractChecker.d.ts","sourceRoot":"","sources":["../src/contractChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAWpC,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,wBAAwB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,2BAA2B,EAAE,CAAC;IACvC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAOD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpE;AAqCD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,GAAE,oBAAyB,GACjC,2BAA2B,CAoH7B;AAID,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,oBAAyB,GACjC,sBAAsB,CAsExB;AAID,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAsBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,kBAAkB,EAAE,CA8BvE;AAID,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAoBxF"}