@hongmaple0820/scale-engine 0.47.0 → 0.49.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 (128) hide show
  1. package/README.en.md +8 -2
  2. package/README.md +9 -3
  3. package/dist/agents/evidenceDiscipline.d.ts +7 -0
  4. package/dist/agents/evidenceDiscipline.js +21 -0
  5. package/dist/agents/evidenceDiscipline.js.map +1 -0
  6. package/dist/agents/profiles.js +8 -1
  7. package/dist/agents/profiles.js.map +1 -1
  8. package/dist/agents/types.d.ts +1 -0
  9. package/dist/api/cli.js +975 -6222
  10. package/dist/api/cli.js.map +1 -1
  11. package/dist/artifact/types.d.ts +59 -0
  12. package/dist/artifact/types.js.map +1 -1
  13. package/dist/cli/artifactCrudCommands.d.ts +67 -0
  14. package/dist/cli/artifactCrudCommands.js +182 -0
  15. package/dist/cli/artifactCrudCommands.js.map +1 -0
  16. package/dist/cli/codegraphCommands.d.ts +1 -0
  17. package/dist/cli/codegraphCommands.js +241 -0
  18. package/dist/cli/codegraphCommands.js.map +1 -0
  19. package/dist/cli/contextCommands.d.ts +1 -0
  20. package/dist/cli/contextCommands.js +415 -0
  21. package/dist/cli/contextCommands.js.map +1 -0
  22. package/dist/cli/cortexCommands.d.ts +36 -0
  23. package/dist/cli/cortexCommands.js +76 -4
  24. package/dist/cli/cortexCommands.js.map +1 -1
  25. package/dist/cli/dependencyTddCommands.d.ts +92 -0
  26. package/dist/cli/dependencyTddCommands.js +174 -0
  27. package/dist/cli/dependencyTddCommands.js.map +1 -0
  28. package/dist/cli/diagnoseHuntCommands.d.ts +135 -0
  29. package/dist/cli/diagnoseHuntCommands.js +224 -0
  30. package/dist/cli/diagnoseHuntCommands.js.map +1 -0
  31. package/dist/cli/engineBootstrap.d.ts +39 -0
  32. package/dist/cli/engineBootstrap.js +129 -0
  33. package/dist/cli/engineBootstrap.js.map +1 -0
  34. package/dist/cli/evalCommands.d.ts +1 -0
  35. package/dist/cli/evalCommands.js +273 -0
  36. package/dist/cli/evalCommands.js.map +1 -0
  37. package/dist/cli/evolveDoctorCommands.d.ts +18 -0
  38. package/dist/cli/evolveDoctorCommands.js +59 -0
  39. package/dist/cli/evolveDoctorCommands.js.map +1 -0
  40. package/dist/cli/gateInlineCommands.d.ts +43 -0
  41. package/dist/cli/gateInlineCommands.js +74 -0
  42. package/dist/cli/gateInlineCommands.js.map +1 -0
  43. package/dist/cli/initConfigCommands.d.ts +138 -0
  44. package/dist/cli/initConfigCommands.js +602 -0
  45. package/dist/cli/initConfigCommands.js.map +1 -0
  46. package/dist/cli/metaGovernanceCommands.d.ts +11 -0
  47. package/dist/cli/metaGovernanceCommands.js +55 -0
  48. package/dist/cli/metaGovernanceCommands.js.map +1 -0
  49. package/dist/cli/phaseCommands.d.ts +53 -1
  50. package/dist/cli/phaseCommands.js +317 -22
  51. package/dist/cli/phaseCommands.js.map +1 -1
  52. package/dist/cli/runtimeSkillCommands.d.ts +6 -0
  53. package/dist/cli/runtimeSkillCommands.js +1515 -0
  54. package/dist/cli/runtimeSkillCommands.js.map +1 -0
  55. package/dist/cli/sessionCommands.d.ts +17 -0
  56. package/dist/cli/sessionCommands.js +38 -0
  57. package/dist/cli/sessionCommands.js.map +1 -0
  58. package/dist/cli/toolAgentCommands.d.ts +3 -0
  59. package/dist/cli/toolAgentCommands.js +441 -0
  60. package/dist/cli/toolAgentCommands.js.map +1 -0
  61. package/dist/cli/transitionCommands.d.ts +62 -0
  62. package/dist/cli/transitionCommands.js +174 -0
  63. package/dist/cli/transitionCommands.js.map +1 -0
  64. package/dist/cli/upgradeAssetsCommands.d.ts +44 -0
  65. package/dist/cli/upgradeAssetsCommands.js +933 -0
  66. package/dist/cli/upgradeAssetsCommands.js.map +1 -0
  67. package/dist/cli/workflowEvidenceCommands.d.ts +34 -0
  68. package/dist/cli/workflowEvidenceCommands.js +130 -0
  69. package/dist/cli/workflowEvidenceCommands.js.map +1 -0
  70. package/dist/cortex/InstinctStore.d.ts +32 -1
  71. package/dist/cortex/InstinctStore.js +235 -42
  72. package/dist/cortex/InstinctStore.js.map +1 -1
  73. package/dist/cortex/InstinctValidation.d.ts +9 -0
  74. package/dist/cortex/InstinctValidation.js +55 -0
  75. package/dist/cortex/InstinctValidation.js.map +1 -0
  76. package/dist/cortex/SessionInjector.js +13 -6
  77. package/dist/cortex/SessionInjector.js.map +1 -1
  78. package/dist/eval/BenchmarkPublisher.d.ts +2 -0
  79. package/dist/eval/BenchmarkPublisher.js +43 -0
  80. package/dist/eval/BenchmarkPublisher.js.map +1 -1
  81. package/dist/guardrails/ast/confirmers.d.ts +18 -0
  82. package/dist/guardrails/ast/confirmers.js +69 -0
  83. package/dist/guardrails/ast/confirmers.js.map +1 -0
  84. package/dist/guardrails/ast/parse.d.ts +20 -0
  85. package/dist/guardrails/ast/parse.js +51 -0
  86. package/dist/guardrails/ast/parse.js.map +1 -0
  87. package/dist/output/HTMLDocumentRenderer.d.ts +9 -0
  88. package/dist/output/HTMLDocumentRenderer.js +19 -0
  89. package/dist/output/HTMLDocumentRenderer.js.map +1 -1
  90. package/dist/review/FreshContextVerifier.d.ts +35 -0
  91. package/dist/review/FreshContextVerifier.js +120 -0
  92. package/dist/review/FreshContextVerifier.js.map +1 -0
  93. package/dist/review/JsonLlmClient.d.ts +37 -0
  94. package/dist/review/JsonLlmClient.js +94 -0
  95. package/dist/review/JsonLlmClient.js.map +1 -0
  96. package/dist/review/LlmJudge.d.ts +61 -0
  97. package/dist/review/LlmJudge.js +167 -0
  98. package/dist/review/LlmJudge.js.map +1 -0
  99. package/dist/version.d.ts +1 -1
  100. package/dist/version.js +1 -1
  101. package/dist/workflow/BoundaryEnforcement.d.ts +60 -0
  102. package/dist/workflow/BoundaryEnforcement.js +182 -0
  103. package/dist/workflow/BoundaryEnforcement.js.map +1 -0
  104. package/dist/workflow/EngineeringStandards.js +19 -9
  105. package/dist/workflow/EngineeringStandards.js.map +1 -1
  106. package/dist/workflow/GateCatalog.js +12 -2
  107. package/dist/workflow/GateCatalog.js.map +1 -1
  108. package/dist/workflow/ProfileEnforcement.d.ts +7 -0
  109. package/dist/workflow/ProfileEnforcement.js +12 -0
  110. package/dist/workflow/ProfileEnforcement.js.map +1 -0
  111. package/dist/workflow/ReviewStore.d.ts +10 -0
  112. package/dist/workflow/ReviewStore.js.map +1 -1
  113. package/dist/workflow/SurfaceCoverage.d.ts +19 -0
  114. package/dist/workflow/SurfaceCoverage.js +57 -0
  115. package/dist/workflow/SurfaceCoverage.js.map +1 -0
  116. package/dist/workflow/gates/EnhancedGates.js +2 -0
  117. package/dist/workflow/gates/EnhancedGates.js.map +1 -1
  118. package/dist/workflow/gates/TestIntegrityGate.d.ts +51 -0
  119. package/dist/workflow/gates/TestIntegrityGate.js +175 -0
  120. package/dist/workflow/gates/TestIntegrityGate.js.map +1 -0
  121. package/dist/workflow/types.d.ts +1 -1
  122. package/docs/guides/DEVELOPMENT_WORKFLOW.md +28 -0
  123. package/docs/workflow/E2E_EXAMPLE.md +133 -0
  124. package/docs/workflow/README.md +6 -0
  125. package/docs/workflow/TEMPLATE_GUIDE.md +162 -0
  126. package/docs/workflow/templates/plan.md +26 -0
  127. package/docs/workflow/templates/spec.md +28 -0
  128. package/package.json +3 -1
@@ -0,0 +1,273 @@
1
+ // SCALE Engine — Eval CLI Commands
2
+ // Extracted from api/cli.ts: workflow eval baseline, failure replay, and comparison commands.
3
+ import { defineCommand } from 'citty';
4
+ import { mkdirSync, writeFileSync } from 'node:fs';
5
+ import { dirname, resolve } from 'node:path';
6
+ import { WorkflowEvalStore, compareWorkflowEvalRuns, renderWorkflowEvalReport, runWorkflowEvalSuite, } from '../eval/WorkflowEval.js';
7
+ import { createBenchmarkFromWorkflowEval, publishBenchmark } from '../eval/BenchmarkPublisher.js';
8
+ import { PROJECT_DIR, isTruthyFlag, resolveScaleDirForProject } from './engineBootstrap.js';
9
+ import { SCALE_ENGINE_VERSION } from '../version.js';
10
+ // ---------------------------------------------------------------------------
11
+ // Helpers
12
+ // ---------------------------------------------------------------------------
13
+ function parseSinceDays(value) {
14
+ const text = String(value ?? '').trim().toLowerCase();
15
+ if (!text || text === 'all')
16
+ return undefined;
17
+ const match = text.match(/^(\d+)(d|day|days)?$/);
18
+ if (!match)
19
+ return undefined;
20
+ const days = Number.parseInt(match[1], 10);
21
+ return Number.isFinite(days) && days > 0 ? days : undefined;
22
+ }
23
+ // ---------------------------------------------------------------------------
24
+ // Sub-commands
25
+ // ---------------------------------------------------------------------------
26
+ const evalInit = defineCommand({
27
+ meta: { name: 'init', description: 'Create a lightweight workflow eval suite under .scale/evals' },
28
+ args: {
29
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
30
+ suite: { type: 'string', default: 'workflow-baseline', description: 'Suite id' },
31
+ force: { type: 'boolean', default: false, description: 'Overwrite the existing suite file' },
32
+ json: { type: 'boolean', default: false },
33
+ },
34
+ run({ args }) {
35
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
36
+ const scaleDir = resolveScaleDirForProject(projectDir);
37
+ const store = new WorkflowEvalStore({
38
+ projectDir,
39
+ scaleDir,
40
+ });
41
+ const result = store.initSuite(String(args.suite ?? 'workflow-baseline'), isTruthyFlag(args.force));
42
+ if (args.json) {
43
+ console.log(JSON.stringify(result, null, 2));
44
+ return;
45
+ }
46
+ console.log(`SCALE Workflow Eval Suite: ${result.written ? 'written' : 'exists'}`);
47
+ console.log(` Suite: ${result.suite.id}`);
48
+ console.log(` Path: ${result.path}`);
49
+ console.log(` Cases: ${result.suite.cases.length}`);
50
+ },
51
+ });
52
+ const evalRun = defineCommand({
53
+ meta: { name: 'run', description: 'Run a workflow eval suite and preserve failure replay artifacts' },
54
+ args: {
55
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
56
+ suite: { type: 'string', default: 'workflow-baseline', description: 'Suite id or JSON path' },
57
+ 'publish-benchmark': { type: 'boolean', default: false, description: 'Publish eval run metrics through BenchmarkPublisher' },
58
+ 'benchmark-output': { type: 'string', description: 'Benchmark output directory (default: .scale/benchmarks/eval)' },
59
+ json: { type: 'boolean', default: false },
60
+ },
61
+ async run({ args }) {
62
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
63
+ const scaleDir = resolveScaleDirForProject(projectDir);
64
+ const result = await runWorkflowEvalSuite({
65
+ projectDir,
66
+ scaleDir,
67
+ suite: String(args.suite ?? 'workflow-baseline'),
68
+ });
69
+ const benchmarkPath = args['publish-benchmark']
70
+ ? publishBenchmark(createBenchmarkFromWorkflowEval(result.run, SCALE_ENGINE_VERSION), args['benchmark-output']
71
+ ? resolve(projectDir, String(args['benchmark-output']))
72
+ : resolve(scaleDir, 'benchmarks', 'eval'))
73
+ : undefined;
74
+ if (args.json) {
75
+ console.log(JSON.stringify(benchmarkPath ? { ...result, benchmarkPath } : result, null, 2));
76
+ if (!result.run.ok)
77
+ process.exitCode = 1;
78
+ return;
79
+ }
80
+ console.log(`SCALE Workflow Eval: ${result.run.ok ? 'PASS' : 'FAIL'}`);
81
+ console.log(` Run: ${result.run.id}`);
82
+ console.log(` Suite: ${result.run.suiteId}`);
83
+ console.log(` Pass@1: ${(result.run.metrics.passAt1Rate * 100).toFixed(1)}%`);
84
+ console.log(` Pass@3: ${(result.run.metrics.passAt3Rate * 100).toFixed(1)}%`);
85
+ console.log(` Tool calls: ${result.run.metrics.totalToolCalls}`);
86
+ console.log(` Estimated tokens: ${result.run.metrics.estimatedTokens}`);
87
+ console.log(` Failures: ${result.run.metrics.failureReplayCount}`);
88
+ console.log(` Run path: ${result.runPath}`);
89
+ if (benchmarkPath)
90
+ console.log(` Benchmark path: ${benchmarkPath}`);
91
+ for (const failurePath of result.failurePaths)
92
+ console.log(` Failure replay: ${failurePath}`);
93
+ if (!result.run.ok)
94
+ process.exitCode = 1;
95
+ },
96
+ });
97
+ const evalCompare = defineCommand({
98
+ meta: { name: 'compare', description: 'Compare two workflow eval runs by pass rate, iterations, tool calls, and token estimate' },
99
+ args: {
100
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
101
+ baseline: { type: 'string', required: true, description: 'Baseline run id or JSON path' },
102
+ candidate: { type: 'string', required: true, description: 'Candidate run id or JSON path' },
103
+ json: { type: 'boolean', default: false },
104
+ },
105
+ run({ args }) {
106
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
107
+ const scaleDir = resolveScaleDirForProject(projectDir);
108
+ const comparison = compareWorkflowEvalRuns({
109
+ projectDir,
110
+ scaleDir,
111
+ baseline: String(args.baseline),
112
+ candidate: String(args.candidate),
113
+ });
114
+ if (args.json) {
115
+ console.log(JSON.stringify(comparison, null, 2));
116
+ return;
117
+ }
118
+ console.log(`SCALE Workflow Eval Compare: ${comparison.recommendation}`);
119
+ console.log(` Baseline: ${comparison.baseline.id}`);
120
+ console.log(` Candidate: ${comparison.candidate.id}`);
121
+ console.log(` Delta Pass@1: ${(comparison.delta.passAt1Rate * 100).toFixed(1)}%`);
122
+ console.log(` Delta Pass@3: ${(comparison.delta.passAt3Rate * 100).toFixed(1)}%`);
123
+ console.log(` Delta fix iterations: ${comparison.delta.averageFixIterations.toFixed(2)}`);
124
+ console.log(` Delta tool calls: ${comparison.delta.totalToolCalls}`);
125
+ console.log(` Delta estimated tokens: ${comparison.delta.estimatedTokens}`);
126
+ console.log(` Delta human corrections: ${comparison.delta.humanCorrections}`);
127
+ },
128
+ });
129
+ const evalReport = defineCommand({
130
+ meta: { name: 'report', description: 'Render a Markdown workflow eval report from a saved run' },
131
+ args: {
132
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
133
+ run: { type: 'string', required: true, description: 'Run id or JSON path' },
134
+ output: { type: 'string', alias: 'o', description: 'Write report to a Markdown file' },
135
+ json: { type: 'boolean', default: false },
136
+ },
137
+ run({ args }) {
138
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
139
+ const scaleDir = resolveScaleDirForProject(projectDir);
140
+ const store = new WorkflowEvalStore({ projectDir, scaleDir });
141
+ const run = store.loadRun(String(args.run));
142
+ const markdown = renderWorkflowEvalReport(run);
143
+ const outputPath = args.output ? resolve(projectDir, String(args.output)) : undefined;
144
+ if (outputPath) {
145
+ mkdirSync(dirname(outputPath), { recursive: true });
146
+ writeFileSync(outputPath, markdown, 'utf-8');
147
+ }
148
+ if (args.json) {
149
+ console.log(JSON.stringify({ runId: run.id, outputPath, markdown }, null, 2));
150
+ return;
151
+ }
152
+ if (outputPath)
153
+ console.log(`Workflow eval report written: ${outputPath}`);
154
+ else
155
+ console.log(markdown);
156
+ },
157
+ });
158
+ const evalFailures = defineCommand({
159
+ meta: { name: 'failures', description: 'List failure replay records for workflow improvement' },
160
+ args: {
161
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
162
+ 'task-id': { type: 'string', description: 'Filter by task/case id' },
163
+ since: { type: 'string', default: '30d', description: 'Window such as 30d; use all for no date filter' },
164
+ json: { type: 'boolean', default: false },
165
+ },
166
+ run({ args }) {
167
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
168
+ const scaleDir = resolveScaleDirForProject(projectDir);
169
+ const store = new WorkflowEvalStore({
170
+ projectDir,
171
+ scaleDir,
172
+ });
173
+ const failures = store.listFailures({
174
+ taskId: args['task-id'] ? String(args['task-id']) : undefined,
175
+ sinceDays: parseSinceDays(args.since),
176
+ });
177
+ if (args.json) {
178
+ console.log(JSON.stringify({ count: failures.length, failures }, null, 2));
179
+ return;
180
+ }
181
+ console.log(`SCALE Failure Replays: ${failures.length}`);
182
+ for (const failure of failures) {
183
+ console.log(` [${failure.status}] ${failure.id} ${failure.category} task=${failure.taskId}`);
184
+ console.log(` prevention: ${failure.prevention}`);
185
+ }
186
+ },
187
+ });
188
+ const evalReplay = defineCommand({
189
+ meta: { name: 'replay', description: 'Show failure replay records by failure id or task id' },
190
+ args: {
191
+ id: { type: 'positional', description: 'Failure replay id' },
192
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
193
+ 'task-id': { type: 'string', description: 'Task/case id to replay' },
194
+ json: { type: 'boolean', default: false },
195
+ },
196
+ run({ args }) {
197
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
198
+ const scaleDir = resolveScaleDirForProject(projectDir);
199
+ const store = new WorkflowEvalStore({
200
+ projectDir,
201
+ scaleDir,
202
+ });
203
+ const failures = args.id
204
+ ? [store.getFailure(String(args.id))].filter(Boolean)
205
+ : store.listFailures({ taskId: args['task-id'] ? String(args['task-id']) : undefined });
206
+ if (args.json) {
207
+ console.log(JSON.stringify({ count: failures.length, failures }, null, 2));
208
+ if (failures.length === 0)
209
+ process.exitCode = 1;
210
+ return;
211
+ }
212
+ if (failures.length === 0) {
213
+ console.log('No failure replay records found.');
214
+ process.exitCode = 1;
215
+ return;
216
+ }
217
+ for (const failure of failures) {
218
+ if (!failure)
219
+ continue;
220
+ console.log(`Failure Replay: ${failure.id}`);
221
+ console.log(` Task: ${failure.task}`);
222
+ console.log(` Category: ${failure.category}`);
223
+ console.log(` Phase: ${failure.phase}`);
224
+ console.log(` Wrong turn: ${failure.wrongTurn}`);
225
+ console.log(` Evidence: ${failure.evidence}`);
226
+ console.log(` Correction: ${failure.correction}`);
227
+ console.log(` Prevention: ${failure.prevention}`);
228
+ if (failure.replayCommand)
229
+ console.log(` Replay command: ${failure.replayCommand}`);
230
+ }
231
+ },
232
+ });
233
+ const evalPromoteFailure = defineCommand({
234
+ meta: { name: 'promote-failure', description: 'Promote a failure replay into a workflow improvement candidate' },
235
+ args: {
236
+ id: { type: 'positional', required: true, description: 'Failure replay id' },
237
+ dir: { type: 'string', default: PROJECT_DIR, description: 'Project directory' },
238
+ json: { type: 'boolean', default: false },
239
+ },
240
+ run({ args }) {
241
+ const projectDir = resolve(String(args.dir ?? PROJECT_DIR));
242
+ const scaleDir = resolveScaleDirForProject(projectDir);
243
+ const store = new WorkflowEvalStore({
244
+ projectDir,
245
+ scaleDir,
246
+ });
247
+ const candidate = store.promoteFailure(String(args.id));
248
+ if (args.json) {
249
+ console.log(JSON.stringify(candidate, null, 2));
250
+ return;
251
+ }
252
+ console.log(`Workflow improvement candidate: ${candidate.id}`);
253
+ console.log(` Failure: ${candidate.failureId}`);
254
+ console.log(` Category: ${candidate.category}`);
255
+ console.log(` Recommendation: ${candidate.recommendation}`);
256
+ },
257
+ });
258
+ // ---------------------------------------------------------------------------
259
+ // Composite eval command (exported)
260
+ // ---------------------------------------------------------------------------
261
+ export const evalCommand = defineCommand({
262
+ meta: { name: 'eval', description: 'Workflow eval harness, pass@k metrics, and failure replay' },
263
+ subCommands: {
264
+ init: evalInit,
265
+ run: evalRun,
266
+ compare: evalCompare,
267
+ report: evalReport,
268
+ failures: evalFailures,
269
+ replay: evalReplay,
270
+ 'promote-failure': evalPromoteFailure,
271
+ },
272
+ });
273
+ //# sourceMappingURL=evalCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evalCommands.js","sourceRoot":"","sources":["../../src/cli/evalCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export declare const evolveCommand: import("citty").CommandDef<{}>;
2
+ export declare const doctorCommand: import("citty").CommandDef<{
3
+ scope: {
4
+ type: "positional";
5
+ required: false;
6
+ description: string;
7
+ };
8
+ dir: {
9
+ type: "string";
10
+ default: string;
11
+ description: string;
12
+ };
13
+ json: {
14
+ type: "boolean";
15
+ default: false;
16
+ description: string;
17
+ };
18
+ }>;
@@ -0,0 +1,59 @@
1
+ // SCALE Engine — Evolve and Doctor Commands
2
+ import { defineCommand } from 'citty';
3
+ import { getEngine, SCALE_DIR } from './engineBootstrap.js';
4
+ import { LessonExtractor, RuleProposer, HookGenerator, EvolutionEngine } from '../evolution/EvolutionEngine.js';
5
+ import { Doctor } from '../api/doctor.js';
6
+ import { inspectEnvironment, renderEnvironmentDoctor } from '../env/EnvironmentDoctor.js';
7
+ function runEnvironmentDoctor(json) {
8
+ const report = inspectEnvironment();
9
+ if (json) {
10
+ console.log(JSON.stringify(report, null, 2));
11
+ }
12
+ else {
13
+ console.log(renderEnvironmentDoctor(report));
14
+ }
15
+ process.exitCode = report.ok ? 0 : 1;
16
+ }
17
+ export const evolveCommand = defineCommand({
18
+ meta: { name: 'evolve', description: 'Run evolution cycle (Defect→Lesson→Rule→Hook)' },
19
+ args: {},
20
+ async run() {
21
+ const { store, kb, eventBus } = getEngine();
22
+ const extractor = new LessonExtractor(store, kb, eventBus);
23
+ const proposer = new RuleProposer(kb, eventBus);
24
+ const generator = new HookGenerator(eventBus);
25
+ const engine = new EvolutionEngine(extractor, proposer, generator, eventBus, SCALE_DIR);
26
+ const stats = await engine.runCycle();
27
+ console.log(JSON.stringify(stats, null, 2));
28
+ },
29
+ });
30
+ export const doctorCommand = defineCommand({
31
+ meta: { name: 'doctor', description: 'Diagnose SCALE Engine health' },
32
+ args: {
33
+ scope: { type: 'positional', required: false, description: 'Optional diagnostic scope: env' },
34
+ dir: { type: 'string', default: '.', description: 'Project directory' },
35
+ json: { type: 'boolean', default: false, description: 'Output as JSON' },
36
+ },
37
+ async run({ args }) {
38
+ const scope = String(args.scope ?? '').trim().toLowerCase();
39
+ if (scope === 'env' || scope === 'environment') {
40
+ runEnvironmentDoctor(args.json);
41
+ return;
42
+ }
43
+ if (scope) {
44
+ console.error(`Unknown doctor scope: ${scope}. Supported scope: env.`);
45
+ process.exitCode = 1;
46
+ return;
47
+ }
48
+ const doc = new Doctor(args.dir);
49
+ const report = await doc.diagnose();
50
+ if (args.json) {
51
+ console.log(JSON.stringify(report, null, 2));
52
+ }
53
+ else {
54
+ console.log(doc.formatReport(report));
55
+ }
56
+ process.exitCode = report.overall === 'broken' ? 1 : 0;
57
+ },
58
+ });
59
+ //# sourceMappingURL=evolveDoctorCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evolveDoctorCommands.js","sourceRoot":"","sources":["../../src/cli/evolveDoctorCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export declare const gatePreTool: import("citty").CommandDef<{
2
+ tool: {
3
+ type: "positional";
4
+ required: true;
5
+ };
6
+ 'args-json': {
7
+ type: "string";
8
+ default: string;
9
+ };
10
+ 'session-id': {
11
+ type: "string";
12
+ required: true;
13
+ };
14
+ }>;
15
+ export declare const gatePostTool: import("citty").CommandDef<{
16
+ tool: {
17
+ type: "positional";
18
+ required: true;
19
+ };
20
+ 'args-json': {
21
+ type: "string";
22
+ default: string;
23
+ };
24
+ 'output-json': {
25
+ type: "string";
26
+ default: string;
27
+ };
28
+ 'exit-code': {
29
+ type: "string";
30
+ default: string;
31
+ };
32
+ 'session-id': {
33
+ type: "string";
34
+ required: true;
35
+ };
36
+ }>;
37
+ export declare const gateBeforeStop: import("citty").CommandDef<{
38
+ 'session-id': {
39
+ type: "string";
40
+ required: true;
41
+ };
42
+ }>;
43
+ export declare const gateCommand: import("citty").CommandDef<import("citty").ArgsDef>;
@@ -0,0 +1,74 @@
1
+ // SCALE Engine — Gate Inline Commands (Hook 入口)
2
+ import { defineCommand } from 'citty';
3
+ import { getEngine } from './engineBootstrap.js';
4
+ export const gatePreTool = defineCommand({
5
+ meta: { name: 'pre-tool', description: 'Pre-tool gate check' },
6
+ args: {
7
+ tool: { type: 'positional', required: true },
8
+ 'args-json': { type: 'string', default: '{}' },
9
+ 'session-id': { type: 'string', required: true },
10
+ },
11
+ async run({ args }) {
12
+ const { gateway } = getEngine();
13
+ let toolArgs = {};
14
+ try {
15
+ toolArgs = JSON.parse(args['args-json']);
16
+ }
17
+ catch { /* empty */ }
18
+ const decision = await gateway.preTool({
19
+ sessionId: args['session-id'],
20
+ tool: args.tool,
21
+ args: toolArgs,
22
+ });
23
+ if (!decision.allow) {
24
+ process.stderr.write(decision.reason ?? 'Blocked by SCALE guardrail');
25
+ if (decision.suggestion)
26
+ process.stderr.write(`\nSuggestion: ${decision.suggestion}`);
27
+ process.exit(2);
28
+ }
29
+ },
30
+ });
31
+ export const gatePostTool = defineCommand({
32
+ meta: { name: 'post-tool', description: 'Post-tool event recording' },
33
+ args: {
34
+ tool: { type: 'positional', required: true },
35
+ 'args-json': { type: 'string', default: '{}' },
36
+ 'output-json': { type: 'string', default: '' },
37
+ 'exit-code': { type: 'string', default: '0' },
38
+ 'session-id': { type: 'string', required: true },
39
+ },
40
+ async run({ args }) {
41
+ const { gateway } = getEngine();
42
+ let toolArgs = {};
43
+ try {
44
+ toolArgs = JSON.parse(args['args-json']);
45
+ }
46
+ catch { /* empty */ }
47
+ await gateway.postTool({
48
+ sessionId: args['session-id'],
49
+ tool: args.tool,
50
+ args: toolArgs,
51
+ exitCode: parseInt(args['exit-code'], 10),
52
+ output: args['output-json'],
53
+ });
54
+ },
55
+ });
56
+ export const gateBeforeStop = defineCommand({
57
+ meta: { name: 'before-stop', description: 'Before-stop gate check' },
58
+ args: { 'session-id': { type: 'string', required: true } },
59
+ async run({ args }) {
60
+ const { gateway } = getEngine();
61
+ const decision = await gateway.beforeStop({ sessionId: args['session-id'] });
62
+ if (!decision.allow) {
63
+ process.stderr.write(decision.reason ?? 'Cannot stop yet');
64
+ if (decision.suggestion)
65
+ process.stderr.write(`\nSuggestion: ${decision.suggestion}`);
66
+ process.exit(2);
67
+ }
68
+ },
69
+ });
70
+ export const gateCommand = defineCommand({
71
+ meta: { name: 'gate', description: 'Guardrail gate commands' },
72
+ subCommands: { 'pre-tool': gatePreTool, 'post-tool': gatePostTool, 'before-stop': gateBeforeStop },
73
+ });
74
+ //# sourceMappingURL=gateInlineCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateInlineCommands.js","sourceRoot":"","sources":["../../src/cli/gateInlineCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ export declare const initCommand: import("citty").CommandDef<{
2
+ agent: {
3
+ type: "string";
4
+ default: string;
5
+ description: string;
6
+ };
7
+ dir: {
8
+ type: "string";
9
+ default: string;
10
+ description: string;
11
+ };
12
+ json: {
13
+ type: "boolean";
14
+ default: false;
15
+ description: string;
16
+ };
17
+ scenario: {
18
+ type: "string";
19
+ default: string;
20
+ description: string;
21
+ };
22
+ 'governance-pack': {
23
+ type: "string";
24
+ default: string;
25
+ description: string;
26
+ };
27
+ quick: {
28
+ type: "boolean";
29
+ default: false;
30
+ description: string;
31
+ };
32
+ interactive: {
33
+ type: "boolean";
34
+ default: false;
35
+ description: string;
36
+ };
37
+ profile: {
38
+ type: "string";
39
+ default: string;
40
+ description: string;
41
+ };
42
+ 'coverage-threshold': {
43
+ type: "string";
44
+ default: string;
45
+ description: string;
46
+ };
47
+ 'retry-threshold': {
48
+ type: "string";
49
+ default: string;
50
+ description: string;
51
+ };
52
+ 'block-severity': {
53
+ type: "string";
54
+ default: string;
55
+ description: string;
56
+ };
57
+ 'with-deps': {
58
+ type: "boolean";
59
+ default: false;
60
+ description: string;
61
+ };
62
+ }>;
63
+ export declare const bootstrapCommand: import("citty").CommandDef<import("citty").ArgsDef>;
64
+ export declare const setupCommand: import("citty").CommandDef<{
65
+ dir: {
66
+ type: "string";
67
+ default: string;
68
+ description: string;
69
+ };
70
+ pack: {
71
+ type: "string";
72
+ default: string;
73
+ description: string;
74
+ };
75
+ profile: {
76
+ type: "string";
77
+ description: string;
78
+ };
79
+ 'governance-pack': {
80
+ type: "string";
81
+ description: string;
82
+ };
83
+ include: {
84
+ type: "string";
85
+ description: string;
86
+ };
87
+ apply: {
88
+ type: "boolean";
89
+ default: false;
90
+ description: string;
91
+ };
92
+ yes: {
93
+ type: "boolean";
94
+ default: false;
95
+ description: string;
96
+ };
97
+ verify: {
98
+ type: "boolean";
99
+ default: false;
100
+ description: string;
101
+ };
102
+ interactive: {
103
+ type: "boolean";
104
+ default: true;
105
+ description: string;
106
+ };
107
+ lang: {
108
+ type: "string";
109
+ description: string;
110
+ };
111
+ 'memory-provider': {
112
+ type: "string";
113
+ description: string;
114
+ };
115
+ 'memory-mode': {
116
+ type: "string";
117
+ description: string;
118
+ };
119
+ 'memory-endpoint': {
120
+ type: "string";
121
+ description: string;
122
+ };
123
+ 'memory-write-mode': {
124
+ type: "string";
125
+ description: string;
126
+ };
127
+ 'allow-external-write': {
128
+ type: "boolean";
129
+ default: false;
130
+ description: string;
131
+ };
132
+ json: {
133
+ type: "boolean";
134
+ default: false;
135
+ description: string;
136
+ };
137
+ }>;
138
+ export declare const configCommand: import("citty").CommandDef<import("citty").ArgsDef>;