@hongmaple0820/scale-engine 0.14.0 → 0.15.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/adapters/AiderAdapter.js +52 -52
- package/dist/adapters/ClaudeCodeAdapter.js +5 -5
- package/dist/adapters/DeepSeekTuiAdapter.js +5 -5
- package/dist/adapters/DoubaoAdapter.js +33 -33
- package/dist/adapters/KimiAdapter.js +32 -32
- package/dist/adapters/KiroAdapter.js +26 -26
- package/dist/adapters/WindsurfAdapter.js +32 -32
- package/dist/api/cli.js +58 -1
- package/dist/api/cli.js.map +1 -1
- package/dist/skills/routing/SkillPlanner.js +40 -40
- package/dist/workflow/GovernanceTemplatePacks.d.ts +1 -1
- package/dist/workflow/GovernanceTemplatePacks.js +56 -11
- package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
- package/dist/workflow/GovernanceTemplates.js +494 -494
- package/dist/workflow/TaskArtifactScaffolder.js +10 -10
- package/dist/workflow/WorkspaceLifecycle.d.ts +2 -0
- package/dist/workflow/WorkspaceLifecycle.js +34 -8
- package/dist/workflow/WorkspaceLifecycle.js.map +1 -1
- package/dist/workflow/WorkspaceTopology.d.ts +49 -0
- package/dist/workflow/WorkspaceTopology.js +125 -0
- package/dist/workflow/WorkspaceTopology.js.map +1 -0
- package/dist/workflow/index.d.ts +1 -0
- package/dist/workflow/index.js +1 -0
- package/dist/workflow/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -101,511 +101,511 @@ function shouldUseGeneratedHeader(file) {
|
|
|
101
101
|
return file.kind === 'doc' || file.kind === 'template' || file.kind === 'script';
|
|
102
102
|
}
|
|
103
103
|
function generatedHeader(packId, packVersion) {
|
|
104
|
-
return `# Generated by scale-engine governance pack: ${packId}@${packVersion}
|
|
105
|
-
# Edit policy: prefer editing the pack in scale-engine; local overrides should be documented.
|
|
106
|
-
|
|
104
|
+
return `# Generated by scale-engine governance pack: ${packId}@${packVersion}
|
|
105
|
+
# Edit policy: prefer editing the pack in scale-engine; local overrides should be documented.
|
|
106
|
+
|
|
107
107
|
`;
|
|
108
108
|
}
|
|
109
109
|
function workflowReadme(projectName, mode, packId = 'standard') {
|
|
110
|
-
return `# ${projectName} Workflow
|
|
111
|
-
|
|
112
|
-
Governance mode: ${mode}
|
|
113
|
-
Governance pack: ${packId}
|
|
114
|
-
|
|
115
|
-
## Task Levels
|
|
116
|
-
|
|
117
|
-
| Level | Use for | Required artifacts |
|
|
118
|
-
| --- | --- | --- |
|
|
119
|
-
| S | typo, comments, small local edits | relevant validation only |
|
|
120
|
-
| M | bug fixes, new APIs, 2-5 files | explore, skill plan, plan, verification, review, summary |
|
|
121
|
-
| L | cross-module or architecture changes | full artifacts plus human confirmation |
|
|
122
|
-
| CRITICAL | auth, permissions, migrations, production config | rollback plan, security review, full verification |
|
|
123
|
-
|
|
124
|
-
## Standard Task Directory
|
|
125
|
-
|
|
126
|
-
\`\`\`text
|
|
127
|
-
docs/worklog/tasks/<yyyy-mm-dd>-<task-slug>/
|
|
128
|
-
├── explore.md
|
|
129
|
-
├── mini-prd.md
|
|
130
|
-
├── plan.md
|
|
131
|
-
├── verification.md
|
|
132
|
-
├── review.md
|
|
133
|
-
└── summary.md
|
|
134
|
-
\`\`\`
|
|
135
|
-
|
|
136
|
-
## Verification
|
|
137
|
-
|
|
138
|
-
Use service-aware verification when configured:
|
|
139
|
-
|
|
140
|
-
\`\`\`bash
|
|
141
|
-
scale preflight --service all
|
|
142
|
-
scale preflight --service all --preflight-profile full
|
|
143
|
-
scale verify <task-id> --profile default
|
|
144
|
-
scale verify <task-id> --service <service-name>
|
|
145
|
-
scale verify <task-id> --artifact-gate warn
|
|
146
|
-
scale verify <task-id> --artifact-gate block
|
|
147
|
-
scale verify <task-id> --require-installed-skills
|
|
148
|
-
scale task-artifacts check --dir docs/worklog/tasks/<task-dir> --level L
|
|
149
|
-
\`\`\`
|
|
150
|
-
|
|
151
|
-
Keep \`.scale/verification.json\` as the source of truth for profiles and service commands.
|
|
152
|
-
Keep \`.scale/skills.json\` as the source of truth for active skill routing policy.
|
|
153
|
-
Use \`artifactGate: "warn"\` while introducing the workflow, then move M/L/CRITICAL work to \`"block"\` once templates and local gates are stable.
|
|
154
|
-
|
|
155
|
-
## Active Skill Routing
|
|
156
|
-
|
|
157
|
-
SCALE plans required skills from task description, service selection, and changed files. UI/API work requires a Mini-PRD plus domain evidence such as \`ui-spec.md\`, \`visual-review.md\`, or \`api-contract.md\`. Security and database work require explicit review or rollback artifacts.
|
|
158
|
-
|
|
159
|
-
When a task records \`servicesTouched\`, \`scale verify <task-id>\` uses those services automatically. You can still override selection with \`--service all\`, \`--service api\`, or \`--service api,gateway\`.
|
|
160
|
-
|
|
161
|
-
Before M/L work, check whether required workflow skills are physically installed:
|
|
162
|
-
|
|
163
|
-
\`\`\`bash
|
|
164
|
-
scale skill doctor --json
|
|
165
|
-
scale skill check --require-installed --json
|
|
166
|
-
\`\`\`
|
|
167
|
-
|
|
168
|
-
## Workspace Lifecycle
|
|
169
|
-
|
|
170
|
-
Before finishing an agent-created branch or deleting a temporary worktree, inspect root and child repository state:
|
|
171
|
-
|
|
172
|
-
\`\`\`bash
|
|
173
|
-
scale workspace status --json
|
|
174
|
-
scale workspace finish --json
|
|
175
|
-
scale workspace cleanup --dir <temporary-worktree> --dry-run --json
|
|
176
|
-
scale workspace cleanup --dir <temporary-worktree> --apply --confirm <branch-or-head> --json
|
|
177
|
-
\`\`\`
|
|
178
|
-
|
|
179
|
-
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.
|
|
180
|
-
|
|
181
|
-
## Automation Templates
|
|
182
|
-
|
|
183
|
-
Optional automation templates are generated under \`docs/workflow/templates/\`:
|
|
184
|
-
|
|
185
|
-
- \`github-actions-scale-preflight.yml\`: CI workflow that runs \`scale preflight --service all --preflight-profile ci\`.
|
|
186
|
-
- \`pre-push-scale-preflight.sh\`: local pre-push hook template that runs the default quick preflight.
|
|
187
|
-
|
|
188
|
-
Keep these templates advisory until \`scale preflight --service all --preflight-profile full\` is reliable locally for the project.
|
|
110
|
+
return `# ${projectName} Workflow
|
|
111
|
+
|
|
112
|
+
Governance mode: ${mode}
|
|
113
|
+
Governance pack: ${packId}
|
|
114
|
+
|
|
115
|
+
## Task Levels
|
|
116
|
+
|
|
117
|
+
| Level | Use for | Required artifacts |
|
|
118
|
+
| --- | --- | --- |
|
|
119
|
+
| S | typo, comments, small local edits | relevant validation only |
|
|
120
|
+
| M | bug fixes, new APIs, 2-5 files | explore, skill plan, plan, verification, review, summary |
|
|
121
|
+
| L | cross-module or architecture changes | full artifacts plus human confirmation |
|
|
122
|
+
| CRITICAL | auth, permissions, migrations, production config | rollback plan, security review, full verification |
|
|
123
|
+
|
|
124
|
+
## Standard Task Directory
|
|
125
|
+
|
|
126
|
+
\`\`\`text
|
|
127
|
+
docs/worklog/tasks/<yyyy-mm-dd>-<task-slug>/
|
|
128
|
+
├── explore.md
|
|
129
|
+
├── mini-prd.md
|
|
130
|
+
├── plan.md
|
|
131
|
+
├── verification.md
|
|
132
|
+
├── review.md
|
|
133
|
+
└── summary.md
|
|
134
|
+
\`\`\`
|
|
135
|
+
|
|
136
|
+
## Verification
|
|
137
|
+
|
|
138
|
+
Use service-aware verification when configured:
|
|
139
|
+
|
|
140
|
+
\`\`\`bash
|
|
141
|
+
scale preflight --service all
|
|
142
|
+
scale preflight --service all --preflight-profile full
|
|
143
|
+
scale verify <task-id> --profile default
|
|
144
|
+
scale verify <task-id> --service <service-name>
|
|
145
|
+
scale verify <task-id> --artifact-gate warn
|
|
146
|
+
scale verify <task-id> --artifact-gate block
|
|
147
|
+
scale verify <task-id> --require-installed-skills
|
|
148
|
+
scale task-artifacts check --dir docs/worklog/tasks/<task-dir> --level L
|
|
149
|
+
\`\`\`
|
|
150
|
+
|
|
151
|
+
Keep \`.scale/verification.json\` as the source of truth for profiles and service commands.
|
|
152
|
+
Keep \`.scale/skills.json\` as the source of truth for active skill routing policy.
|
|
153
|
+
Use \`artifactGate: "warn"\` while introducing the workflow, then move M/L/CRITICAL work to \`"block"\` once templates and local gates are stable.
|
|
154
|
+
|
|
155
|
+
## Active Skill Routing
|
|
156
|
+
|
|
157
|
+
SCALE plans required skills from task description, service selection, and changed files. UI/API work requires a Mini-PRD plus domain evidence such as \`ui-spec.md\`, \`visual-review.md\`, or \`api-contract.md\`. Security and database work require explicit review or rollback artifacts.
|
|
158
|
+
|
|
159
|
+
When a task records \`servicesTouched\`, \`scale verify <task-id>\` uses those services automatically. You can still override selection with \`--service all\`, \`--service api\`, or \`--service api,gateway\`.
|
|
160
|
+
|
|
161
|
+
Before M/L work, check whether required workflow skills are physically installed:
|
|
162
|
+
|
|
163
|
+
\`\`\`bash
|
|
164
|
+
scale skill doctor --json
|
|
165
|
+
scale skill check --require-installed --json
|
|
166
|
+
\`\`\`
|
|
167
|
+
|
|
168
|
+
## Workspace Lifecycle
|
|
169
|
+
|
|
170
|
+
Before finishing an agent-created branch or deleting a temporary worktree, inspect root and child repository state:
|
|
171
|
+
|
|
172
|
+
\`\`\`bash
|
|
173
|
+
scale workspace status --json
|
|
174
|
+
scale workspace finish --json
|
|
175
|
+
scale workspace cleanup --dir <temporary-worktree> --dry-run --json
|
|
176
|
+
scale workspace cleanup --dir <temporary-worktree> --apply --confirm <branch-or-head> --json
|
|
177
|
+
\`\`\`
|
|
178
|
+
|
|
179
|
+
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.
|
|
180
|
+
|
|
181
|
+
## Automation Templates
|
|
182
|
+
|
|
183
|
+
Optional automation templates are generated under \`docs/workflow/templates/\`:
|
|
184
|
+
|
|
185
|
+
- \`github-actions-scale-preflight.yml\`: CI workflow that runs \`scale preflight --service all --preflight-profile ci\`.
|
|
186
|
+
- \`pre-push-scale-preflight.sh\`: local pre-push hook template that runs the default quick preflight.
|
|
187
|
+
|
|
188
|
+
Keep these templates advisory until \`scale preflight --service all --preflight-profile full\` is reliable locally for the project.
|
|
189
189
|
`;
|
|
190
190
|
}
|
|
191
191
|
function exploreTemplate() {
|
|
192
|
-
return `# Explore
|
|
193
|
-
|
|
194
|
-
## Files Read
|
|
195
|
-
|
|
196
|
-
- TBD
|
|
197
|
-
|
|
198
|
-
## Current Behavior
|
|
199
|
-
|
|
200
|
-
TBD
|
|
201
|
-
|
|
202
|
-
## Main Conflict
|
|
203
|
-
|
|
204
|
-
TBD
|
|
205
|
-
|
|
206
|
-
## Affected Modules
|
|
207
|
-
|
|
208
|
-
TBD
|
|
209
|
-
|
|
210
|
-
## Evidence
|
|
211
|
-
TBD
|
|
192
|
+
return `# Explore
|
|
193
|
+
|
|
194
|
+
## Files Read
|
|
195
|
+
|
|
196
|
+
- TBD
|
|
197
|
+
|
|
198
|
+
## Current Behavior
|
|
199
|
+
|
|
200
|
+
TBD
|
|
201
|
+
|
|
202
|
+
## Main Conflict
|
|
203
|
+
|
|
204
|
+
TBD
|
|
205
|
+
|
|
206
|
+
## Affected Modules
|
|
207
|
+
|
|
208
|
+
TBD
|
|
209
|
+
|
|
210
|
+
## Evidence
|
|
211
|
+
TBD
|
|
212
212
|
`;
|
|
213
213
|
}
|
|
214
214
|
function miniPrdTemplate() {
|
|
215
|
-
return `# Mini-PRD
|
|
216
|
-
|
|
217
|
-
## Background
|
|
218
|
-
|
|
219
|
-
TBD
|
|
220
|
-
|
|
221
|
-
## Target Users
|
|
222
|
-
|
|
223
|
-
TBD
|
|
224
|
-
|
|
225
|
-
## Core Scenario
|
|
226
|
-
|
|
227
|
-
TBD
|
|
228
|
-
|
|
229
|
-
## Non-Goals
|
|
230
|
-
|
|
231
|
-
TBD
|
|
232
|
-
|
|
233
|
-
## User Path
|
|
234
|
-
|
|
235
|
-
TBD
|
|
236
|
-
|
|
237
|
-
## Permission Rules
|
|
238
|
-
|
|
239
|
-
TBD
|
|
240
|
-
|
|
241
|
-
## Data Impact
|
|
242
|
-
|
|
243
|
-
TBD
|
|
244
|
-
|
|
245
|
-
## Exception Scenarios
|
|
246
|
-
|
|
247
|
-
1. TBD
|
|
248
|
-
2. TBD
|
|
249
|
-
3. TBD
|
|
250
|
-
|
|
251
|
-
## Acceptance Criteria
|
|
252
|
-
|
|
253
|
-
- [ ] TBD
|
|
254
|
-
|
|
255
|
-
## Rollback Or Disable Strategy
|
|
256
|
-
TBD
|
|
215
|
+
return `# Mini-PRD
|
|
216
|
+
|
|
217
|
+
## Background
|
|
218
|
+
|
|
219
|
+
TBD
|
|
220
|
+
|
|
221
|
+
## Target Users
|
|
222
|
+
|
|
223
|
+
TBD
|
|
224
|
+
|
|
225
|
+
## Core Scenario
|
|
226
|
+
|
|
227
|
+
TBD
|
|
228
|
+
|
|
229
|
+
## Non-Goals
|
|
230
|
+
|
|
231
|
+
TBD
|
|
232
|
+
|
|
233
|
+
## User Path
|
|
234
|
+
|
|
235
|
+
TBD
|
|
236
|
+
|
|
237
|
+
## Permission Rules
|
|
238
|
+
|
|
239
|
+
TBD
|
|
240
|
+
|
|
241
|
+
## Data Impact
|
|
242
|
+
|
|
243
|
+
TBD
|
|
244
|
+
|
|
245
|
+
## Exception Scenarios
|
|
246
|
+
|
|
247
|
+
1. TBD
|
|
248
|
+
2. TBD
|
|
249
|
+
3. TBD
|
|
250
|
+
|
|
251
|
+
## Acceptance Criteria
|
|
252
|
+
|
|
253
|
+
- [ ] TBD
|
|
254
|
+
|
|
255
|
+
## Rollback Or Disable Strategy
|
|
256
|
+
TBD
|
|
257
257
|
`;
|
|
258
258
|
}
|
|
259
259
|
function skillPlanTemplate() {
|
|
260
|
-
return `# Skill Plan
|
|
261
|
-
|
|
262
|
-
## Detected Intents
|
|
263
|
-
|
|
264
|
-
| Domain | Score | Evidence |
|
|
265
|
-
| --- | ---: | --- |
|
|
266
|
-
| | | |
|
|
267
|
-
|
|
268
|
-
## Required Skills
|
|
269
|
-
|
|
270
|
-
- TBD
|
|
271
|
-
|
|
272
|
-
## Recommended Skills
|
|
273
|
-
|
|
274
|
-
- TBD
|
|
275
|
-
|
|
276
|
-
## Required Artifacts
|
|
277
|
-
|
|
278
|
-
- TBD
|
|
279
|
-
|
|
280
|
-
## Required Verification Evidence
|
|
281
|
-
|
|
282
|
-
- TBD
|
|
283
|
-
|
|
284
|
-
## Skipped Skills
|
|
285
|
-
|
|
286
|
-
| Skill | Reason | Fallback Evidence |
|
|
287
|
-
| --- | --- | --- |
|
|
288
|
-
| | | |
|
|
260
|
+
return `# Skill Plan
|
|
261
|
+
|
|
262
|
+
## Detected Intents
|
|
263
|
+
|
|
264
|
+
| Domain | Score | Evidence |
|
|
265
|
+
| --- | ---: | --- |
|
|
266
|
+
| | | |
|
|
267
|
+
|
|
268
|
+
## Required Skills
|
|
269
|
+
|
|
270
|
+
- TBD
|
|
271
|
+
|
|
272
|
+
## Recommended Skills
|
|
273
|
+
|
|
274
|
+
- TBD
|
|
275
|
+
|
|
276
|
+
## Required Artifacts
|
|
277
|
+
|
|
278
|
+
- TBD
|
|
279
|
+
|
|
280
|
+
## Required Verification Evidence
|
|
281
|
+
|
|
282
|
+
- TBD
|
|
283
|
+
|
|
284
|
+
## Skipped Skills
|
|
285
|
+
|
|
286
|
+
| Skill | Reason | Fallback Evidence |
|
|
287
|
+
| --- | --- | --- |
|
|
288
|
+
| | | |
|
|
289
289
|
`;
|
|
290
290
|
}
|
|
291
291
|
function skillEvidenceTemplate() {
|
|
292
|
-
return `# Skill Evidence
|
|
293
|
-
|
|
294
|
-
## Planned Skills
|
|
295
|
-
|
|
296
|
-
- TBD
|
|
297
|
-
|
|
298
|
-
## Used Skills
|
|
299
|
-
|
|
300
|
-
| Skill | Phase | Trigger | Evidence | Status |
|
|
301
|
-
| --- | --- | --- | --- | --- |
|
|
302
|
-
| skill-id | plan/build/verify/review | why it was selected | command, screenshot, report, or artifact path | executed/skipped/fallback |
|
|
303
|
-
|
|
304
|
-
## Skipped Skills
|
|
305
|
-
|
|
306
|
-
| Skill | Reason | Fallback Evidence |
|
|
307
|
-
| --- | --- | --- |
|
|
308
|
-
| skill-id | why it could not run | manual review, alternate command, or explicit risk |
|
|
292
|
+
return `# Skill Evidence
|
|
293
|
+
|
|
294
|
+
## Planned Skills
|
|
295
|
+
|
|
296
|
+
- TBD
|
|
297
|
+
|
|
298
|
+
## Used Skills
|
|
299
|
+
|
|
300
|
+
| Skill | Phase | Trigger | Evidence | Status |
|
|
301
|
+
| --- | --- | --- | --- | --- |
|
|
302
|
+
| skill-id | plan/build/verify/review | why it was selected | command, screenshot, report, or artifact path | executed/skipped/fallback |
|
|
303
|
+
|
|
304
|
+
## Skipped Skills
|
|
305
|
+
|
|
306
|
+
| Skill | Reason | Fallback Evidence |
|
|
307
|
+
| --- | --- | --- |
|
|
308
|
+
| skill-id | why it could not run | manual review, alternate command, or explicit risk |
|
|
309
309
|
`;
|
|
310
310
|
}
|
|
311
311
|
function uiSpecTemplate() {
|
|
312
|
-
return `# UI Spec
|
|
313
|
-
|
|
314
|
-
## User Goal
|
|
315
|
-
|
|
316
|
-
TBD
|
|
317
|
-
|
|
318
|
-
## Primary Flow
|
|
319
|
-
|
|
320
|
-
TBD
|
|
321
|
-
|
|
322
|
-
## Interaction States
|
|
323
|
-
|
|
324
|
-
- Default:
|
|
325
|
-
- Loading:
|
|
326
|
-
- Empty:
|
|
327
|
-
- Error:
|
|
328
|
-
- Success:
|
|
329
|
-
|
|
330
|
-
## Responsive Behavior
|
|
331
|
-
|
|
332
|
-
TBD
|
|
333
|
-
|
|
334
|
-
## Accessibility Requirements
|
|
335
|
-
|
|
336
|
-
TBD
|
|
337
|
-
|
|
338
|
-
## Acceptance Criteria
|
|
339
|
-
|
|
340
|
-
- [ ] TBD
|
|
312
|
+
return `# UI Spec
|
|
313
|
+
|
|
314
|
+
## User Goal
|
|
315
|
+
|
|
316
|
+
TBD
|
|
317
|
+
|
|
318
|
+
## Primary Flow
|
|
319
|
+
|
|
320
|
+
TBD
|
|
321
|
+
|
|
322
|
+
## Interaction States
|
|
323
|
+
|
|
324
|
+
- Default:
|
|
325
|
+
- Loading:
|
|
326
|
+
- Empty:
|
|
327
|
+
- Error:
|
|
328
|
+
- Success:
|
|
329
|
+
|
|
330
|
+
## Responsive Behavior
|
|
331
|
+
|
|
332
|
+
TBD
|
|
333
|
+
|
|
334
|
+
## Accessibility Requirements
|
|
335
|
+
|
|
336
|
+
TBD
|
|
337
|
+
|
|
338
|
+
## Acceptance Criteria
|
|
339
|
+
|
|
340
|
+
- [ ] TBD
|
|
341
341
|
`;
|
|
342
342
|
}
|
|
343
343
|
function visualReviewTemplate() {
|
|
344
|
-
return `# Visual Review
|
|
345
|
-
|
|
346
|
-
## Screenshots Or Evidence
|
|
347
|
-
|
|
348
|
-
TBD
|
|
349
|
-
|
|
350
|
-
## Layout And Responsiveness
|
|
351
|
-
|
|
352
|
-
TBD
|
|
353
|
-
|
|
354
|
-
## Text Fit And Overlap
|
|
355
|
-
|
|
356
|
-
TBD
|
|
357
|
-
|
|
358
|
-
## Accessibility Notes
|
|
359
|
-
|
|
360
|
-
TBD
|
|
361
|
-
|
|
362
|
-
## Final Verdict
|
|
363
|
-
TBD
|
|
344
|
+
return `# Visual Review
|
|
345
|
+
|
|
346
|
+
## Screenshots Or Evidence
|
|
347
|
+
|
|
348
|
+
TBD
|
|
349
|
+
|
|
350
|
+
## Layout And Responsiveness
|
|
351
|
+
|
|
352
|
+
TBD
|
|
353
|
+
|
|
354
|
+
## Text Fit And Overlap
|
|
355
|
+
|
|
356
|
+
TBD
|
|
357
|
+
|
|
358
|
+
## Accessibility Notes
|
|
359
|
+
|
|
360
|
+
TBD
|
|
361
|
+
|
|
362
|
+
## Final Verdict
|
|
363
|
+
TBD
|
|
364
364
|
`;
|
|
365
365
|
}
|
|
366
366
|
function apiContractTemplate() {
|
|
367
|
-
return `# API Contract
|
|
368
|
-
|
|
369
|
-
## Endpoint Or Interface
|
|
370
|
-
|
|
371
|
-
TBD
|
|
372
|
-
|
|
373
|
-
## Request
|
|
374
|
-
|
|
375
|
-
TBD
|
|
376
|
-
|
|
377
|
-
## Response
|
|
378
|
-
|
|
379
|
-
TBD
|
|
380
|
-
|
|
381
|
-
## Errors
|
|
382
|
-
|
|
383
|
-
TBD
|
|
384
|
-
|
|
385
|
-
## Permission Rules
|
|
386
|
-
|
|
387
|
-
TBD
|
|
388
|
-
|
|
389
|
-
## Compatibility Notes
|
|
390
|
-
|
|
391
|
-
TBD
|
|
392
|
-
|
|
393
|
-
## Acceptance Criteria
|
|
394
|
-
|
|
395
|
-
- [ ] TBD
|
|
367
|
+
return `# API Contract
|
|
368
|
+
|
|
369
|
+
## Endpoint Or Interface
|
|
370
|
+
|
|
371
|
+
TBD
|
|
372
|
+
|
|
373
|
+
## Request
|
|
374
|
+
|
|
375
|
+
TBD
|
|
376
|
+
|
|
377
|
+
## Response
|
|
378
|
+
|
|
379
|
+
TBD
|
|
380
|
+
|
|
381
|
+
## Errors
|
|
382
|
+
|
|
383
|
+
TBD
|
|
384
|
+
|
|
385
|
+
## Permission Rules
|
|
386
|
+
|
|
387
|
+
TBD
|
|
388
|
+
|
|
389
|
+
## Compatibility Notes
|
|
390
|
+
|
|
391
|
+
TBD
|
|
392
|
+
|
|
393
|
+
## Acceptance Criteria
|
|
394
|
+
|
|
395
|
+
- [ ] TBD
|
|
396
396
|
`;
|
|
397
397
|
}
|
|
398
398
|
function docsImpactTemplate() {
|
|
399
|
-
return `# Docs Impact
|
|
400
|
-
|
|
401
|
-
## Code Changes Requiring Docs
|
|
402
|
-
|
|
403
|
-
- TBD
|
|
404
|
-
|
|
405
|
-
## Documentation Updated
|
|
406
|
-
|
|
407
|
-
- TBD
|
|
408
|
-
|
|
409
|
-
## No-Docs-Needed Rationale
|
|
410
|
-
|
|
411
|
-
TBD
|
|
412
|
-
|
|
413
|
-
## Links Checked
|
|
414
|
-
|
|
415
|
-
- TBD
|
|
399
|
+
return `# Docs Impact
|
|
400
|
+
|
|
401
|
+
## Code Changes Requiring Docs
|
|
402
|
+
|
|
403
|
+
- TBD
|
|
404
|
+
|
|
405
|
+
## Documentation Updated
|
|
406
|
+
|
|
407
|
+
- TBD
|
|
408
|
+
|
|
409
|
+
## No-Docs-Needed Rationale
|
|
410
|
+
|
|
411
|
+
TBD
|
|
412
|
+
|
|
413
|
+
## Links Checked
|
|
414
|
+
|
|
415
|
+
- TBD
|
|
416
416
|
`;
|
|
417
417
|
}
|
|
418
418
|
function securityReviewTemplate() {
|
|
419
|
-
return `# Security Review
|
|
420
|
-
|
|
421
|
-
## Assets And Trust Boundaries
|
|
422
|
-
|
|
423
|
-
TBD
|
|
424
|
-
|
|
425
|
-
## Authorization Rules
|
|
426
|
-
|
|
427
|
-
TBD
|
|
428
|
-
|
|
429
|
-
## Abuse Cases
|
|
430
|
-
|
|
431
|
-
1. TBD
|
|
432
|
-
2. TBD
|
|
433
|
-
3. TBD
|
|
434
|
-
|
|
435
|
-
## Sensitive Data Impact
|
|
436
|
-
|
|
437
|
-
TBD
|
|
438
|
-
|
|
439
|
-
## Rollback Or Disable Strategy
|
|
440
|
-
|
|
441
|
-
TBD
|
|
442
|
-
|
|
443
|
-
## Final Verdict
|
|
444
|
-
TBD
|
|
419
|
+
return `# Security Review
|
|
420
|
+
|
|
421
|
+
## Assets And Trust Boundaries
|
|
422
|
+
|
|
423
|
+
TBD
|
|
424
|
+
|
|
425
|
+
## Authorization Rules
|
|
426
|
+
|
|
427
|
+
TBD
|
|
428
|
+
|
|
429
|
+
## Abuse Cases
|
|
430
|
+
|
|
431
|
+
1. TBD
|
|
432
|
+
2. TBD
|
|
433
|
+
3. TBD
|
|
434
|
+
|
|
435
|
+
## Sensitive Data Impact
|
|
436
|
+
|
|
437
|
+
TBD
|
|
438
|
+
|
|
439
|
+
## Rollback Or Disable Strategy
|
|
440
|
+
|
|
441
|
+
TBD
|
|
442
|
+
|
|
443
|
+
## Final Verdict
|
|
444
|
+
TBD
|
|
445
445
|
`;
|
|
446
446
|
}
|
|
447
447
|
function dbChangePlanTemplate() {
|
|
448
|
-
return `# DB Change Plan
|
|
449
|
-
|
|
450
|
-
## Schema Or Data Change
|
|
451
|
-
|
|
452
|
-
TBD
|
|
453
|
-
|
|
454
|
-
## Backward Compatibility
|
|
455
|
-
|
|
456
|
-
TBD
|
|
457
|
-
|
|
458
|
-
## Migration Steps
|
|
459
|
-
|
|
460
|
-
TBD
|
|
461
|
-
|
|
462
|
-
## Rollback Plan
|
|
463
|
-
|
|
464
|
-
TBD
|
|
465
|
-
|
|
466
|
-
## Verification
|
|
467
|
-
TBD
|
|
448
|
+
return `# DB Change Plan
|
|
449
|
+
|
|
450
|
+
## Schema Or Data Change
|
|
451
|
+
|
|
452
|
+
TBD
|
|
453
|
+
|
|
454
|
+
## Backward Compatibility
|
|
455
|
+
|
|
456
|
+
TBD
|
|
457
|
+
|
|
458
|
+
## Migration Steps
|
|
459
|
+
|
|
460
|
+
TBD
|
|
461
|
+
|
|
462
|
+
## Rollback Plan
|
|
463
|
+
|
|
464
|
+
TBD
|
|
465
|
+
|
|
466
|
+
## Verification
|
|
467
|
+
TBD
|
|
468
468
|
`;
|
|
469
469
|
}
|
|
470
470
|
function e2ePlanTemplate() {
|
|
471
|
-
return `# E2E Plan
|
|
472
|
-
|
|
473
|
-
## User Paths
|
|
474
|
-
|
|
475
|
-
TBD
|
|
476
|
-
|
|
477
|
-
## Browser Coverage
|
|
478
|
-
|
|
479
|
-
TBD
|
|
480
|
-
|
|
481
|
-
## Test Data
|
|
482
|
-
|
|
483
|
-
TBD
|
|
484
|
-
|
|
485
|
-
## Assertions
|
|
486
|
-
|
|
487
|
-
TBD
|
|
488
|
-
|
|
489
|
-
## Evidence
|
|
490
|
-
TBD
|
|
471
|
+
return `# E2E Plan
|
|
472
|
+
|
|
473
|
+
## User Paths
|
|
474
|
+
|
|
475
|
+
TBD
|
|
476
|
+
|
|
477
|
+
## Browser Coverage
|
|
478
|
+
|
|
479
|
+
TBD
|
|
480
|
+
|
|
481
|
+
## Test Data
|
|
482
|
+
|
|
483
|
+
TBD
|
|
484
|
+
|
|
485
|
+
## Assertions
|
|
486
|
+
|
|
487
|
+
TBD
|
|
488
|
+
|
|
489
|
+
## Evidence
|
|
490
|
+
TBD
|
|
491
491
|
`;
|
|
492
492
|
}
|
|
493
493
|
function planTemplate() {
|
|
494
|
-
return `# Plan
|
|
495
|
-
|
|
496
|
-
## Approach
|
|
497
|
-
|
|
498
|
-
TBD
|
|
499
|
-
|
|
500
|
-
## Boundaries
|
|
501
|
-
|
|
502
|
-
TBD
|
|
503
|
-
|
|
504
|
-
## Exception Contract
|
|
505
|
-
|
|
506
|
-
1. TBD
|
|
507
|
-
2. TBD
|
|
508
|
-
3. TBD
|
|
509
|
-
|
|
510
|
-
## Rollback Plan
|
|
511
|
-
|
|
512
|
-
TBD
|
|
513
|
-
|
|
514
|
-
## Test Strategy
|
|
515
|
-
TBD
|
|
494
|
+
return `# Plan
|
|
495
|
+
|
|
496
|
+
## Approach
|
|
497
|
+
|
|
498
|
+
TBD
|
|
499
|
+
|
|
500
|
+
## Boundaries
|
|
501
|
+
|
|
502
|
+
TBD
|
|
503
|
+
|
|
504
|
+
## Exception Contract
|
|
505
|
+
|
|
506
|
+
1. TBD
|
|
507
|
+
2. TBD
|
|
508
|
+
3. TBD
|
|
509
|
+
|
|
510
|
+
## Rollback Plan
|
|
511
|
+
|
|
512
|
+
TBD
|
|
513
|
+
|
|
514
|
+
## Test Strategy
|
|
515
|
+
TBD
|
|
516
516
|
`;
|
|
517
517
|
}
|
|
518
518
|
function verificationTemplate() {
|
|
519
|
-
return `# Verification
|
|
520
|
-
|
|
521
|
-
## Commands Run
|
|
522
|
-
|
|
523
|
-
| Command | Result | Notes |
|
|
524
|
-
| --- | --- | --- |
|
|
525
|
-
| | | |
|
|
526
|
-
|
|
527
|
-
## Output Summary
|
|
528
|
-
|
|
529
|
-
TBD
|
|
530
|
-
|
|
531
|
-
## Failures And Fixes
|
|
532
|
-
|
|
533
|
-
TBD
|
|
534
|
-
|
|
535
|
-
## Final Status
|
|
536
|
-
TBD
|
|
519
|
+
return `# Verification
|
|
520
|
+
|
|
521
|
+
## Commands Run
|
|
522
|
+
|
|
523
|
+
| Command | Result | Notes |
|
|
524
|
+
| --- | --- | --- |
|
|
525
|
+
| | | |
|
|
526
|
+
|
|
527
|
+
## Output Summary
|
|
528
|
+
|
|
529
|
+
TBD
|
|
530
|
+
|
|
531
|
+
## Failures And Fixes
|
|
532
|
+
|
|
533
|
+
TBD
|
|
534
|
+
|
|
535
|
+
## Final Status
|
|
536
|
+
TBD
|
|
537
537
|
`;
|
|
538
538
|
}
|
|
539
539
|
function reviewTemplate() {
|
|
540
|
-
return `# Review
|
|
541
|
-
|
|
542
|
-
## Code Review
|
|
543
|
-
|
|
544
|
-
TBD
|
|
545
|
-
|
|
546
|
-
## Security Review
|
|
547
|
-
|
|
548
|
-
TBD
|
|
549
|
-
|
|
550
|
-
## Same-Pattern Scan
|
|
551
|
-
|
|
552
|
-
TBD
|
|
553
|
-
|
|
554
|
-
## Residual Risks
|
|
555
|
-
TBD
|
|
540
|
+
return `# Review
|
|
541
|
+
|
|
542
|
+
## Code Review
|
|
543
|
+
|
|
544
|
+
TBD
|
|
545
|
+
|
|
546
|
+
## Security Review
|
|
547
|
+
|
|
548
|
+
TBD
|
|
549
|
+
|
|
550
|
+
## Same-Pattern Scan
|
|
551
|
+
|
|
552
|
+
TBD
|
|
553
|
+
|
|
554
|
+
## Residual Risks
|
|
555
|
+
TBD
|
|
556
556
|
`;
|
|
557
557
|
}
|
|
558
558
|
function summaryTemplate() {
|
|
559
|
-
return `# Summary
|
|
560
|
-
|
|
561
|
-
## Delivered Changes
|
|
562
|
-
|
|
563
|
-
TBD
|
|
564
|
-
|
|
565
|
-
## Remaining Risks
|
|
566
|
-
|
|
567
|
-
TBD
|
|
568
|
-
|
|
569
|
-
## Follow-Ups
|
|
570
|
-
|
|
571
|
-
TBD
|
|
572
|
-
|
|
573
|
-
## Metric Row
|
|
574
|
-
|
|
575
|
-
| Date | Task | Level | Services | Files Changed | First Verification Pass | Fix Iterations | Artifact Complete | Residual Risk | Final Gate |
|
|
576
|
-
| --- | --- | --- | --- | ---: | --- | ---: | --- | --- | --- |
|
|
577
|
-
| | | | | | | | | | |
|
|
559
|
+
return `# Summary
|
|
560
|
+
|
|
561
|
+
## Delivered Changes
|
|
562
|
+
|
|
563
|
+
TBD
|
|
564
|
+
|
|
565
|
+
## Remaining Risks
|
|
566
|
+
|
|
567
|
+
TBD
|
|
568
|
+
|
|
569
|
+
## Follow-Ups
|
|
570
|
+
|
|
571
|
+
TBD
|
|
572
|
+
|
|
573
|
+
## Metric Row
|
|
574
|
+
|
|
575
|
+
| Date | Task | Level | Services | Files Changed | First Verification Pass | Fix Iterations | Artifact Complete | Residual Risk | Final Gate |
|
|
576
|
+
| --- | --- | --- | --- | ---: | --- | ---: | --- | --- | --- |
|
|
577
|
+
| | | | | | | | | | |
|
|
578
578
|
`;
|
|
579
579
|
}
|
|
580
580
|
function metricsTemplate() {
|
|
581
|
-
return `# Workflow Metrics
|
|
582
|
-
|
|
583
|
-
<!-- SCALE_METRICS:START -->
|
|
584
|
-
| Date | Task | Level | Services | Files Changed | First Verification Pass | Fix Iterations | Rework Needed | Artifact Complete | Residual Risk | Final Gate |
|
|
585
|
-
| --- | --- | --- | --- | ---: | --- | ---: | --- | --- | --- | --- |
|
|
586
|
-
| | | | | | | | | | | |
|
|
587
|
-
<!-- SCALE_METRICS:END -->
|
|
588
|
-
|
|
589
|
-
## Monthly Review
|
|
590
|
-
|
|
591
|
-
### Repeated Failure Patterns
|
|
592
|
-
|
|
593
|
-
TBD
|
|
594
|
-
|
|
595
|
-
### Slowest Gates
|
|
596
|
-
|
|
597
|
-
TBD
|
|
598
|
-
|
|
599
|
-
### Documentation Gaps
|
|
600
|
-
|
|
601
|
-
TBD
|
|
602
|
-
|
|
603
|
-
### Product Design Misses
|
|
604
|
-
|
|
605
|
-
TBD
|
|
606
|
-
|
|
607
|
-
### Proposed Workflow Changes
|
|
608
|
-
TBD
|
|
581
|
+
return `# Workflow Metrics
|
|
582
|
+
|
|
583
|
+
<!-- SCALE_METRICS:START -->
|
|
584
|
+
| Date | Task | Level | Services | Files Changed | First Verification Pass | Fix Iterations | Rework Needed | Artifact Complete | Residual Risk | Final Gate |
|
|
585
|
+
| --- | --- | --- | --- | ---: | --- | ---: | --- | --- | --- | --- |
|
|
586
|
+
| | | | | | | | | | | |
|
|
587
|
+
<!-- SCALE_METRICS:END -->
|
|
588
|
+
|
|
589
|
+
## Monthly Review
|
|
590
|
+
|
|
591
|
+
### Repeated Failure Patterns
|
|
592
|
+
|
|
593
|
+
TBD
|
|
594
|
+
|
|
595
|
+
### Slowest Gates
|
|
596
|
+
|
|
597
|
+
TBD
|
|
598
|
+
|
|
599
|
+
### Documentation Gaps
|
|
600
|
+
|
|
601
|
+
TBD
|
|
602
|
+
|
|
603
|
+
### Product Design Misses
|
|
604
|
+
|
|
605
|
+
TBD
|
|
606
|
+
|
|
607
|
+
### Proposed Workflow Changes
|
|
608
|
+
TBD
|
|
609
609
|
`;
|
|
610
610
|
}
|
|
611
611
|
function verificationMatrixTemplate(mode, options = {}) {
|
|
@@ -638,49 +638,49 @@ function packageVersion() {
|
|
|
638
638
|
}
|
|
639
639
|
}
|
|
640
640
|
function githubActionsPreflightTemplate() {
|
|
641
|
-
return `name: SCALE Preflight
|
|
642
|
-
|
|
643
|
-
on:
|
|
644
|
-
pull_request:
|
|
645
|
-
push:
|
|
646
|
-
branches:
|
|
647
|
-
- main
|
|
648
|
-
- master
|
|
649
|
-
|
|
650
|
-
jobs:
|
|
651
|
-
preflight:
|
|
652
|
-
runs-on: ubuntu-latest
|
|
653
|
-
steps:
|
|
654
|
-
- name: Checkout
|
|
655
|
-
uses: actions/checkout@v4
|
|
656
|
-
|
|
657
|
-
- name: Setup Node.js
|
|
658
|
-
uses: actions/setup-node@v4
|
|
659
|
-
with:
|
|
660
|
-
node-version: '20'
|
|
661
|
-
|
|
662
|
-
- name: Install project dependencies when present
|
|
663
|
-
shell: bash
|
|
664
|
-
run: |
|
|
665
|
-
if [ -f package-lock.json ]; then
|
|
666
|
-
npm ci
|
|
667
|
-
elif [ -f package.json ]; then
|
|
668
|
-
npm install
|
|
669
|
-
fi
|
|
670
|
-
|
|
671
|
-
- name: Run SCALE preflight
|
|
672
|
-
run: npx @hongmaple0820/scale-engine@latest preflight --service all --preflight-profile ci
|
|
641
|
+
return `name: SCALE Preflight
|
|
642
|
+
|
|
643
|
+
on:
|
|
644
|
+
pull_request:
|
|
645
|
+
push:
|
|
646
|
+
branches:
|
|
647
|
+
- main
|
|
648
|
+
- master
|
|
649
|
+
|
|
650
|
+
jobs:
|
|
651
|
+
preflight:
|
|
652
|
+
runs-on: ubuntu-latest
|
|
653
|
+
steps:
|
|
654
|
+
- name: Checkout
|
|
655
|
+
uses: actions/checkout@v4
|
|
656
|
+
|
|
657
|
+
- name: Setup Node.js
|
|
658
|
+
uses: actions/setup-node@v4
|
|
659
|
+
with:
|
|
660
|
+
node-version: '20'
|
|
661
|
+
|
|
662
|
+
- name: Install project dependencies when present
|
|
663
|
+
shell: bash
|
|
664
|
+
run: |
|
|
665
|
+
if [ -f package-lock.json ]; then
|
|
666
|
+
npm ci
|
|
667
|
+
elif [ -f package.json ]; then
|
|
668
|
+
npm install
|
|
669
|
+
fi
|
|
670
|
+
|
|
671
|
+
- name: Run SCALE preflight
|
|
672
|
+
run: npx @hongmaple0820/scale-engine@latest preflight --service all --preflight-profile ci
|
|
673
673
|
`;
|
|
674
674
|
}
|
|
675
675
|
function prePushPreflightTemplate() {
|
|
676
|
-
return `#!/usr/bin/env sh
|
|
677
|
-
set -eu
|
|
678
|
-
|
|
679
|
-
if command -v scale >/dev/null 2>&1; then
|
|
680
|
-
scale preflight --service all
|
|
681
|
-
else
|
|
682
|
-
npx @hongmaple0820/scale-engine@latest preflight --service all
|
|
683
|
-
fi
|
|
676
|
+
return `#!/usr/bin/env sh
|
|
677
|
+
set -eu
|
|
678
|
+
|
|
679
|
+
if command -v scale >/dev/null 2>&1; then
|
|
680
|
+
scale preflight --service all
|
|
681
|
+
else
|
|
682
|
+
npx @hongmaple0820/scale-engine@latest preflight --service all
|
|
683
|
+
fi
|
|
684
684
|
`;
|
|
685
685
|
}
|
|
686
686
|
//# sourceMappingURL=GovernanceTemplates.js.map
|