@hongmaple0820/scale-engine 0.15.1 → 0.17.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.
- package/dist/agents/LeadershipPresets.d.ts +16 -0
- package/dist/agents/LeadershipPresets.js +152 -0
- package/dist/agents/LeadershipPresets.js.map +1 -0
- package/dist/api/cli.js +774 -8
- package/dist/api/cli.js.map +1 -1
- package/dist/artifact/types.d.ts +4 -0
- package/dist/artifact/types.js.map +1 -1
- package/dist/cli/phaseCommands.d.ts +14 -0
- package/dist/cli/phaseCommands.js +187 -6
- package/dist/cli/phaseCommands.js.map +1 -1
- package/dist/cli/vibeCommands.d.ts +20 -0
- package/dist/cli/vibeCommands.js +150 -173
- package/dist/cli/vibeCommands.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/prompts/VibeTemplateGallery.d.ts +25 -0
- package/dist/prompts/VibeTemplateGallery.js +295 -0
- package/dist/prompts/VibeTemplateGallery.js.map +1 -0
- package/dist/skills/SkillRepository.d.ts +63 -0
- package/dist/skills/SkillRepository.js +365 -0
- package/dist/skills/SkillRepository.js.map +1 -0
- package/dist/tools/ToolCapabilityRegistry.d.ts +46 -0
- package/dist/tools/ToolCapabilityRegistry.js +223 -0
- package/dist/tools/ToolCapabilityRegistry.js.map +1 -0
- package/dist/tools/ToolEvidenceGate.d.ts +39 -0
- package/dist/tools/ToolEvidenceGate.js +117 -0
- package/dist/tools/ToolEvidenceGate.js.map +1 -0
- package/dist/tools/ToolEvidenceStore.d.ts +58 -0
- package/dist/tools/ToolEvidenceStore.js +129 -0
- package/dist/tools/ToolEvidenceStore.js.map +1 -0
- package/dist/tools/ToolOrchestrator.d.ts +67 -0
- package/dist/tools/ToolOrchestrator.js +246 -0
- package/dist/tools/ToolOrchestrator.js.map +1 -0
- package/dist/tools/ToolPolicy.d.ts +33 -0
- package/dist/tools/ToolPolicy.js +157 -0
- package/dist/tools/ToolPolicy.js.map +1 -0
- package/dist/tools/index.d.ts +5 -0
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/workflow/ContextGovernance.d.ts +51 -0
- package/dist/workflow/ContextGovernance.js +233 -0
- package/dist/workflow/ContextGovernance.js.map +1 -0
- package/dist/workflow/DiagnosticLoop.d.ts +40 -0
- package/dist/workflow/DiagnosticLoop.js +105 -0
- package/dist/workflow/DiagnosticLoop.js.map +1 -0
- package/dist/workflow/EngineeringStandards.d.ts +69 -0
- package/dist/workflow/EngineeringStandards.js +348 -6
- package/dist/workflow/EngineeringStandards.js.map +1 -1
- package/dist/workflow/GovernanceTemplatePacks.js +11 -9
- package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
- package/dist/workflow/GovernanceTemplates.js +15 -4
- package/dist/workflow/GovernanceTemplates.js.map +1 -1
- package/dist/workflow/TaskArtifactScaffolder.d.ts +22 -0
- package/dist/workflow/TaskArtifactScaffolder.js +55 -0
- package/dist/workflow/TaskArtifactScaffolder.js.map +1 -1
- package/dist/workflow/TddLoop.d.ts +47 -0
- package/dist/workflow/TddLoop.js +76 -0
- package/dist/workflow/TddLoop.js.map +1 -0
- package/dist/workflow/WorkflowGuidance.d.ts +26 -0
- package/dist/workflow/WorkflowGuidance.js +173 -0
- package/dist/workflow/WorkflowGuidance.js.map +1 -0
- package/dist/workflow/WorkflowOpenTasks.d.ts +16 -0
- package/dist/workflow/WorkflowOpenTasks.js +37 -0
- package/dist/workflow/WorkflowOpenTasks.js.map +1 -0
- package/dist/workflow/index.d.ts +5 -0
- package/dist/workflow/index.js +5 -0
- package/dist/workflow/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -3,7 +3,7 @@ import { join } from 'node:path';
|
|
|
3
3
|
import { skillRoutingPolicyTemplate } from '../skills/routing/SkillPolicy.js';
|
|
4
4
|
import { readGovernanceLock, writeGovernanceLock } from './GovernanceLock.js';
|
|
5
5
|
import { resolveGovernanceTemplatePack, } from './GovernanceTemplatePacks.js';
|
|
6
|
-
import { engineeringStandardsPolicyTemplate, frameworksCatalogTemplate } from './EngineeringStandards.js';
|
|
6
|
+
import { engineeringStandardsBaselineTemplate, engineeringStandardsPolicyTemplate, frameworksCatalogTemplate, } from './EngineeringStandards.js';
|
|
7
7
|
import { resourceManifestTemplate, resourcePolicyTemplate } from './ResourceGovernance.js';
|
|
8
8
|
export function writeGovernanceTemplates(projectDir = process.cwd(), options = {}) {
|
|
9
9
|
const mode = options.mode ?? 'standard';
|
|
@@ -48,6 +48,7 @@ export function writeGovernanceTemplates(projectDir = process.cwd(), options = {
|
|
|
48
48
|
writeTracked(result, lockFiles, projectDir, '.scale/resource-policy.json', resourcePolicyTemplate());
|
|
49
49
|
writeTracked(result, lockFiles, projectDir, '.scale/assets.json', resourceManifestTemplate());
|
|
50
50
|
writeTracked(result, lockFiles, projectDir, '.scale/engineering-standards.json', engineeringStandardsPolicyTemplate());
|
|
51
|
+
writeTracked(result, lockFiles, projectDir, '.scale/engineering-standards-baseline.json', engineeringStandardsBaselineTemplate());
|
|
51
52
|
writeTracked(result, lockFiles, projectDir, '.scale/frameworks.json', frameworksCatalogTemplate());
|
|
52
53
|
for (const file of pack.generatedFiles) {
|
|
53
54
|
writePackGeneratedFile(result, lockFiles, projectDir, pack.id, pack.version, file);
|
|
@@ -164,6 +165,7 @@ Keep \`.scale/verification.json\` as the source of truth for profiles and servic
|
|
|
164
165
|
Keep \`.scale/skills.json\` as the source of truth for active skill routing policy.
|
|
165
166
|
Keep \`.scale/resource-policy.json\` and \`.scale/assets.json\` as the source of truth for generated reports, temporary files, module documentation, media, reusable scripts, and Git retention policy.
|
|
166
167
|
Keep \`.scale/engineering-standards.json\` and \`.scale/frameworks.json\` as the source of truth for logging, security, ORM, architecture, framework, UI/UX, testing, and coding standard checks.
|
|
168
|
+
Keep \`.scale/engineering-standards-baseline.json\` as the temporary exception list for known legacy standards findings; it must not be used to hide new or changed-file problems.
|
|
167
169
|
Use \`artifactGate: "warn"\` while introducing the workflow, then move M/L/CRITICAL work to \`"block"\` once templates and local gates are stable.
|
|
168
170
|
|
|
169
171
|
## Active Skill Routing
|
|
@@ -192,14 +194,17 @@ scale skill check --require-installed --json
|
|
|
192
194
|
Before finishing an agent-created branch or deleting a temporary worktree, inspect root and child repository state:
|
|
193
195
|
|
|
194
196
|
\`\`\`bash
|
|
195
|
-
scale workspace status --json
|
|
196
|
-
scale workspace finish --
|
|
197
|
-
scale workspace
|
|
197
|
+
scale workspace status --json
|
|
198
|
+
scale workspace finish --summary
|
|
199
|
+
scale workspace finish --json
|
|
200
|
+
scale workspace cleanup --dir <temporary-worktree> --dry-run --json
|
|
198
201
|
scale workspace cleanup --dir <temporary-worktree> --apply --confirm <branch-or-head> --json
|
|
199
202
|
\`\`\`
|
|
200
203
|
|
|
201
204
|
Do not remove a temporary worktree while any submodule or nested repository has uncommitted or unpushed work. Child repositories must be committed and reviewed in their own remotes, then the root repository can record any required pointer or governance updates. Cleanup defaults to dry-run. Applying cleanup requires the reported confirmation token, normally the temporary branch name.
|
|
202
205
|
|
|
206
|
+
Use \`scale ship <task-id>\` for governed commits. It checks MOE/submodule child repository state before staging reviewed root files, so dirty or unpushed child work cannot be hidden inside a root commit. Raw \`git add .\` is outside the governed path and must not be used for MOE releases.
|
|
207
|
+
|
|
203
208
|
## Resource Governance
|
|
204
209
|
|
|
205
210
|
Use asset scanning before committing generated reports, media, temporary scripts, or long-lived documentation changes:
|
|
@@ -224,6 +229,9 @@ Use standards scanning before reviewing or shipping M/L/CRITICAL work:
|
|
|
224
229
|
\`\`\`bash
|
|
225
230
|
scale standards scan --json
|
|
226
231
|
scale standards doctor --json
|
|
232
|
+
scale standards doctor --changed --json
|
|
233
|
+
scale standards doctor --changed-files src/example.ts,src/example.test.ts --json
|
|
234
|
+
scale standards baseline --write --artifact-dir docs/worklog/tasks/<task-dir> --task-id <task-id> --json
|
|
227
235
|
scale standards settle --task-id <task-id> --artifact-dir docs/worklog/tasks/<task-dir>
|
|
228
236
|
scale preflight --preflight-profile full --json
|
|
229
237
|
scale verify <task-id> --json
|
|
@@ -241,7 +249,10 @@ Default policy:
|
|
|
241
249
|
- \`.scale/frameworks.json > lastReviewedAt/reviewIntervalDays\` warns when module framework decisions need review.
|
|
242
250
|
- \`.scale/engineering-standards.json > blockingRules\` promotes selected warning rule IDs to release-blocking findings.
|
|
243
251
|
- \`.scale/engineering-standards.json > allowedFindingPatterns\` allows narrow rule/path/evidence exceptions without hiding unrelated findings in the same file.
|
|
252
|
+
- \`.scale/engineering-standards-baseline.json\` may hold known legacy findings during rollout, but normal task gates should prefer \`--changed\` or \`--changed-files\` so new work is blocked without forcing a whole-repo cleanup.
|
|
244
253
|
- \`.scale/verification.json > policy.engineeringStandardsGate\` controls whether preflight and task verification treat standards as \`off\`, \`warn\`, or \`block\`.
|
|
254
|
+
- Full standards scans are for release readiness, scheduled remediation, and architecture cleanup. Changed-file scans are the default for day-to-day feature and bug branches.
|
|
255
|
+
- Use \`scale standards baseline --write\` only during an explicit rollout or remediation planning task. It writes the machine-readable baseline and a \`standards-legacy-debt.md\` classification report for staged cleanup.
|
|
245
256
|
|
|
246
257
|
## Automation Templates
|
|
247
258
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GovernanceTemplates.js","sourceRoot":"","sources":["../../src/workflow/GovernanceTemplates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EACL,6BAA6B,GAG9B,MAAM,8BAA8B,CAAA;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"GovernanceTemplates.js","sourceRoot":"","sources":["../../src/workflow/GovernanceTemplates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { GateResult } from './types.js';
|
|
2
2
|
import { type SkillPlan } from '../skills/routing/index.js';
|
|
3
|
+
import { type ContextGovernanceReport } from './ContextGovernance.js';
|
|
4
|
+
import { type DiagnosticLoop, type DiagnosticValidation } from './DiagnosticLoop.js';
|
|
5
|
+
import { type TddSlice } from './TddLoop.js';
|
|
3
6
|
export type TaskArtifactLevel = 'S' | 'M' | 'L' | 'CRITICAL';
|
|
4
7
|
export interface TaskArtifactScaffoldOptions {
|
|
5
8
|
projectDir?: string;
|
|
@@ -31,6 +34,22 @@ export interface TaskArtifactCheckOptions {
|
|
|
31
34
|
level: TaskArtifactLevel;
|
|
32
35
|
skillRequiredArtifacts?: string[];
|
|
33
36
|
}
|
|
37
|
+
export interface ContextGrillArtifactAppendOptions {
|
|
38
|
+
projectDir?: string;
|
|
39
|
+
artifactsDir?: string;
|
|
40
|
+
report: ContextGovernanceReport;
|
|
41
|
+
}
|
|
42
|
+
export interface DiagnosticLoopArtifactAppendOptions {
|
|
43
|
+
projectDir?: string;
|
|
44
|
+
artifactsDir?: string;
|
|
45
|
+
loop: DiagnosticLoop;
|
|
46
|
+
validation: DiagnosticValidation;
|
|
47
|
+
}
|
|
48
|
+
export interface TddSliceArtifactAppendOptions {
|
|
49
|
+
projectDir?: string;
|
|
50
|
+
artifactsDir?: string;
|
|
51
|
+
slice: TddSlice;
|
|
52
|
+
}
|
|
34
53
|
export interface TaskArtifactIncompleteItem {
|
|
35
54
|
file: string;
|
|
36
55
|
reason: string;
|
|
@@ -44,4 +63,7 @@ export interface TaskArtifactCheckResult {
|
|
|
44
63
|
}
|
|
45
64
|
export declare function scaffoldTaskArtifacts(options: TaskArtifactScaffoldOptions): TaskArtifactScaffoldResult;
|
|
46
65
|
export declare function appendVerificationArtifact(options: VerificationArtifactAppendOptions): string | null;
|
|
66
|
+
export declare function appendContextGrillArtifact(options: ContextGrillArtifactAppendOptions): string | null;
|
|
67
|
+
export declare function appendDiagnosticLoopArtifact(options: DiagnosticLoopArtifactAppendOptions): string | null;
|
|
68
|
+
export declare function appendTddSliceArtifact(options: TddSliceArtifactAppendOptions): string | null;
|
|
47
69
|
export declare function checkTaskArtifactCompleteness(options: TaskArtifactCheckOptions): TaskArtifactCheckResult;
|
|
@@ -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":"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"}
|
|
@@ -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;
|