@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.
- package/dist/api/cli.js +494 -9
- package/dist/api/cli.js.map +1 -1
- package/dist/api/doctor.d.ts +1 -0
- package/dist/api/doctor.js +45 -0
- package/dist/api/doctor.js.map +1 -1
- package/dist/api/quickstart.js +5 -2
- package/dist/api/quickstart.js.map +1 -1
- package/dist/cli/phaseCommands.js +36 -6
- package/dist/cli/phaseCommands.js.map +1 -1
- package/dist/core/logger.js +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/output/HTMLArtifactLayer.d.ts +97 -0
- package/dist/output/HTMLArtifactLayer.js +576 -0
- package/dist/output/HTMLArtifactLayer.js.map +1 -0
- package/dist/output/index.d.ts +2 -0
- package/dist/output/index.js +1 -0
- package/dist/output/index.js.map +1 -1
- package/dist/skills/routing/SkillGate.js +26 -2
- package/dist/skills/routing/SkillGate.js.map +1 -1
- package/dist/skills/routing/SkillPolicy.js +2 -2
- package/dist/skills/routing/SkillPolicy.js.map +1 -1
- package/dist/tools/ToolCapabilityRegistry.d.ts +1 -1
- package/dist/tools/ToolCapabilityRegistry.js +4 -4
- package/dist/tools/ToolCapabilityRegistry.js.map +1 -1
- package/dist/tools/ToolOrchestrator.js +57 -0
- package/dist/tools/ToolOrchestrator.js.map +1 -1
- 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/GovernanceTemplatePacks.d.ts +1 -1
- package/dist/workflow/GovernanceTemplatePacks.js +77 -19
- package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
- package/dist/workflow/GovernanceTemplates.js +36 -12
- package/dist/workflow/GovernanceTemplates.js.map +1 -1
- package/dist/workflow/ResourceGovernance.js +2 -1
- package/dist/workflow/ResourceGovernance.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
|
@@ -57,8 +57,8 @@ export function evaluateSkillGate(options) {
|
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
59
|
function incompleteReason(file, content, requiredSkills = []) {
|
|
60
|
-
if (file === 'skill-plan.md'
|
|
61
|
-
return
|
|
60
|
+
if (file === 'skill-plan.md')
|
|
61
|
+
return skillPlanIncompleteReason(content, requiredSkills);
|
|
62
62
|
if (file === 'skill-evidence.md')
|
|
63
63
|
return skillEvidenceIncompleteReason(content, requiredSkills);
|
|
64
64
|
const substantive = content
|
|
@@ -76,6 +76,26 @@ function incompleteReason(file, content, requiredSkills = []) {
|
|
|
76
76
|
.filter(line => !/^[-*]\s*(\[ \])?\s*$/.test(line));
|
|
77
77
|
return substantive.length >= 2 ? null : `contains only template placeholders (${substantive.length}/2 substantive lines)`;
|
|
78
78
|
}
|
|
79
|
+
function skillPlanIncompleteReason(content, requiredSkills) {
|
|
80
|
+
if (/\bTBD\b/i.test(content))
|
|
81
|
+
return 'contains template placeholders';
|
|
82
|
+
if (!/## Detected Intents/i.test(content) || !/## Required Skills/i.test(content)) {
|
|
83
|
+
return 'missing skill plan sections';
|
|
84
|
+
}
|
|
85
|
+
const requiredSection = sectionContent(content, 'Required Skills');
|
|
86
|
+
const requiredLines = requiredSection
|
|
87
|
+
.split(/\r?\n/)
|
|
88
|
+
.map(line => line.trim())
|
|
89
|
+
.filter(line => line.length > 0)
|
|
90
|
+
.filter(line => !/^\|?[\s:-]+\|[\s|:-]*$/.test(line))
|
|
91
|
+
.filter(line => !/^\|\s*\|/.test(line));
|
|
92
|
+
if (requiredLines.length === 0)
|
|
93
|
+
return 'missing required skill decision';
|
|
94
|
+
const missingSkills = requiredSkills.filter(skill => !content.includes(skill));
|
|
95
|
+
if (missingSkills.length > 0)
|
|
96
|
+
return `missing required skills in plan: ${missingSkills.join(', ')}`;
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
79
99
|
function skillEvidenceIncompleteReason(content, requiredSkills) {
|
|
80
100
|
if (/\bTBD\b|skill-id/i.test(content))
|
|
81
101
|
return 'contains template placeholders';
|
|
@@ -87,6 +107,10 @@ function skillEvidenceIncompleteReason(content, requiredSkills) {
|
|
|
87
107
|
}
|
|
88
108
|
return null;
|
|
89
109
|
}
|
|
110
|
+
function sectionContent(content, heading) {
|
|
111
|
+
const pattern = new RegExp(`##\\s+${heading}\\s*\\n([\\s\\S]*?)(?=\\n##\\s+|$)`, 'i');
|
|
112
|
+
return content.match(pattern)?.[1] ?? '';
|
|
113
|
+
}
|
|
90
114
|
function unique(items) {
|
|
91
115
|
return [...new Set(items)];
|
|
92
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillGate.js","sourceRoot":"","sources":["../../../src/skills/routing/SkillGate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SkillGate.js","sourceRoot":"","sources":["../../../src/skills/routing/SkillGate.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,8 +94,8 @@ export const DEFAULT_SKILL_ROUTING_POLICY = {
|
|
|
94
94
|
'office app',
|
|
95
95
|
],
|
|
96
96
|
},
|
|
97
|
-
requiredSkills: ['cua'],
|
|
98
|
-
recommendedSkills: ['agent-browser', 'web-access', 'computer-use', '
|
|
97
|
+
requiredSkills: ['turix-cua'],
|
|
98
|
+
recommendedSkills: ['agent-browser', 'web-access', 'computer-use', 'opencli'],
|
|
99
99
|
requiredArtifacts: ['skill-plan.md', 'skill-evidence.md', 'verification.md'],
|
|
100
100
|
requiredVerification: ['desktop-screenshot', 'operator-safety', 'side-effect-boundary'],
|
|
101
101
|
blockLevels: ['CRITICAL'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillPolicy.js","sourceRoot":"","sources":["../../../src/skills/routing/SkillPolicy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SkillPolicy.js","sourceRoot":"","sources":["../../../src/skills/routing/SkillPolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,7 @@ export const TOOL_CAPABILITY_CATALOG = [
|
|
|
40
40
|
{
|
|
41
41
|
id: 'agent-browser',
|
|
42
42
|
name: 'Agent Browser',
|
|
43
|
-
category: '
|
|
43
|
+
category: 'browser',
|
|
44
44
|
command: 'agent-browser',
|
|
45
45
|
versionArgs: ['--version'],
|
|
46
46
|
requiredFor: ['browserAutomation'],
|
|
@@ -50,7 +50,7 @@ export const TOOL_CAPABILITY_CATALOG = [
|
|
|
50
50
|
{
|
|
51
51
|
id: 'playwright',
|
|
52
52
|
name: 'Playwright',
|
|
53
|
-
category: '
|
|
53
|
+
category: 'browser',
|
|
54
54
|
command: 'npx',
|
|
55
55
|
versionArgs: ['playwright', '--version'],
|
|
56
56
|
requiredFor: ['e2e'],
|
|
@@ -69,7 +69,7 @@ export const TOOL_CAPABILITY_CATALOG = [
|
|
|
69
69
|
{
|
|
70
70
|
id: 'desktop-cua',
|
|
71
71
|
name: 'CUA',
|
|
72
|
-
category: '
|
|
72
|
+
category: 'desktop',
|
|
73
73
|
command: 'cua',
|
|
74
74
|
versionArgs: ['--version'],
|
|
75
75
|
requiredFor: ['desktopAutomation'],
|
|
@@ -135,7 +135,7 @@ export function inspectToolCapabilities(options = {}) {
|
|
|
135
135
|
function inspectToolCapability(tool, deps) {
|
|
136
136
|
if (tool.category === 'skill')
|
|
137
137
|
return inspectSkillTool(tool, deps);
|
|
138
|
-
if (tool.category === 'cli')
|
|
138
|
+
if (tool.category === 'cli' || tool.category === 'browser' || tool.category === 'desktop')
|
|
139
139
|
return inspectCliTool(tool, deps);
|
|
140
140
|
return inspectMcpTool(tool, deps);
|
|
141
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolCapabilityRegistry.js","sourceRoot":"","sources":["../../src/tools/ToolCapabilityRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAgDzC,MAAM,CAAC,MAAM,uBAAuB,GAAuB;IACzD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,YAAY;QACrB,WAAW,EAAE,CAAC,aAAa,CAAC;QAC5B,cAAc,EAAE,CAAC,mBAAmB,CAAC;QACrC,MAAM,EAAE,sCAAsC;KAC/C;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,CAAC,IAAI,CAAC;QACnB,MAAM,EAAE,uEAAuE;KAChF;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,CAAC,IAAI,CAAC;QACnB,MAAM,EAAE,yDAAyD;KAClE;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,CAAC,IAAI,CAAC;QACtB,MAAM,EAAE,gDAAgD;KACzD;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"ToolCapabilityRegistry.js","sourceRoot":"","sources":["../../src/tools/ToolCapabilityRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { execa } from 'execa';
|
|
1
2
|
import { inspectToolCapabilities, TOOL_CAPABILITY_CATALOG } from './ToolCapabilityRegistry.js';
|
|
2
3
|
import { ToolEvidenceStore } from './ToolEvidenceStore.js';
|
|
3
4
|
import { requiredToolsForDomains, resolveToolPolicy } from './ToolPolicy.js';
|
|
@@ -148,6 +149,8 @@ export class ToolOrchestrator {
|
|
|
148
149
|
async executeStep(step, input) {
|
|
149
150
|
if (this.executeStepImpl)
|
|
150
151
|
return this.executeStepImpl(step, input);
|
|
152
|
+
if (step.adapter === 'cli' || step.adapter === 'browser' || step.adapter === 'desktop')
|
|
153
|
+
return executeCliCapabilityCheck(step);
|
|
151
154
|
return {
|
|
152
155
|
status: 'skipped',
|
|
153
156
|
outputSummary: `No executor configured for ${step.toolId}; evidence recorded as skipped.`,
|
|
@@ -177,7 +180,61 @@ function dryRunResult(step) {
|
|
|
177
180
|
version: step.capability?.version,
|
|
178
181
|
};
|
|
179
182
|
}
|
|
183
|
+
async function executeCliCapabilityCheck(step) {
|
|
184
|
+
const command = step.capability?.command;
|
|
185
|
+
const args = step.capability?.versionArgs ?? ['--version'];
|
|
186
|
+
if (!command) {
|
|
187
|
+
return {
|
|
188
|
+
status: 'skipped',
|
|
189
|
+
outputSummary: `No safe CLI command configured for ${step.toolId}; evidence recorded as skipped.`,
|
|
190
|
+
outputPaths: [],
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
try {
|
|
194
|
+
const result = await execa(command, args, {
|
|
195
|
+
reject: false,
|
|
196
|
+
timeout: 10_000,
|
|
197
|
+
cwd: process.cwd(),
|
|
198
|
+
env: process.env,
|
|
199
|
+
stdin: 'ignore',
|
|
200
|
+
});
|
|
201
|
+
const stdout = result.stdout.trim();
|
|
202
|
+
const stderr = result.stderr.trim();
|
|
203
|
+
const exitCode = result.exitCode ?? 1;
|
|
204
|
+
const outputSummary = summarizeCliOutput(step.toolId, stdout, stderr, exitCode);
|
|
205
|
+
return {
|
|
206
|
+
status: exitCode === 0 ? 'passed' : 'failed',
|
|
207
|
+
outputSummary,
|
|
208
|
+
outputPaths: [],
|
|
209
|
+
exitCode,
|
|
210
|
+
version: stdout.split(/\r?\n/).find(Boolean) ?? step.capability?.version,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
return {
|
|
215
|
+
status: 'failed',
|
|
216
|
+
outputSummary: `CLI check failed for ${step.toolId}: ${error instanceof Error ? error.message : String(error)}`,
|
|
217
|
+
outputPaths: [],
|
|
218
|
+
exitCode: 1,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
function summarizeCliOutput(toolId, stdout, stderr, exitCode) {
|
|
223
|
+
const lines = [`CLI version check for ${toolId} exited with ${exitCode}.`];
|
|
224
|
+
if (stdout)
|
|
225
|
+
lines.push(`stdout: ${tail(stdout)}`);
|
|
226
|
+
if (stderr)
|
|
227
|
+
lines.push(`stderr: ${tail(stderr)}`);
|
|
228
|
+
return lines.join(' ');
|
|
229
|
+
}
|
|
230
|
+
function tail(value) {
|
|
231
|
+
return value.split(/\r?\n/).slice(-5).join('\n').slice(0, 1000);
|
|
232
|
+
}
|
|
180
233
|
function adapterForCategory(category) {
|
|
234
|
+
if (category === 'browser')
|
|
235
|
+
return 'browser';
|
|
236
|
+
if (category === 'desktop')
|
|
237
|
+
return 'desktop';
|
|
181
238
|
if (category === 'cli')
|
|
182
239
|
return 'cli';
|
|
183
240
|
if (category === 'mcp')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolOrchestrator.js","sourceRoot":"","sources":["../../src/tools/ToolOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToolOrchestrator.js","sourceRoot":"","sources":["../../src/tools/ToolOrchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAoF,MAAM,6BAA6B,CAAA;AAChL,OAAO,EAAE,iBAAiB,EAA2E,MAAM,wBAAwB,CAAA;AACnI,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAA2B,MAAM,iBAAiB,CAAA;AA0DrG,MAAM,OAAO,gBAAgB;IAO3B,YAAY,UAAmC,EAAE;QAC/C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACvD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;QAChD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,iBAAiB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACpG,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,KAAoB;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO;gBACL,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;gBAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ;gBAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,KAAK,EAAE,EAAE;gBACT,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,CAAC,iCAAiC,CAAC;aAC9C,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,uBAAuB,CAAC;YACxE,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO;SACR,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QACnF,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,MAAM,QAAQ,GAAa,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,MAAM,KAAK,GAAwB,EAAE,CAAA;QAErC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;YACzD,MAAM,MAAM,GAAmB,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;YAC1E,MAAM,IAAI,GAAsB;gBAC9B,EAAE,EAAE,QAAQ,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE;gBACxC,MAAM;gBACN,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;gBACnD,OAAO,EAAE,kBAAkB,CAAC,UAAU,EAAE,QAAQ,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC5E,QAAQ;gBACR,MAAM;gBACN,UAAU;gBACV,MAAM,EAAE,MAAM,KAAK,OAAO;oBACxB,CAAC,CAAC,oBAAoB;oBACtB,CAAC,CAAC,UAAU,EAAE,aAAa,IAAI,+CAA+C;aACjF,CAAA;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEhB,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,iBAAiB,MAAM,wBAAwB,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAA;gBACxF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;oBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;;oBACnD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;YAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ;YAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,KAAK;YACL,QAAQ;YACR,QAAQ;SACT,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAuB,EAAE,UAA0B,EAAE;QAC7D,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QACnC,MAAM,QAAQ,GAAsB,EAAE,CAAA;QAEtC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC/B,QAAQ;gBACR,QAAQ;gBACR,QAAQ;aACT,CAAA;QACH,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;gBAAE,SAAQ;YAErC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;gBAC3B,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;gBACpB,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YAErE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBACrC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO;gBACnD,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO;gBACjC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBACjF,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,cAAc,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;gBACnD,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aACtE,CAAC,CAAA;YACF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAErB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,QAAQ,IAAI,CAAC,MAAM,oBAAoB,IAAI,CAAC,MAAM,GAAG,CAAA;gBACrE,IAAI,IAAI,CAAC,QAAQ;oBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;;oBACpC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,EAAE,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;YACzB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YAC/B,QAAQ;YACR,QAAQ;YACR,QAAQ;SACT,CAAA;IACH,CAAC;IAEO,cAAc,CAAC,SAAoB;QACzC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aAC1G,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvB,OAAO,MAAM,CAAC;YACZ,GAAG,SAAS,CAAC,cAAc;YAC3B,GAAG,gBAAgB;YACnB,GAAG,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;SAClF,CAAC,CAAA;IACJ,CAAC;IAEO,UAAU,CAAC,MAAc,EAAE,SAAoB;QACrD,IAAI,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACxC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QACzB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QACvE,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/D,CAAC;IAEO,aAAa,CAAC,MAAc,EAAE,SAAoB;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACpE,MAAM,cAAc,GAAG,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QACzF,IAAI,cAAc;YAAE,OAAO,cAAc,CAAA;QACzC,MAAM,iBAAiB,GAAG,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QAChG,IAAI,iBAAiB;YAAE,OAAO,iBAAiB,CAAA;QAC/C,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;IACtC,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAuB,EAAE,KAA8B;QAC/E,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAClE,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAA;QAC9H,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,8BAA8B,IAAI,CAAC,MAAM,iCAAiC;YACzF,WAAW,EAAE,EAAE;SAChB,CAAA;IACH,CAAC;IAEO,mBAAmB,CAAC,IAAuB,EAAE,MAAe;QAClE,MAAM,QAAQ,GAAG,CAAC,gBAAgB,CAAC,CAAA;QACnC,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACpC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAC7E,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,QAAQ,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAC7E,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACtE,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC5D,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAED,SAAS,YAAY,CAAC,IAAuB;IAC3C,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,YAAY,IAAI,CAAC,MAAM,gCAAgC;QACtE,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO;KAClC,CAAA;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,IAAuB;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAA;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,IAAI,CAAC,WAAW,CAAC,CAAA;IAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,sCAAsC,IAAI,CAAC,MAAM,iCAAiC;YACjG,WAAW,EAAE,EAAE;SAChB,CAAA;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACxC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAA;QACrC,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC/E,OAAO;YACL,MAAM,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YAC5C,aAAa;YACb,WAAW,EAAE,EAAE;YACf,QAAQ;YACR,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO;SACzE,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,wBAAwB,IAAI,CAAC,MAAM,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC/G,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,CAAC;SACZ,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,QAAgB;IAC1F,MAAM,KAAK,GAAG,CAAC,yBAAyB,MAAM,gBAAgB,QAAQ,GAAG,CAAC,CAAA;IAC1E,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACjD,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACjD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC;AAED,SAAS,IAAI,CAAC,KAAa;IACzB,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AACjE,CAAC;AAED,SAAS,kBAAkB,CAAC,QAA4C;IACtE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC5C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC5C,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IACpC,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,KAAK,CAAA;IACpC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,QAAQ,IAAI,OAAO,CAAA;AACtF,CAAC;AAED,SAAS,MAAM,CAAI,KAAU;IAC3B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAC5B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export type ContextFindingSeverity = 'error' | 'warn' | 'info';
|
|
2
|
+
export type ContextQuestionTopic = 'domain-language' | 'module-boundary' | 'acceptance-evidence' | 'risk-and-rollback';
|
|
3
|
+
export interface ContextFinding {
|
|
4
|
+
code: string;
|
|
5
|
+
severity: ContextFindingSeverity;
|
|
6
|
+
message: string;
|
|
7
|
+
path?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ContextGrillQuestion {
|
|
10
|
+
id: string;
|
|
11
|
+
topic: ContextQuestionTopic;
|
|
12
|
+
question: string;
|
|
13
|
+
reason: string;
|
|
14
|
+
blocking: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface ModuleDocStatus {
|
|
17
|
+
moduleName: string;
|
|
18
|
+
productDocPath: string;
|
|
19
|
+
architectureDocPath: string;
|
|
20
|
+
productDocExists: boolean;
|
|
21
|
+
architectureDocExists: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface ContextGovernanceReport {
|
|
24
|
+
ok: boolean;
|
|
25
|
+
projectDir: string;
|
|
26
|
+
request: string;
|
|
27
|
+
contextPath?: string;
|
|
28
|
+
contextMapPath?: string;
|
|
29
|
+
terms: string[];
|
|
30
|
+
moduleDocs: ModuleDocStatus[];
|
|
31
|
+
findings: ContextFinding[];
|
|
32
|
+
questions: ContextGrillQuestion[];
|
|
33
|
+
requiredArtifacts: string[];
|
|
34
|
+
}
|
|
35
|
+
export interface AnalyzeContextGovernanceInput {
|
|
36
|
+
projectDir: string;
|
|
37
|
+
request: string;
|
|
38
|
+
changedFiles?: string[];
|
|
39
|
+
}
|
|
40
|
+
export interface WriteContextGovernanceTemplatesInput {
|
|
41
|
+
projectDir: string;
|
|
42
|
+
projectName?: string;
|
|
43
|
+
force?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface WriteContextGovernanceTemplatesResult {
|
|
46
|
+
created: string[];
|
|
47
|
+
skipped: string[];
|
|
48
|
+
}
|
|
49
|
+
export declare function analyzeContextGovernance(input: AnalyzeContextGovernanceInput): ContextGovernanceReport;
|
|
50
|
+
export declare function renderContextGrillPrompt(report: ContextGovernanceReport): string;
|
|
51
|
+
export declare function writeContextGovernanceTemplates(input: WriteContextGovernanceTemplatesInput): WriteContextGovernanceTemplatesResult;
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { dirname, join, normalize } from 'node:path';
|
|
3
|
+
const CONTEXT_CANDIDATES = ['CONTEXT.md', 'docs/CONTEXT.md'];
|
|
4
|
+
const CONTEXT_MAP_CANDIDATES = ['CONTEXT-MAP.md', 'docs/CONTEXT-MAP.md'];
|
|
5
|
+
export function analyzeContextGovernance(input) {
|
|
6
|
+
const projectDir = input.projectDir;
|
|
7
|
+
const contextPath = firstExisting(projectDir, CONTEXT_CANDIDATES);
|
|
8
|
+
const contextMapPath = firstExisting(projectDir, CONTEXT_MAP_CANDIDATES);
|
|
9
|
+
const findings = [];
|
|
10
|
+
const terms = contextPath ? parseContextTerms(readFileSync(contextPath, 'utf-8')) : [];
|
|
11
|
+
const contextMap = contextMapPath ? parseContextMap(readFileSync(contextMapPath, 'utf-8')) : new Map();
|
|
12
|
+
const moduleDocs = resolveModuleDocs(projectDir, input.changedFiles ?? [], contextMap);
|
|
13
|
+
if (!contextPath) {
|
|
14
|
+
findings.push({
|
|
15
|
+
code: 'missing-context-doc',
|
|
16
|
+
severity: 'error',
|
|
17
|
+
message: 'Missing CONTEXT.md. Domain language, aliases, and rejected meanings are not durable.',
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
if (!contextMapPath) {
|
|
21
|
+
findings.push({
|
|
22
|
+
code: 'missing-context-map',
|
|
23
|
+
severity: 'error',
|
|
24
|
+
message: 'Missing CONTEXT-MAP.md. Module ownership and product/architecture document links are not durable.',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
for (const doc of moduleDocs) {
|
|
28
|
+
if (!doc.productDocExists || !doc.architectureDocExists) {
|
|
29
|
+
findings.push({
|
|
30
|
+
code: 'missing-module-doc',
|
|
31
|
+
severity: 'error',
|
|
32
|
+
path: doc.moduleName,
|
|
33
|
+
message: `Module ${doc.moduleName} is touched but product or architecture docs are missing.`,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const questions = buildContextQuestions(input.request, findings, moduleDocs);
|
|
38
|
+
const requiredArtifacts = unique([
|
|
39
|
+
!contextPath ? 'CONTEXT.md' : undefined,
|
|
40
|
+
!contextMapPath ? 'CONTEXT-MAP.md' : undefined,
|
|
41
|
+
...moduleDocs.flatMap(doc => [
|
|
42
|
+
doc.productDocExists ? undefined : doc.productDocPath,
|
|
43
|
+
doc.architectureDocExists ? undefined : doc.architectureDocPath,
|
|
44
|
+
]),
|
|
45
|
+
].filter(Boolean));
|
|
46
|
+
return {
|
|
47
|
+
ok: !findings.some(finding => finding.severity === 'error'),
|
|
48
|
+
projectDir,
|
|
49
|
+
request: input.request,
|
|
50
|
+
contextPath,
|
|
51
|
+
contextMapPath,
|
|
52
|
+
terms,
|
|
53
|
+
moduleDocs,
|
|
54
|
+
findings,
|
|
55
|
+
questions,
|
|
56
|
+
requiredArtifacts,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export function renderContextGrillPrompt(report) {
|
|
60
|
+
const lines = [];
|
|
61
|
+
lines.push('# Context Grill');
|
|
62
|
+
lines.push('');
|
|
63
|
+
lines.push(`Request: ${report.request}`);
|
|
64
|
+
lines.push(`Status: ${report.ok ? 'ready' : 'blocked'}`);
|
|
65
|
+
lines.push('');
|
|
66
|
+
lines.push('## Evidence');
|
|
67
|
+
lines.push(`- CONTEXT.md: ${report.contextPath ?? 'missing'}`);
|
|
68
|
+
lines.push(`- CONTEXT-MAP.md: ${report.contextMapPath ?? 'missing'}`);
|
|
69
|
+
if (report.terms.length > 0)
|
|
70
|
+
lines.push(`- Terms: ${report.terms.join(', ')}`);
|
|
71
|
+
for (const finding of report.findings) {
|
|
72
|
+
lines.push(`- [${finding.severity.toUpperCase()}] ${finding.code}: ${finding.message}`);
|
|
73
|
+
}
|
|
74
|
+
lines.push('');
|
|
75
|
+
lines.push('## Questions');
|
|
76
|
+
for (const question of report.questions) {
|
|
77
|
+
const marker = question.blocking ? 'BLOCKING' : 'CHECK';
|
|
78
|
+
lines.push(`- [${marker}] ${question.question}`);
|
|
79
|
+
lines.push(` Reason: ${question.reason}`);
|
|
80
|
+
}
|
|
81
|
+
return lines.join('\n');
|
|
82
|
+
}
|
|
83
|
+
export function writeContextGovernanceTemplates(input) {
|
|
84
|
+
const projectName = input.projectName ?? 'Project';
|
|
85
|
+
const files = new Map([
|
|
86
|
+
['CONTEXT.md', contextTemplate(projectName)],
|
|
87
|
+
['docs/CONTEXT-MAP.md', contextMapTemplate(projectName)],
|
|
88
|
+
]);
|
|
89
|
+
const created = [];
|
|
90
|
+
const skipped = [];
|
|
91
|
+
for (const [relativePath, content] of files) {
|
|
92
|
+
const filePath = join(input.projectDir, relativePath);
|
|
93
|
+
if (existsSync(filePath) && !input.force) {
|
|
94
|
+
skipped.push(filePath);
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
mkdirSync(dirname(filePath), { recursive: true });
|
|
98
|
+
writeFileSync(filePath, content, 'utf-8');
|
|
99
|
+
created.push(filePath);
|
|
100
|
+
}
|
|
101
|
+
return { created, skipped };
|
|
102
|
+
}
|
|
103
|
+
function firstExisting(projectDir, candidates) {
|
|
104
|
+
return candidates.map(candidate => join(projectDir, candidate)).find(path => existsSync(path));
|
|
105
|
+
}
|
|
106
|
+
function parseContextTerms(content) {
|
|
107
|
+
const terms = [];
|
|
108
|
+
for (const line of content.split(/\r?\n/)) {
|
|
109
|
+
if (!line.trim().startsWith('|'))
|
|
110
|
+
continue;
|
|
111
|
+
if (/\|\s*Term\s*\|/i.test(line) || /^\|\s*-+/.test(line.trim()))
|
|
112
|
+
continue;
|
|
113
|
+
const parts = line.split('|').map(part => part.trim()).filter(Boolean);
|
|
114
|
+
if (parts.length >= 2 && parts[0] !== '---')
|
|
115
|
+
terms.push(parts[0]);
|
|
116
|
+
}
|
|
117
|
+
return unique(terms);
|
|
118
|
+
}
|
|
119
|
+
function parseContextMap(content) {
|
|
120
|
+
const map = new Map();
|
|
121
|
+
for (const line of content.split(/\r?\n/)) {
|
|
122
|
+
if (!line.trim().startsWith('|'))
|
|
123
|
+
continue;
|
|
124
|
+
if (/\|\s*Module\s*\|/i.test(line) || /^\|\s*-+/.test(line.trim()))
|
|
125
|
+
continue;
|
|
126
|
+
const parts = line.split('|').map(part => part.trim()).filter(Boolean);
|
|
127
|
+
if (parts.length < 4 || parts[0] === '---')
|
|
128
|
+
continue;
|
|
129
|
+
map.set(parts[0], {
|
|
130
|
+
moduleName: parts[0],
|
|
131
|
+
productDocPath: parts[2],
|
|
132
|
+
architectureDocPath: parts[3],
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
return map;
|
|
136
|
+
}
|
|
137
|
+
function resolveModuleDocs(projectDir, changedFiles, contextMap) {
|
|
138
|
+
const modules = unique(changedFiles.map(inferModuleName).filter(Boolean));
|
|
139
|
+
return modules.map(moduleName => {
|
|
140
|
+
const mapped = contextMap.get(moduleName);
|
|
141
|
+
const productDocPath = mapped?.productDocPath ?? `docs/modules/${moduleName}/product.md`;
|
|
142
|
+
const architectureDocPath = mapped?.architectureDocPath ?? `docs/modules/${moduleName}/architecture.md`;
|
|
143
|
+
return {
|
|
144
|
+
moduleName,
|
|
145
|
+
productDocPath,
|
|
146
|
+
architectureDocPath,
|
|
147
|
+
productDocExists: existsSync(join(projectDir, productDocPath)),
|
|
148
|
+
architectureDocExists: existsSync(join(projectDir, architectureDocPath)),
|
|
149
|
+
};
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
function inferModuleName(filePath) {
|
|
153
|
+
const normalized = normalize(filePath).replace(/\\/g, '/');
|
|
154
|
+
const parts = normalized.split('/').filter(Boolean);
|
|
155
|
+
const roots = new Set(['src', 'app', 'lib', 'services', 'packages', 'modules']);
|
|
156
|
+
if (parts.length >= 2 && roots.has(parts[0]))
|
|
157
|
+
return parts[1];
|
|
158
|
+
return parts[0];
|
|
159
|
+
}
|
|
160
|
+
function buildContextQuestions(request, findings, moduleDocs) {
|
|
161
|
+
const questions = [];
|
|
162
|
+
if (findings.some(finding => finding.code === 'missing-context-doc')) {
|
|
163
|
+
questions.push({
|
|
164
|
+
id: 'context-domain-language',
|
|
165
|
+
topic: 'domain-language',
|
|
166
|
+
question: 'Which domain terms, aliases, and forbidden meanings must be captured before implementation?',
|
|
167
|
+
reason: 'Without a project glossary, agents can invent inconsistent product language.',
|
|
168
|
+
blocking: true,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
if (findings.some(finding => finding.code === 'missing-context-map' || finding.code === 'missing-module-doc')) {
|
|
172
|
+
questions.push({
|
|
173
|
+
id: 'context-module-boundary',
|
|
174
|
+
topic: 'module-boundary',
|
|
175
|
+
question: `Which module owns ${moduleDocs.map(doc => doc.moduleName).join(', ') || 'this change'}, and which product/architecture docs must be updated?`,
|
|
176
|
+
reason: 'Module ownership and document links prevent stale specs and cross-module conflicts.',
|
|
177
|
+
blocking: true,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
if (/\btenant|auth|permission|security|token|quota|delete|payment|migration\b/i.test(request)) {
|
|
181
|
+
questions.push({
|
|
182
|
+
id: 'context-risk-boundary',
|
|
183
|
+
topic: 'risk-and-rollback',
|
|
184
|
+
question: 'What tenant/user isolation, authorization, rollback, and audit evidence is required?',
|
|
185
|
+
reason: 'The request touches a security or data-boundary concern.',
|
|
186
|
+
blocking: true,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
questions.push({
|
|
190
|
+
id: 'context-acceptance-evidence',
|
|
191
|
+
topic: 'acceptance-evidence',
|
|
192
|
+
question: 'Which command output, test report, screenshot, or product artifact will prove this is done?',
|
|
193
|
+
reason: 'Completion claims must be tied to durable evidence.',
|
|
194
|
+
blocking: false,
|
|
195
|
+
});
|
|
196
|
+
return questions;
|
|
197
|
+
}
|
|
198
|
+
function contextTemplate(projectName) {
|
|
199
|
+
return [
|
|
200
|
+
'# CONTEXT.md',
|
|
201
|
+
'',
|
|
202
|
+
`Project: ${projectName}`,
|
|
203
|
+
'',
|
|
204
|
+
'| Term | Definition | Examples | Aliases | Source |',
|
|
205
|
+
'|------|------------|----------|---------|--------|',
|
|
206
|
+
'| User | Person or service account using the product | login user | account | product |',
|
|
207
|
+
'',
|
|
208
|
+
'## Rejected Meanings',
|
|
209
|
+
'',
|
|
210
|
+
'- Record terms that agents must not reinterpret.',
|
|
211
|
+
'',
|
|
212
|
+
].join('\n');
|
|
213
|
+
}
|
|
214
|
+
function contextMapTemplate(projectName) {
|
|
215
|
+
return [
|
|
216
|
+
'# CONTEXT-MAP.md',
|
|
217
|
+
'',
|
|
218
|
+
`Project: ${projectName}`,
|
|
219
|
+
'',
|
|
220
|
+
'| Module | Owner | Product Doc | Architecture Doc |',
|
|
221
|
+
'| --- | --- | --- | --- |',
|
|
222
|
+
'| example | team | docs/modules/example/product.md | docs/modules/example/architecture.md |',
|
|
223
|
+
'',
|
|
224
|
+
'## Cross-Module Rules',
|
|
225
|
+
'',
|
|
226
|
+
'- Record ownership, upstream/downstream dependencies, and document update triggers here.',
|
|
227
|
+
'',
|
|
228
|
+
].join('\n');
|
|
229
|
+
}
|
|
230
|
+
function unique(items) {
|
|
231
|
+
return [...new Set(items)];
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=ContextGovernance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextGovernance.js","sourceRoot":"","sources":["../../src/workflow/ContextGovernance.ts"],"names":[],"mappings":"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"}
|