@hongmaple0820/scale-engine 0.16.0 → 0.18.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 (57) hide show
  1. package/dist/api/cli.js +494 -9
  2. package/dist/api/cli.js.map +1 -1
  3. package/dist/api/doctor.d.ts +1 -0
  4. package/dist/api/doctor.js +45 -0
  5. package/dist/api/doctor.js.map +1 -1
  6. package/dist/api/quickstart.js +5 -2
  7. package/dist/api/quickstart.js.map +1 -1
  8. package/dist/cli/phaseCommands.js +36 -6
  9. package/dist/cli/phaseCommands.js.map +1 -1
  10. package/dist/core/logger.js +1 -1
  11. package/dist/index.d.ts +5 -0
  12. package/dist/index.js +5 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/output/HTMLArtifactLayer.d.ts +97 -0
  15. package/dist/output/HTMLArtifactLayer.js +576 -0
  16. package/dist/output/HTMLArtifactLayer.js.map +1 -0
  17. package/dist/output/index.d.ts +2 -0
  18. package/dist/output/index.js +1 -0
  19. package/dist/output/index.js.map +1 -1
  20. package/dist/skills/routing/SkillGate.js +26 -2
  21. package/dist/skills/routing/SkillGate.js.map +1 -1
  22. package/dist/skills/routing/SkillPolicy.js +2 -2
  23. package/dist/skills/routing/SkillPolicy.js.map +1 -1
  24. package/dist/tools/ToolCapabilityRegistry.d.ts +1 -1
  25. package/dist/tools/ToolCapabilityRegistry.js +4 -4
  26. package/dist/tools/ToolCapabilityRegistry.js.map +1 -1
  27. package/dist/tools/ToolOrchestrator.js +57 -0
  28. package/dist/tools/ToolOrchestrator.js.map +1 -1
  29. package/dist/workflow/ContextGovernance.d.ts +51 -0
  30. package/dist/workflow/ContextGovernance.js +233 -0
  31. package/dist/workflow/ContextGovernance.js.map +1 -0
  32. package/dist/workflow/DiagnosticLoop.d.ts +40 -0
  33. package/dist/workflow/DiagnosticLoop.js +105 -0
  34. package/dist/workflow/DiagnosticLoop.js.map +1 -0
  35. package/dist/workflow/GovernanceTemplatePacks.d.ts +1 -1
  36. package/dist/workflow/GovernanceTemplatePacks.js +77 -19
  37. package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
  38. package/dist/workflow/GovernanceTemplates.js +36 -12
  39. package/dist/workflow/GovernanceTemplates.js.map +1 -1
  40. package/dist/workflow/ResourceGovernance.js +2 -1
  41. package/dist/workflow/ResourceGovernance.js.map +1 -1
  42. package/dist/workflow/TaskArtifactScaffolder.d.ts +22 -0
  43. package/dist/workflow/TaskArtifactScaffolder.js +55 -0
  44. package/dist/workflow/TaskArtifactScaffolder.js.map +1 -1
  45. package/dist/workflow/TddLoop.d.ts +47 -0
  46. package/dist/workflow/TddLoop.js +76 -0
  47. package/dist/workflow/TddLoop.js.map +1 -0
  48. package/dist/workflow/WorkflowGuidance.d.ts +26 -0
  49. package/dist/workflow/WorkflowGuidance.js +173 -0
  50. package/dist/workflow/WorkflowGuidance.js.map +1 -0
  51. package/dist/workflow/WorkflowOpenTasks.d.ts +16 -0
  52. package/dist/workflow/WorkflowOpenTasks.js +37 -0
  53. package/dist/workflow/WorkflowOpenTasks.js.map +1 -0
  54. package/dist/workflow/index.d.ts +5 -0
  55. package/dist/workflow/index.js +5 -0
  56. package/dist/workflow/index.js.map +1 -1
  57. package/package.json +2 -2
@@ -2,6 +2,9 @@ import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } fr
2
2
  import { isAbsolute, join, resolve } from 'node:path';
3
3
  import { governanceTemplateContent } from './GovernanceTemplates.js';
4
4
  import { skillPlanMarkdown } from '../skills/routing/index.js';
5
+ import { renderContextGrillPrompt } from './ContextGovernance.js';
6
+ import { renderDiagnosticLoopMarkdown } from './DiagnosticLoop.js';
7
+ import { evaluateTddSlice, renderTddSliceMarkdown } from './TddLoop.js';
5
8
  const TASK_ARTIFACTS = [
6
9
  'explore.md',
7
10
  'mini-prd.md',
@@ -67,6 +70,45 @@ export function appendVerificationArtifact(options) {
67
70
  appendFileSync(target, verificationRunMarkdown(options), 'utf-8');
68
71
  return target;
69
72
  }
73
+ export function appendContextGrillArtifact(options) {
74
+ return appendTaskArtifactSection({
75
+ projectDir: options.projectDir,
76
+ artifactsDir: options.artifactsDir,
77
+ fileName: 'explore.md',
78
+ title: 'SCALE Context Grill',
79
+ content: renderContextGrillPrompt(options.report),
80
+ });
81
+ }
82
+ export function appendDiagnosticLoopArtifact(options) {
83
+ const validationLines = [
84
+ `Ready: ${options.validation.ready}`,
85
+ ...options.validation.blockers.map(blocker => `Blocker: ${blocker}`),
86
+ ...options.validation.warnings.map(warning => `Warning: ${warning}`),
87
+ ];
88
+ return appendTaskArtifactSection({
89
+ projectDir: options.projectDir,
90
+ artifactsDir: options.artifactsDir,
91
+ fileName: 'plan.md',
92
+ title: 'SCALE Diagnostic Loop',
93
+ content: `${renderDiagnosticLoopMarkdown(options.loop)}\n\n## Validation\n${validationLines.map(line => `- ${line}`).join('\n')}`,
94
+ });
95
+ }
96
+ export function appendTddSliceArtifact(options) {
97
+ const evaluation = evaluateTddSlice(options.slice);
98
+ const evaluationLines = [
99
+ `Ready for implementation: ${evaluation.readyForImplementation}`,
100
+ `Ready for completion: ${evaluation.readyForCompletion}`,
101
+ ...evaluation.blockers.map(blocker => `Blocker: ${blocker}`),
102
+ ...evaluation.warnings.map(warning => `Warning: ${warning}`),
103
+ ];
104
+ return appendTaskArtifactSection({
105
+ projectDir: options.projectDir,
106
+ artifactsDir: options.artifactsDir,
107
+ fileName: 'verification.md',
108
+ title: 'SCALE TDD Vertical Slice',
109
+ content: `${renderTddSliceMarkdown(options.slice)}\n\n## Evaluation\n${evaluationLines.map(line => `- ${line}`).join('\n')}`,
110
+ });
111
+ }
70
112
  export function checkTaskArtifactCompleteness(options) {
71
113
  if (options.level === 'S') {
72
114
  return { complete: true, artifactsDir: options.artifactsDir, required: [], missing: [], incomplete: [] };
@@ -127,6 +169,19 @@ Final Status: ${options.passed ? 'passed' : 'failed'}
127
169
  ${rows.length ? rows.join('\n') : '| no command evidence | FAIL | no evidence items recorded |'}
128
170
  `;
129
171
  }
172
+ function appendTaskArtifactSection(options) {
173
+ if (!options.artifactsDir)
174
+ return null;
175
+ const projectDir = resolve(options.projectDir ?? process.cwd());
176
+ const dir = isAbsolute(options.artifactsDir) ? options.artifactsDir : resolve(projectDir, options.artifactsDir);
177
+ if (!existsSync(dir))
178
+ mkdirSync(dir, { recursive: true });
179
+ const target = join(dir, options.fileName);
180
+ if (!existsSync(target))
181
+ writeFileSync(target, `# ${options.fileName}\n`, 'utf-8');
182
+ appendFileSync(target, `\n\n## ${options.title} - ${new Date().toISOString()}\n\n${options.content}\n`, 'utf-8');
183
+ return target;
184
+ }
130
185
  function readTemplate(projectDir, name) {
131
186
  const templatePath = join(projectDir, 'docs', 'workflow', 'templates', name);
132
187
  if (existsSync(templatePath))
@@ -1 +1 @@
1
- {"version":3,"file":"TaskArtifactScaffolder.js","sourceRoot":"","sources":["../../src/workflow/TaskArtifactScaffolder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskArtifactScaffolder.js","sourceRoot":"","sources":["../../src/workflow/TaskArtifactScaffolder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ export interface TddCommandEvidence {
2
+ command: string;
3
+ exitCode: number;
4
+ outputSummary: string;
5
+ }
6
+ export interface TddSliceInput {
7
+ taskId: string;
8
+ behavior: string;
9
+ publicInterface: string;
10
+ failingTestCommand: string;
11
+ testFile: string;
12
+ implementationFiles: string[];
13
+ redEvidence?: TddCommandEvidence;
14
+ greenEvidence?: TddCommandEvidence;
15
+ refactorEvidence?: TddCommandEvidence;
16
+ }
17
+ export interface TddSlice {
18
+ taskId: string;
19
+ behavior: string;
20
+ publicInterface: string;
21
+ testFile: string;
22
+ implementationFiles: string[];
23
+ red: {
24
+ command: string;
25
+ expected: 'non-zero-before-implementation';
26
+ };
27
+ green: {
28
+ command: string;
29
+ expected: 'zero-after-minimal-implementation';
30
+ };
31
+ refactor: {
32
+ command: string;
33
+ expected: 'zero-after-cleanup';
34
+ };
35
+ redEvidence?: TddCommandEvidence;
36
+ greenEvidence?: TddCommandEvidence;
37
+ refactorEvidence?: TddCommandEvidence;
38
+ }
39
+ export interface TddSliceEvaluation {
40
+ readyForImplementation: boolean;
41
+ readyForCompletion: boolean;
42
+ blockers: string[];
43
+ warnings: string[];
44
+ }
45
+ export declare function createTddSlice(input: TddSliceInput): TddSlice;
46
+ export declare function evaluateTddSlice(slice: TddSlice): TddSliceEvaluation;
47
+ export declare function renderTddSliceMarkdown(slice: TddSlice): string;
@@ -0,0 +1,76 @@
1
+ export function createTddSlice(input) {
2
+ return {
3
+ taskId: input.taskId,
4
+ behavior: input.behavior,
5
+ publicInterface: input.publicInterface,
6
+ testFile: input.testFile,
7
+ implementationFiles: input.implementationFiles,
8
+ red: {
9
+ command: input.failingTestCommand,
10
+ expected: 'non-zero-before-implementation',
11
+ },
12
+ green: {
13
+ command: input.failingTestCommand,
14
+ expected: 'zero-after-minimal-implementation',
15
+ },
16
+ refactor: {
17
+ command: input.failingTestCommand,
18
+ expected: 'zero-after-cleanup',
19
+ },
20
+ redEvidence: input.redEvidence,
21
+ greenEvidence: input.greenEvidence,
22
+ refactorEvidence: input.refactorEvidence,
23
+ };
24
+ }
25
+ export function evaluateTddSlice(slice) {
26
+ const blockers = [];
27
+ const warnings = [];
28
+ if (!slice.publicInterface.trim())
29
+ blockers.push('Missing public interface; a vertical slice must name the user-visible or callable contract.');
30
+ if (!slice.testFile.trim())
31
+ blockers.push('Missing test file; TDD requires a durable failing test location.');
32
+ if (slice.implementationFiles.length === 0)
33
+ blockers.push('Missing implementation files; scope must be explicit before editing.');
34
+ if (!slice.redEvidence) {
35
+ blockers.push('Missing RED evidence; run the failing test before implementation.');
36
+ }
37
+ else if (slice.redEvidence.exitCode === 0) {
38
+ blockers.push('RED evidence already passed; the test cannot prove the behavior changed.');
39
+ }
40
+ const readyForImplementation = blockers.length === 0;
41
+ const completionBlockers = [...blockers];
42
+ if (!slice.greenEvidence || slice.greenEvidence.exitCode !== 0) {
43
+ completionBlockers.push('Missing GREEN evidence with exit code 0.');
44
+ }
45
+ if (!slice.refactorEvidence || slice.refactorEvidence.exitCode !== 0) {
46
+ completionBlockers.push('Missing REFACTOR evidence with exit code 0 after cleanup.');
47
+ }
48
+ if (slice.implementationFiles.length > 5) {
49
+ warnings.push('The vertical slice touches more than five implementation files; consider splitting it.');
50
+ }
51
+ return {
52
+ readyForImplementation,
53
+ readyForCompletion: completionBlockers.length === 0,
54
+ blockers,
55
+ warnings,
56
+ };
57
+ }
58
+ export function renderTddSliceMarkdown(slice) {
59
+ const lines = [];
60
+ lines.push(`# TDD Vertical Slice: ${slice.taskId}`);
61
+ lines.push('');
62
+ lines.push(`Behavior: ${slice.behavior}`);
63
+ lines.push(`Public interface: ${slice.publicInterface}`);
64
+ lines.push(`Test file: ${slice.testFile}`);
65
+ lines.push('');
66
+ lines.push('## Vertical Slice');
67
+ lines.push(`- RED: ${slice.red.command} -> ${slice.red.expected}`);
68
+ lines.push(`- GREEN: ${slice.green.command} -> ${slice.green.expected}`);
69
+ lines.push(`- REFACTOR: ${slice.refactor.command} -> ${slice.refactor.expected}`);
70
+ lines.push('');
71
+ lines.push('## Scope');
72
+ for (const file of slice.implementationFiles)
73
+ lines.push(`- ${file}`);
74
+ return lines.join('\n');
75
+ }
76
+ //# sourceMappingURL=TddLoop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TddLoop.js","sourceRoot":"","sources":["../../src/workflow/TddLoop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { WorkflowTaskLevel } from './WorkflowArtifactWriter.js';
2
+ export type WorkflowGuidancePhase = 'explore' | 'plan' | 'build' | 'verify';
3
+ export interface WorkflowGuidanceItem {
4
+ id: string;
5
+ phase: WorkflowGuidancePhase;
6
+ required: boolean;
7
+ reason: string;
8
+ command: string;
9
+ }
10
+ export interface WorkflowGuidance {
11
+ taskId: string;
12
+ level: WorkflowTaskLevel;
13
+ items: WorkflowGuidanceItem[];
14
+ requiredCommandCount: number;
15
+ }
16
+ export interface WorkflowGuidanceInput {
17
+ taskId: string;
18
+ description: string;
19
+ level: WorkflowTaskLevel;
20
+ artifactDir?: string;
21
+ files?: string[];
22
+ skillIntents?: string[];
23
+ requiredSkillVerification?: string[];
24
+ }
25
+ export declare function createWorkflowGuidance(input: WorkflowGuidanceInput): WorkflowGuidance;
26
+ export declare function renderWorkflowGuidance(guidance: WorkflowGuidance): string;
@@ -0,0 +1,173 @@
1
+ const BUG_TERMS = [
2
+ 'bug',
3
+ 'fix',
4
+ 'error',
5
+ 'fail',
6
+ 'failure',
7
+ '404',
8
+ '500',
9
+ 'crash',
10
+ 'regression',
11
+ 'exception',
12
+ '修复',
13
+ '报错',
14
+ '失败',
15
+ '异常',
16
+ '回归',
17
+ ];
18
+ const TOOL_EVIDENCE_DOMAINS = new Set([
19
+ 'ui-ux',
20
+ 'frontend',
21
+ 'browser-automation',
22
+ 'e2e',
23
+ 'visual-qa',
24
+ 'design',
25
+ ]);
26
+ export function createWorkflowGuidance(input) {
27
+ const items = [];
28
+ const normalizedLevel = input.level;
29
+ if (normalizedLevel !== 'S') {
30
+ items.push({
31
+ id: 'context-grill',
32
+ phase: 'explore',
33
+ required: true,
34
+ reason: 'M/L/CRITICAL work needs current-context alignment before editing.',
35
+ command: joinCommand([
36
+ 'scale',
37
+ 'context',
38
+ 'grill',
39
+ '--task-id',
40
+ input.taskId,
41
+ '--task',
42
+ input.description,
43
+ ...artifactArgs(input.artifactDir),
44
+ ...filesArgs(input.files),
45
+ '--write',
46
+ ]),
47
+ });
48
+ if (isBugLike(input.description)) {
49
+ items.push({
50
+ id: 'diagnostic-loop',
51
+ phase: 'plan',
52
+ required: true,
53
+ reason: 'Bug work needs a reproducible failure, competing hypotheses, and cleanup/verification commands.',
54
+ command: joinCommand([
55
+ 'scale',
56
+ 'diagnose',
57
+ 'plan',
58
+ '--task-id',
59
+ input.taskId,
60
+ '--symptom',
61
+ input.description,
62
+ '--repro',
63
+ '<reproduction command>',
64
+ '--expected-failure',
65
+ '<expected failure>',
66
+ ...artifactArgs(input.artifactDir),
67
+ ...filesArgs(input.files),
68
+ '--write',
69
+ ]),
70
+ });
71
+ }
72
+ items.push({
73
+ id: 'tdd-slice',
74
+ phase: 'build',
75
+ required: true,
76
+ reason: 'Behavior-changing work needs RED/GREEN/REFACTOR evidence or an explicit non-applicability reason.',
77
+ command: joinCommand([
78
+ 'scale',
79
+ 'tdd',
80
+ 'slice',
81
+ '--task-id',
82
+ input.taskId,
83
+ '--behavior',
84
+ input.description,
85
+ '--public-interface',
86
+ '<public interface>',
87
+ '--failing-test',
88
+ '<failing test command>',
89
+ '--test-file',
90
+ '<test file>',
91
+ '--impl-files',
92
+ implFilesValue(input.files),
93
+ ...artifactArgs(input.artifactDir),
94
+ '--write',
95
+ ]),
96
+ });
97
+ if (needsToolEvidence(input)) {
98
+ items.push({
99
+ id: 'tool-evidence',
100
+ phase: 'verify',
101
+ required: Boolean(input.requiredSkillVerification?.length),
102
+ reason: 'Selected skill domains require executable tool evidence instead of prose-only claims.',
103
+ command: joinCommand([
104
+ 'scale',
105
+ 'tool',
106
+ 'run',
107
+ '--task-id',
108
+ input.taskId,
109
+ '--task',
110
+ input.description,
111
+ '--level',
112
+ input.level,
113
+ ...filesArgs(input.files),
114
+ ]),
115
+ });
116
+ }
117
+ }
118
+ items.push({
119
+ id: 'verification',
120
+ phase: 'verify',
121
+ required: true,
122
+ reason: 'Completion claims require real verification output.',
123
+ command: `scale verify ${input.taskId}`,
124
+ });
125
+ return {
126
+ taskId: input.taskId,
127
+ level: normalizedLevel,
128
+ items,
129
+ requiredCommandCount: items.filter(item => item.required).length,
130
+ };
131
+ }
132
+ export function renderWorkflowGuidance(guidance) {
133
+ if (!guidance.items.length)
134
+ return '';
135
+ const lines = ['Next workflow commands:'];
136
+ for (const item of guidance.items) {
137
+ const marker = item.required ? 'required' : 'recommended';
138
+ lines.push(` - [${marker}] ${item.command}`);
139
+ lines.push(` reason: ${item.reason}`);
140
+ }
141
+ return lines.join('\n');
142
+ }
143
+ function isBugLike(description) {
144
+ const lower = description.toLowerCase();
145
+ return BUG_TERMS.some(term => lower.includes(term.toLowerCase()));
146
+ }
147
+ function needsToolEvidence(input) {
148
+ if (input.requiredSkillVerification?.length)
149
+ return true;
150
+ return (input.skillIntents ?? []).some(intent => TOOL_EVIDENCE_DOMAINS.has(intent));
151
+ }
152
+ function artifactArgs(artifactDir) {
153
+ return artifactDir ? ['--artifact-dir', artifactDir] : [];
154
+ }
155
+ function filesArgs(files) {
156
+ const normalized = (files ?? []).filter(Boolean);
157
+ return normalized.length ? ['--files', normalized.join(',')] : [];
158
+ }
159
+ function implFilesValue(files) {
160
+ const normalized = (files ?? []).filter(Boolean);
161
+ return normalized.length ? normalized.join(',') : '<impl files>';
162
+ }
163
+ function joinCommand(parts) {
164
+ return parts.map(quoteArg).join(' ');
165
+ }
166
+ function quoteArg(value) {
167
+ if (!value)
168
+ return '""';
169
+ if (/^[A-Za-z0-9_./:@=,+-]+$/.test(value))
170
+ return value;
171
+ return `"${value.replace(/(["\\$`])/g, '\\$1')}"`;
172
+ }
173
+ //# sourceMappingURL=WorkflowGuidance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowGuidance.js","sourceRoot":"","sources":["../../src/workflow/WorkflowGuidance.ts"],"names":[],"mappings":"AA6BA,MAAM,SAAS,GAAG;IAChB,KAAK;IACL,KAAK;IACL,OAAO;IACP,MAAM;IACN,SAAS;IACT,KAAK;IACL,KAAK;IACL,OAAO;IACP,YAAY;IACZ,WAAW;IACX,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAA;AAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,OAAO;IACP,UAAU;IACV,oBAAoB;IACpB,KAAK;IACL,WAAW;IACX,QAAQ;CACT,CAAC,CAAA;AAEF,MAAM,UAAU,sBAAsB,CAAC,KAA4B;IACjE,MAAM,KAAK,GAA2B,EAAE,CAAA;IACxC,MAAM,eAAe,GAAG,KAAK,CAAC,KAAK,CAAA;IAEnC,IAAI,eAAe,KAAK,GAAG,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,eAAe;YACnB,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,mEAAmE;YAC3E,OAAO,EAAE,WAAW,CAAC;gBACnB,OAAO;gBACP,SAAS;gBACT,OAAO;gBACP,WAAW;gBACX,KAAK,CAAC,MAAM;gBACZ,QAAQ;gBACR,KAAK,CAAC,WAAW;gBACjB,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;gBAClC,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;gBACzB,SAAS;aACV,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,iBAAiB;gBACrB,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,iGAAiG;gBACzG,OAAO,EAAE,WAAW,CAAC;oBACnB,OAAO;oBACP,UAAU;oBACV,MAAM;oBACN,WAAW;oBACX,KAAK,CAAC,MAAM;oBACZ,WAAW;oBACX,KAAK,CAAC,WAAW;oBACjB,SAAS;oBACT,wBAAwB;oBACxB,oBAAoB;oBACpB,oBAAoB;oBACpB,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;oBAClC,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;oBACzB,SAAS;iBACV,CAAC;aACH,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,WAAW;YACf,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,mGAAmG;YAC3G,OAAO,EAAE,WAAW,CAAC;gBACnB,OAAO;gBACP,KAAK;gBACL,OAAO;gBACP,WAAW;gBACX,KAAK,CAAC,MAAM;gBACZ,YAAY;gBACZ,KAAK,CAAC,WAAW;gBACjB,oBAAoB;gBACpB,oBAAoB;gBACpB,gBAAgB;gBAChB,wBAAwB;gBACxB,aAAa;gBACb,aAAa;gBACb,cAAc;gBACd,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC3B,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;gBAClC,SAAS;aACV,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,eAAe;gBACnB,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,MAAM,CAAC;gBAC1D,MAAM,EAAE,uFAAuF;gBAC/F,OAAO,EAAE,WAAW,CAAC;oBACnB,OAAO;oBACP,MAAM;oBACN,KAAK;oBACL,WAAW;oBACX,KAAK,CAAC,MAAM;oBACZ,QAAQ;oBACR,KAAK,CAAC,WAAW;oBACjB,SAAS;oBACT,KAAK,CAAC,KAAK;oBACX,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;iBAC1B,CAAC;aACH,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,qDAAqD;QAC7D,OAAO,EAAE,gBAAgB,KAAK,CAAC,MAAM,EAAE;KACxC,CAAC,CAAA;IAEF,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,eAAe;QACtB,KAAK;QACL,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;KACjE,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAA0B;IAC/D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAErC,MAAM,KAAK,GAAG,CAAC,yBAAyB,CAAC,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAA;QACzD,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,SAAS,CAAC,WAAmB;IACpC,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAA;IACvC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AACnE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAA4B;IACrD,IAAI,KAAK,CAAC,yBAAyB,EAAE,MAAM;QAAE,OAAO,IAAI,CAAA;IACxD,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AACrF,CAAC;AAED,SAAS,YAAY,CAAC,WAAoB;IACxC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3D,CAAC;AAED,SAAS,SAAS,CAAC,KAAgB;IACjC,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,KAAgB;IACtC,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;AAClE,CAAC;AAED,SAAS,WAAW,CAAC,KAAe;IAClC,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,IAAI,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvD,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAA;AACnD,CAAC"}
@@ -0,0 +1,16 @@
1
+ export type WorkflowOpenTaskKind = 'context-grill' | 'diagnostic-loop' | 'tdd-slice' | 'tool-evidence' | 'verification';
2
+ export type WorkflowOpenTaskAction = {
3
+ kind: 'command' | 'blocker';
4
+ value: string;
5
+ };
6
+ export declare function removeWorkflowOpenTask(openTasks: string[] | undefined, kind: WorkflowOpenTaskKind): string[];
7
+ export declare function firstExecutableOpenTask(openTasks: string[] | undefined): string | undefined;
8
+ export declare function nextWorkflowOpenTask(openTasks: string[] | undefined): WorkflowOpenTaskAction | undefined;
9
+ export declare function blockingWorkflowOpenTasks(openTasks: string[] | undefined, taskId: string): string[];
10
+ export declare function toolEvidenceRunCompletesOpenTask(report: {
11
+ ok: boolean;
12
+ dryRun: boolean;
13
+ evidence: Array<{
14
+ status: string;
15
+ }>;
16
+ }): boolean;
@@ -0,0 +1,37 @@
1
+ const TASK_PREFIXES = {
2
+ 'context-grill': 'scale context grill',
3
+ 'diagnostic-loop': 'scale diagnose plan',
4
+ 'tdd-slice': 'scale tdd slice',
5
+ 'tool-evidence': 'scale tool run',
6
+ verification: 'scale verify',
7
+ };
8
+ export function removeWorkflowOpenTask(openTasks, kind) {
9
+ const prefix = TASK_PREFIXES[kind];
10
+ return (openTasks ?? []).filter(task => !task.trim().startsWith(prefix));
11
+ }
12
+ export function firstExecutableOpenTask(openTasks) {
13
+ return (openTasks ?? []).find(task => task.trim().startsWith('scale '));
14
+ }
15
+ export function nextWorkflowOpenTask(openTasks) {
16
+ const value = (openTasks ?? []).find(task => task.trim().length > 0);
17
+ if (!value)
18
+ return undefined;
19
+ return {
20
+ kind: value.trim().startsWith('scale ') ? 'command' : 'blocker',
21
+ value,
22
+ };
23
+ }
24
+ export function blockingWorkflowOpenTasks(openTasks, taskId) {
25
+ const currentVerifyCommand = `scale verify ${taskId}`;
26
+ return (openTasks ?? []).filter(task => {
27
+ const value = task.trim();
28
+ return value.length > 0 && value !== currentVerifyCommand;
29
+ });
30
+ }
31
+ export function toolEvidenceRunCompletesOpenTask(report) {
32
+ return report.ok &&
33
+ !report.dryRun &&
34
+ report.evidence.length > 0 &&
35
+ report.evidence.every(record => record.status === 'passed');
36
+ }
37
+ //# sourceMappingURL=WorkflowOpenTasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowOpenTasks.js","sourceRoot":"","sources":["../../src/workflow/WorkflowOpenTasks.ts"],"names":[],"mappings":"AAGA,MAAM,aAAa,GAAyC;IAC1D,eAAe,EAAE,qBAAqB;IACtC,iBAAiB,EAAE,qBAAqB;IACxC,WAAW,EAAE,iBAAiB;IAC9B,eAAe,EAAE,gBAAgB;IACjC,YAAY,EAAE,cAAc;CAC7B,CAAA;AAED,MAAM,UAAU,sBAAsB,CAAC,SAA+B,EAAE,IAA0B;IAChG,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IAClC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAA+B;IACrE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAA+B;IAClE,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACpE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC/D,KAAK;KACN,CAAA;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,SAA+B,EAAE,MAAc;IACvF,MAAM,oBAAoB,GAAG,gBAAgB,MAAM,EAAE,CAAA;IACrD,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACzB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,oBAAoB,CAAA;IAC3D,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAIhD;IACC,OAAO,MAAM,CAAC,EAAE;QACd,CAAC,MAAM,CAAC,MAAM;QACd,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC1B,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAA;AAC/D,CAAC"}
@@ -22,4 +22,9 @@ export * from './WorkspaceLifecycle.js';
22
22
  export * from './WorkspaceTopology.js';
23
23
  export * from './EngineeringStandards.js';
24
24
  export * from './ResourceGovernance.js';
25
+ export * from './ContextGovernance.js';
26
+ export * from './DiagnosticLoop.js';
27
+ export * from './TddLoop.js';
28
+ export * from './WorkflowGuidance.js';
29
+ export * from './WorkflowOpenTasks.js';
25
30
  export * from './autonomous/index.js';
@@ -23,5 +23,10 @@ export * from './WorkspaceLifecycle.js';
23
23
  export * from './WorkspaceTopology.js';
24
24
  export * from './EngineeringStandards.js';
25
25
  export * from './ResourceGovernance.js';
26
+ export * from './ContextGovernance.js';
27
+ export * from './DiagnosticLoop.js';
28
+ export * from './TddLoop.js';
29
+ export * from './WorkflowGuidance.js';
30
+ export * from './WorkflowOpenTasks.js';
26
31
  export * from './autonomous/index.js';
27
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hongmaple0820/scale-engine",
3
- "version": "0.16.0",
4
- "description": "SCALE Engine v0.16.0 - governed skill orchestration, visual vibe prompts, resource governance, and service-aware workflow gates",
3
+ "version": "0.18.0",
4
+ "description": "SCALE Engine v0.18.0 - governed HTML artifacts, visual review reports, and traceable Markdown-to-HTML task outputs",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "scale": "dist/api/cli.js"