@hongmaple0820/scale-engine 0.25.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/LICENSE +15 -15
  2. package/README.en.md +384 -346
  3. package/README.md +564 -529
  4. package/dist/adapters/AiderAdapter.js +52 -52
  5. package/dist/adapters/AntigravityAdapter.d.ts +4 -0
  6. package/dist/adapters/AntigravityAdapter.js +21 -0
  7. package/dist/adapters/AntigravityAdapter.js.map +1 -0
  8. package/dist/adapters/ClaudeCodeAdapter.d.ts +4 -1
  9. package/dist/adapters/ClaudeCodeAdapter.js +34 -34
  10. package/dist/adapters/ClaudeCodeAdapter.js.map +1 -1
  11. package/dist/adapters/ClineAdapter.d.ts +4 -0
  12. package/dist/adapters/ClineAdapter.js +20 -0
  13. package/dist/adapters/ClineAdapter.js.map +1 -0
  14. package/dist/adapters/CodexAdapter.js +28 -28
  15. package/dist/adapters/CursorAdapter.js +26 -26
  16. package/dist/adapters/DeepSeekTuiAdapter.js +97 -97
  17. package/dist/adapters/DoubaoAdapter.js +33 -33
  18. package/dist/adapters/GeminiAdapter.js +26 -26
  19. package/dist/adapters/GenericProjectAgentAdapter.d.ts +29 -0
  20. package/dist/adapters/GenericProjectAgentAdapter.js +204 -0
  21. package/dist/adapters/GenericProjectAgentAdapter.js.map +1 -0
  22. package/dist/adapters/HermesAdapter.js +26 -26
  23. package/dist/adapters/JCodeAdapter.d.ts +4 -0
  24. package/dist/adapters/JCodeAdapter.js +19 -0
  25. package/dist/adapters/JCodeAdapter.js.map +1 -0
  26. package/dist/adapters/KiloCodeAdapter.d.ts +4 -0
  27. package/dist/adapters/KiloCodeAdapter.js +20 -0
  28. package/dist/adapters/KiloCodeAdapter.js.map +1 -0
  29. package/dist/adapters/KimiAdapter.js +32 -32
  30. package/dist/adapters/KiroAdapter.js +26 -26
  31. package/dist/adapters/OpenClawAdapter.js +26 -26
  32. package/dist/adapters/OpenCodeAdapter.js +26 -26
  33. package/dist/adapters/QCoderAdapter.js +26 -26
  34. package/dist/adapters/QoderAdapter.d.ts +4 -0
  35. package/dist/adapters/QoderAdapter.js +21 -0
  36. package/dist/adapters/QoderAdapter.js.map +1 -0
  37. package/dist/adapters/TraeAdapter.js +26 -26
  38. package/dist/adapters/VSCAdapter.js +26 -26
  39. package/dist/adapters/WindsurfAdapter.js +32 -32
  40. package/dist/adapters/WorkBuddyAdapter.js +26 -26
  41. package/dist/adapters/index.d.ts +5 -0
  42. package/dist/adapters/index.js +15 -0
  43. package/dist/adapters/index.js.map +1 -1
  44. package/dist/api/cli.js +190 -56
  45. package/dist/api/cli.js.map +1 -1
  46. package/dist/api/doctor.js +10 -3
  47. package/dist/api/doctor.js.map +1 -1
  48. package/dist/api/quickstart.js +7 -1
  49. package/dist/api/quickstart.js.map +1 -1
  50. package/dist/artifact/sqliteStore.js +89 -89
  51. package/dist/artifact/types.d.ts +1 -1
  52. package/dist/cli/phaseCommands.js +53 -53
  53. package/dist/cli/phaseCommands.js.map +1 -1
  54. package/dist/context/AntiPatternRegistry.js +20 -20
  55. package/dist/context/ContextBudget.d.ts +14 -0
  56. package/dist/context/ContextBudget.js +50 -14
  57. package/dist/context/ContextBudget.js.map +1 -1
  58. package/dist/context/ContextBuilder.js +155 -155
  59. package/dist/context/ContextCompiler.d.ts +34 -0
  60. package/dist/context/ContextCompiler.js +120 -0
  61. package/dist/context/ContextCompiler.js.map +1 -0
  62. package/dist/eval/WorkflowEval.js +4 -6
  63. package/dist/eval/WorkflowEval.js.map +1 -1
  64. package/dist/evolution/EvolutionEngine.js +31 -31
  65. package/dist/evolution/EvolutionEvaluator.d.ts +2 -0
  66. package/dist/evolution/EvolutionEvaluator.js +7 -1
  67. package/dist/evolution/EvolutionEvaluator.js.map +1 -1
  68. package/dist/fsm/FSMAgentBridge.js +11 -11
  69. package/dist/governance/GovernanceRoi.d.ts +6 -1
  70. package/dist/governance/GovernanceRoi.js +32 -0
  71. package/dist/governance/GovernanceRoi.js.map +1 -1
  72. package/dist/guardrails/DependencyAuditor.js +38 -0
  73. package/dist/guardrails/DependencyAuditor.js.map +1 -1
  74. package/dist/hooks/HookGeneratorEnhanced.js +218 -218
  75. package/dist/index.d.ts +2 -1
  76. package/dist/index.js +3 -2
  77. package/dist/index.js.map +1 -1
  78. package/dist/knowledge/SQLiteKnowledgeBase.js +28 -28
  79. package/dist/memory/MemoryBrain.js +52 -52
  80. package/dist/output/GovernanceDashboard.js +44 -44
  81. package/dist/output/HTMLArtifactLayer.js +31 -31
  82. package/dist/prompts/VibeTemplateGallery.js +121 -121
  83. package/dist/runtime/AiOsRuntime.d.ts +53 -0
  84. package/dist/runtime/AiOsRuntime.js +142 -0
  85. package/dist/runtime/AiOsRuntime.js.map +1 -0
  86. package/dist/runtime/index.d.ts +1 -0
  87. package/dist/runtime/index.js +1 -0
  88. package/dist/runtime/index.js.map +1 -1
  89. package/dist/skills/SkillDiscovery.js +12 -1
  90. package/dist/skills/SkillDiscovery.js.map +1 -1
  91. package/dist/skills/routing/SkillPlanner.js +128 -40
  92. package/dist/skills/routing/SkillPlanner.js.map +1 -1
  93. package/dist/skills/routing/SkillRoutingTypes.d.ts +17 -0
  94. package/dist/tools/SafeCommandRunner.d.ts +16 -0
  95. package/dist/tools/SafeCommandRunner.js +83 -0
  96. package/dist/tools/SafeCommandRunner.js.map +1 -0
  97. package/dist/workflow/EngineeringStandards.js +62 -62
  98. package/dist/workflow/GovernanceTemplatePacks.d.ts +1 -1
  99. package/dist/workflow/GovernanceTemplatePacks.js +1990 -162
  100. package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
  101. package/dist/workflow/GovernanceTemplates.d.ts +2 -0
  102. package/dist/workflow/GovernanceTemplates.js +1012 -1001
  103. package/dist/workflow/GovernanceTemplates.js.map +1 -1
  104. package/dist/workflow/ResourceGovernance.js +16 -16
  105. package/dist/workflow/TaskArtifactScaffolder.js +10 -10
  106. package/dist/workflow/UpgradeManager.d.ts +3 -2
  107. package/dist/workflow/UpgradeManager.js +134 -49
  108. package/dist/workflow/UpgradeManager.js.map +1 -1
  109. package/dist/workflow/WorkspaceTopology.js +18 -15
  110. package/dist/workflow/WorkspaceTopology.js.map +1 -1
  111. package/dist/workflow/gates/GateSystem.js +3 -9
  112. package/dist/workflow/gates/GateSystem.js.map +1 -1
  113. package/docs/ACTIVE_SECURITY_VISUAL_GATES.md +87 -87
  114. package/docs/AI_ENGINEERING_OS_POSITIONING.md +462 -0
  115. package/docs/BACKGROUND_HUNTER.md +62 -62
  116. package/docs/CODE_INTELLIGENCE.md +138 -138
  117. package/docs/CONTEXT_BUDGET.md +155 -113
  118. package/docs/DEPENDENCY_AUDIT.md +118 -89
  119. package/docs/EVOLUTION_SHADOW_MODE.md +63 -63
  120. package/docs/EXTERNAL_REFERENCES.md +63 -58
  121. package/docs/GITLAB_FLOW.md +125 -125
  122. package/docs/GOVERNANCE_DASHBOARD.md +85 -85
  123. package/docs/MEMORY_BRAIN.md +104 -104
  124. package/docs/MEMORY_FABRIC.md +136 -134
  125. package/docs/README.md +102 -92
  126. package/docs/RUNTIME_EVIDENCE.md +101 -101
  127. package/docs/SKILL-REPOSITORY.md +57 -57
  128. package/docs/SKILL_RADAR.md +135 -122
  129. package/docs/THIRD_PARTY_SKILLS.md +57 -57
  130. package/docs/WORKFLOW_EVAL.md +151 -151
  131. package/docs/guides/DEVELOPMENT_WORKFLOW.md +80 -0
  132. package/docs/guides/GETTING_STARTED.md +50 -0
  133. package/docs/start/README.md +78 -72
  134. package/docs/start/agent-governance-demo.md +107 -107
  135. package/docs/start/quickstart.md +137 -127
  136. package/docs/start/workflow-upgrade.md +32 -8
  137. package/docs/workflow/README.md +67 -0
  138. package/docs/workflow/node-library.md +52 -0
  139. package/docs/workflow/templates/api-contract.md +29 -0
  140. package/docs/workflow/templates/architecture-review.md +23 -0
  141. package/docs/workflow/templates/db-change-plan.md +20 -0
  142. package/docs/workflow/templates/docs-impact.md +17 -0
  143. package/docs/workflow/templates/e2e-plan.md +20 -0
  144. package/docs/workflow/templates/explore.md +16 -0
  145. package/docs/workflow/templates/github-actions-scale-preflight.yml +32 -0
  146. package/docs/workflow/templates/mini-prd.md +16 -0
  147. package/docs/workflow/templates/plan.md +37 -0
  148. package/docs/workflow/templates/pre-push-scale-preflight.sh +8 -0
  149. package/docs/workflow/templates/product-smoke.md +61 -0
  150. package/docs/workflow/templates/reality-check.md +28 -0
  151. package/docs/workflow/templates/resource-cleanup.md +17 -0
  152. package/docs/workflow/templates/resource-impact.md +25 -0
  153. package/docs/workflow/templates/review.md +12 -0
  154. package/docs/workflow/templates/runtime.md +23 -0
  155. package/docs/workflow/templates/security-review.md +26 -0
  156. package/docs/workflow/templates/skill-evidence.md +33 -0
  157. package/docs/workflow/templates/skill-plan.md +39 -0
  158. package/docs/workflow/templates/spec.md +17 -0
  159. package/docs/workflow/templates/standards-impact.md +28 -0
  160. package/docs/workflow/templates/summary.md +16 -0
  161. package/docs/workflow/templates/tasks.md +8 -0
  162. package/docs/workflow/templates/ui-spec.md +29 -0
  163. package/docs/workflow/templates/verification.md +20 -0
  164. package/docs/workflow/templates/visual-review.md +20 -0
  165. package/examples/demo-projects/agent-governance-demo/CONTEXT.md +14 -14
  166. package/examples/demo-projects/agent-governance-demo/README.md +48 -48
  167. package/examples/demo-projects/agent-governance-demo/docs/CONTEXT-MAP.md +14 -14
  168. package/examples/demo-projects/agent-governance-demo/package.json +22 -21
  169. package/examples/demo-projects/agent-governance-demo/src/oauth-state.ts +39 -39
  170. package/examples/demo-projects/agent-governance-demo/tests/oauth-state.test.ts +52 -52
  171. package/package.json +95 -78
@@ -120,58 +120,58 @@ export class AiderAdapter {
120
120
  const stackLine = techStack.length > 0
121
121
  ? `\n## Tech Stack\n${techStack.map((t) => `- ${t}`).join('\n')}\n`
122
122
  : '';
123
- return `# ${projectName}
124
- ${stackLine}
125
- ## SCALE Engine Integration (Aider)
126
-
127
- This project uses SCALE Engine for AI engineering governance via Aider CLI.
128
-
129
- ### Commands
130
- - \`scale create <type> <title>\` — Create artifact
131
- - \`scale transition <id> <action>\` — Transition artifact state
132
- - \`scale list --type Spec\` — List artifacts
133
- - \`scale role activate <role>\` — Switch role
134
- - \`scale doctor\` — Health check
135
-
136
- ### Workflow
137
- 1. **Explore** → Role: explorer (Read/Grep only)
138
- 2. **Plan** → Create Spec → refine → approve (guard: ambiguity ≤ 0.2)
139
- 3. **Implement** → Role: implementer (Edit/Write/Bash unlocked)
140
- 4. **Verify** → Must run tests before claiming done
141
- 5. **Learn** → Defects → Lessons → Rules → Hooks
142
-
143
- ### Rules
144
- - 🔴 Dangerous commands are physically blocked
145
- - 🔴 Hardcoded secrets are blocked on Edit/Write
146
- - 🟡 3 identical retries triggers brute-retry detection
147
- - 🟡 Claiming done without running tests is blocked
148
- - 🟢 All tool calls are tracked in .scale/events/
149
-
150
- ### Aider-Specific Notes
151
- - Aider uses \`/add\` and \`/drop\` to manage context files
152
- - Use \`/run\` for shell commands (SCALE hooks apply)
153
- - Use \`/clear\` to reset context between phases
154
- - SCALE hooks are defined in \`.aider.conf.yml\`
155
-
156
- ### Quick Reference
157
- \`\`\`
158
- # Start with exploration
159
- > /add src/
160
- > /read AIDER.md
161
-
162
- # Plan phase
163
- > scale create Spec "Feature name"
164
-
165
- # Implement
166
- > scale role activate implementer
167
- > (make changes)
168
-
169
- # Verify
170
- > /run npm test
171
-
172
- # Complete
173
- > scale transition <id> approve
174
- \`\`\`
123
+ return `# ${projectName}
124
+ ${stackLine}
125
+ ## SCALE Engine Integration (Aider)
126
+
127
+ This project uses SCALE Engine for AI engineering governance via Aider CLI.
128
+
129
+ ### Commands
130
+ - \`scale create <type> <title>\` — Create artifact
131
+ - \`scale transition <id> <action>\` — Transition artifact state
132
+ - \`scale list --type Spec\` — List artifacts
133
+ - \`scale role activate <role>\` — Switch role
134
+ - \`scale doctor\` — Health check
135
+
136
+ ### Workflow
137
+ 1. **Explore** → Role: explorer (Read/Grep only)
138
+ 2. **Plan** → Create Spec → refine → approve (guard: ambiguity ≤ 0.2)
139
+ 3. **Implement** → Role: implementer (Edit/Write/Bash unlocked)
140
+ 4. **Verify** → Must run tests before claiming done
141
+ 5. **Learn** → Defects → Lessons → Rules → Hooks
142
+
143
+ ### Rules
144
+ - 🔴 Dangerous commands are physically blocked
145
+ - 🔴 Hardcoded secrets are blocked on Edit/Write
146
+ - 🟡 3 identical retries triggers brute-retry detection
147
+ - 🟡 Claiming done without running tests is blocked
148
+ - 🟢 All tool calls are tracked in .scale/events/
149
+
150
+ ### Aider-Specific Notes
151
+ - Aider uses \`/add\` and \`/drop\` to manage context files
152
+ - Use \`/run\` for shell commands (SCALE hooks apply)
153
+ - Use \`/clear\` to reset context between phases
154
+ - SCALE hooks are defined in \`.aider.conf.yml\`
155
+
156
+ ### Quick Reference
157
+ \`\`\`
158
+ # Start with exploration
159
+ > /add src/
160
+ > /read AIDER.md
161
+
162
+ # Plan phase
163
+ > scale create Spec "Feature name"
164
+
165
+ # Implement
166
+ > scale role activate implementer
167
+ > (make changes)
168
+
169
+ # Verify
170
+ > /run npm test
171
+
172
+ # Complete
173
+ > scale transition <id> approve
174
+ \`\`\`
175
175
  `;
176
176
  }
177
177
  async init(config) {
@@ -0,0 +1,4 @@
1
+ import { GenericProjectAgentAdapter } from './GenericProjectAgentAdapter.js';
2
+ export declare class AntigravityAdapter extends GenericProjectAgentAdapter {
3
+ constructor();
4
+ }
@@ -0,0 +1,21 @@
1
+ // SCALE Engine - Antigravity Adapter
2
+ import { GenericProjectAgentAdapter } from './GenericProjectAgentAdapter.js';
3
+ export class AntigravityAdapter extends GenericProjectAgentAdapter {
4
+ constructor() {
5
+ super({
6
+ agentType: 'antigravity',
7
+ displayName: 'Antigravity',
8
+ settingsPath: '.agents/hooks.json',
9
+ knowledgeDocPath: '.agents/rules/SCALE.md',
10
+ skillsDir: '.agents/skills',
11
+ extraDirs: ['.agents/rules'],
12
+ installedPaths: ['.agents/hooks.json', '.agents/rules'],
13
+ settingsShape: 'qoder-hooks',
14
+ notes: [
15
+ 'Antigravity workspace hooks are configured through .agents/hooks.json.',
16
+ 'Antigravity guidance is kept in .agents/rules and leaves shared AGENTS.md untouched.',
17
+ ],
18
+ });
19
+ }
20
+ }
21
+ //# sourceMappingURL=AntigravityAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AntigravityAdapter.js","sourceRoot":"","sources":["../../src/adapters/AntigravityAdapter.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,MAAM,OAAO,kBAAmB,SAAQ,0BAA0B;IAChE;QACE,KAAK,CAAC;YACJ,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,aAAa;YAC1B,YAAY,EAAE,oBAAoB;YAClC,gBAAgB,EAAE,wBAAwB;YAC1C,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,CAAC,eAAe,CAAC;YAC5B,cAAc,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;YACvD,aAAa,EAAE,aAAa;YAC5B,KAAK,EAAE;gBACL,wEAAwE;gBACxE,sFAAsF;aACvF;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,7 +1,8 @@
1
+ import type { AgentPlatform } from '../artifact/types.js';
1
2
  export interface AdapterConfig {
2
3
  projectDir: string;
3
4
  scaleDir?: string;
4
- agentType?: 'claude-code' | 'codex' | 'opencode' | 'cursor' | 'gemini' | 'openclaw' | 'hermes' | 'trae' | 'workbuddy' | 'vsc' | 'qcoder';
5
+ agentType?: AgentPlatform;
5
6
  scenarioMode?: 'sandbox' | 'standard' | 'critical';
6
7
  thresholdsPath?: string;
7
8
  }
@@ -9,6 +10,8 @@ export interface HookEntry {
9
10
  matcher: string;
10
11
  command: string;
11
12
  timeout?: number;
13
+ type?: string;
14
+ hooks?: HookEntry[];
12
15
  }
13
16
  export interface SettingsJson {
14
17
  hooks?: Record<string, HookEntry[]>;
@@ -85,32 +85,32 @@ export class ClaudeCodeAdapter {
85
85
  const stackLine = techStack.length > 0
86
86
  ? `\n## Tech Stack\n${techStack.map((t) => `- ${t}`).join('\n')}\n`
87
87
  : '';
88
- return `# ${projectName}
89
- ${stackLine}
90
- ## SCALE Engine Integration
91
-
92
- This project uses SCALE Engine for AI engineering governance.
93
-
94
- ### Commands
95
- - \`scale create <type> <title>\` — Create artifact (Spec/Plan/Task/...)
96
- - \`scale transition <id> <action>\` — Transition artifact state
97
- - \`scale list --type Spec\` — List artifacts
98
- - \`scale role activate <role>\` — Switch role (explorer/planner/implementer/reviewer)
99
- - \`scale stats\` — Show engine stats
100
-
101
- ### Workflow
102
- 1. **Explore** → Role: explorer (Read/Grep only)
103
- 2. **Plan** → Create Spec → refine → approve (guard: ambiguity ≤ 0.2)
104
- 3. **Implement** → Role: implementer (Edit/Write/Bash unlocked)
105
- 4. **Verify** → Must run tests before claiming done (Stop gate enforced)
106
- 5. **Learn** → Defects auto-extract to lessons → rules → hooks
107
-
108
- ### Rules
109
- - 🔴 Dangerous commands (rm -rf, DROP TABLE) are physically blocked
110
- - 🔴 Hardcoded secrets are blocked on Edit/Write
111
- - 🟡 3 identical retries triggers brute-retry detection
112
- - 🟡 Claiming done without running tests is blocked
113
- - 🟢 All tool calls are tracked in .scale/events/
88
+ return `# ${projectName}
89
+ ${stackLine}
90
+ ## SCALE Engine Integration
91
+
92
+ This project uses SCALE Engine for AI engineering governance.
93
+
94
+ ### Commands
95
+ - \`scale create <type> <title>\` — Create artifact (Spec/Plan/Task/...)
96
+ - \`scale transition <id> <action>\` — Transition artifact state
97
+ - \`scale list --type Spec\` — List artifacts
98
+ - \`scale role activate <role>\` — Switch role (explorer/planner/implementer/reviewer)
99
+ - \`scale stats\` — Show engine stats
100
+
101
+ ### Workflow
102
+ 1. **Explore** → Role: explorer (Read/Grep only)
103
+ 2. **Plan** → Create Spec → refine → approve (guard: ambiguity ≤ 0.2)
104
+ 3. **Implement** → Role: implementer (Edit/Write/Bash unlocked)
105
+ 4. **Verify** → Must run tests before claiming done (Stop gate enforced)
106
+ 5. **Learn** → Defects auto-extract to lessons → rules → hooks
107
+
108
+ ### Rules
109
+ - 🔴 Dangerous commands (rm -rf, DROP TABLE) are physically blocked
110
+ - 🔴 Hardcoded secrets are blocked on Edit/Write
111
+ - 🟡 3 identical retries triggers brute-retry detection
112
+ - 🟡 Claiming done without running tests is blocked
113
+ - 🟢 All tool calls are tracked in .scale/events/
114
114
  `;
115
115
  }
116
116
  async init(config) {
@@ -158,14 +158,14 @@ This project uses SCALE Engine for AI engineering governance.
158
158
  // 4. Create .gitignore for .scale/
159
159
  const gitignorePath = join(this.scaleDir, '.gitignore');
160
160
  if (!existsSync(gitignorePath)) {
161
- writeFileSync(gitignorePath, `# SCALE Engine runtime data
162
- *.db
163
- *.db-journal
164
- events/
165
- checkpoints/
166
- evidence/
167
- state/
168
- hooks/*.sh
161
+ writeFileSync(gitignorePath, `# SCALE Engine runtime data
162
+ *.db
163
+ *.db-journal
164
+ events/
165
+ checkpoints/
166
+ evidence/
167
+ state/
168
+ hooks/*.sh
169
169
  `, 'utf-8');
170
170
  created.push(gitignorePath);
171
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeCodeAdapter.js","sourceRoot":"","sources":["../../src/adapters/ClaudeCodeAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClaudeCodeAdapter.js","sourceRoot":"","sources":["../../src/adapters/ClaudeCodeAdapter.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,0CAA0C;AAC1C,8CAA8C;AAE9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAqD1C,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,MAAM,OAAO,iBAAiB;IAA9B;QACW,cAAS,GAAG,aAAa,CAAA;QAC1B,eAAU,GAAW,GAAG,CAAA;QACxB,aAAQ,GAAW,QAAQ,CAAA;IAmLrC,CAAC;IAjLC,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;IAC1D,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IAC3C,CAAC;IAED,YAAY;QACV,0CAA0C;QAC1C,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAED,WAAW;QACT,OAAO,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,gBAAgB;QACd,OAAO;YACL,KAAK,EAAE;gBACL,YAAY,EAAE;oBACZ,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,sDAAsD,EAAE;iBACjF;gBACD,UAAU,EAAE;oBACV,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,uFAAuF,EAAE;oBACrH,EAAE,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,uFAAuF,EAAE;iBACtI;gBACD,WAAW,EAAE;oBACX,EAAE,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,wHAAwH,EAAE;oBACtK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,oHAAoH,EAAE;iBACnJ;gBACD,IAAI,EAAE;oBACJ,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,wDAAwD,EAAE;iBACnF;gBACD,UAAU,EAAE;oBACV,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,mDAAmD,EAAE;iBAC9E;aACF;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC,eAAe,CAAC;aACzB;SACF,CAAA;IACH,CAAC;IAED,aAAa,CAAC,QAAsB;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACzC,MAAM,MAAM,GAAiB,EAAE,GAAG,QAAQ,EAAE,CAAA;QAE5C,6DAA6D;QAC7D,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAA;QACpC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAM,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;YACxD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACpC,CAAA;gBACD,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,EAAE,CAAA;QAChD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK;YAAE,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAA;QAC5D,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,WAAY,CAAC,KAAM,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,oBAAoB,CAAC,WAAmB,EAAE,YAAsB,EAAE;QAChE,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,oBAAoB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACnE,CAAC,CAAC,EAAE,CAAA;QAEN,OAAO,KAAK,WAAW;EACzB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;CAyBV,CAAA;IACC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAqB;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QACnC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACpE,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,wCAAwC;QACxC,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;YAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YACxC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBACvC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACvB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACvB,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;QAClD,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAEzC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YAC3C,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YACrE,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,CAAA;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACxC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YACvE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC5B,CAAC;QAED,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACnD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAA;YACvE,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;YACtD,aAAa,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;YACjD,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAChC,CAAC;QAED,mCAAmC;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QACvD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,aAAa,CAAC,aAAa,EAAE;;;;;;;;CAQlC,EAAE,OAAO,CAAC,CAAA;YACL,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC7B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAA;QAEzF,OAAO;YACL,YAAY;YACZ,gBAAgB;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO;YACP,OAAO;SACR,CAAA;IACH,CAAC;CACF;AAED,+EAA+E;AAC/E,wCAAwC;AACxC,+EAA+E"}
@@ -0,0 +1,4 @@
1
+ import { GenericProjectAgentAdapter } from './GenericProjectAgentAdapter.js';
2
+ export declare class ClineAdapter extends GenericProjectAgentAdapter {
3
+ constructor();
4
+ }
@@ -0,0 +1,20 @@
1
+ // SCALE Engine - Cline Adapter
2
+ import { GenericProjectAgentAdapter } from './GenericProjectAgentAdapter.js';
3
+ export class ClineAdapter extends GenericProjectAgentAdapter {
4
+ constructor() {
5
+ super({
6
+ agentType: 'cline',
7
+ displayName: 'Cline',
8
+ settingsPath: '.cline/settings.json',
9
+ knowledgeDocPath: '.clinerules/SCALE.md',
10
+ skillsDir: '.cline/skills',
11
+ extraDirs: ['.clinerules'],
12
+ installedPaths: ['.cline/settings.json', '.clinerules'],
13
+ notes: [
14
+ 'Cline project guidance is kept in .clinerules so it can coexist with user-owned AGENTS.md files.',
15
+ 'Use SCALE verification evidence before accepting Cline-generated completion claims.',
16
+ ],
17
+ });
18
+ }
19
+ }
20
+ //# sourceMappingURL=ClineAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClineAdapter.js","sourceRoot":"","sources":["../../src/adapters/ClineAdapter.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,MAAM,OAAO,YAAa,SAAQ,0BAA0B;IAC1D;QACE,KAAK,CAAC;YACJ,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,sBAAsB;YACpC,gBAAgB,EAAE,sBAAsB;YACxC,SAAS,EAAE,eAAe;YAC1B,SAAS,EAAE,CAAC,aAAa,CAAC;YAC1B,cAAc,EAAE,CAAC,sBAAsB,EAAE,aAAa,CAAC;YACvD,KAAK,EAAE;gBACL,kGAAkG;gBAClG,qFAAqF;aACtF;SACF,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -39,18 +39,18 @@ export class CodexAdapter {
39
39
  };
40
40
  }
41
41
  generateCodexConfig() {
42
- return `# SCALE Engine — Codex CLI config
43
- # See: https://github.com/openai/codex
44
-
45
- [model]
46
- default = "o4-mini"
47
-
48
- [approval]
49
- # SCALE hooks handle safety gates
50
- auto_approve = ["scale *"]
51
-
52
- [environment]
53
- SCALE_AGENT = "codex"
42
+ return `# SCALE Engine — Codex CLI config
43
+ # See: https://github.com/openai/codex
44
+
45
+ [model]
46
+ default = "o4-mini"
47
+
48
+ [approval]
49
+ # SCALE hooks handle safety gates
50
+ auto_approve = ["scale *"]
51
+
52
+ [environment]
53
+ SCALE_AGENT = "codex"
54
54
  `;
55
55
  }
56
56
  mergeSettings(existing) {
@@ -74,22 +74,22 @@ SCALE_AGENT = "codex"
74
74
  const stackLine = techStack.length > 0
75
75
  ? `\n## Tech Stack\n${techStack.map((t) => `- ${t}`).join('\n')}\n`
76
76
  : '';
77
- return `# ${projectName}
78
- ${stackLine}
79
- ## SCALE Engine Integration
80
-
81
- This project uses SCALE Engine for AI engineering governance.
82
-
83
- ### Workflow
84
- 1. Explore → Plan → Implement → Verify → Learn
85
- 2. All tool calls pass through SCALE gates
86
- 3. Dangerous commands are physically blocked
87
- 4. Tests must pass before completion
88
-
89
- ### Commands
90
- - \`scale create <type> <title>\` — Create artifact
91
- - \`scale transition <id> <action>\` — State transition
92
- - \`scale doctor\` — Health check
77
+ return `# ${projectName}
78
+ ${stackLine}
79
+ ## SCALE Engine Integration
80
+
81
+ This project uses SCALE Engine for AI engineering governance.
82
+
83
+ ### Workflow
84
+ 1. Explore → Plan → Implement → Verify → Learn
85
+ 2. All tool calls pass through SCALE gates
86
+ 3. Dangerous commands are physically blocked
87
+ 4. Tests must pass before completion
88
+
89
+ ### Commands
90
+ - \`scale create <type> <title>\` — Create artifact
91
+ - \`scale transition <id> <action>\` — State transition
92
+ - \`scale doctor\` — Health check
93
93
  `;
94
94
  }
95
95
  async init(config) {
@@ -75,32 +75,32 @@ export class CursorAdapter {
75
75
  const stackLine = techStack.length > 0
76
76
  ? `\n## Tech Stack\n${techStack.map((t) => `- ${t}`).join('\n')}\n`
77
77
  : '';
78
- return `# ${projectName}
79
- ${stackLine}
80
- ## SCALE Engine Integration (Cursor)
81
-
82
- This project uses SCALE Engine for AI engineering governance via Cursor.
83
-
84
- ### Commands
85
- - \`scale create <type> <title>\` — Create artifact
86
- - \`scale transition <id> <action>\` — Transition artifact state
87
- - \`scale list --type Spec\` — List artifacts
88
- - \`scale role activate <role>\` — Switch role
89
- - \`scale doctor\` — Health check
90
-
91
- ### Workflow
92
- 1. **Explore** → Role: explorer (Read/Grep only)
93
- 2. **Plan** → Create Spec → refine → approve (guard: ambiguity ≤ 0.2)
94
- 3. **Implement** → Role: implementer (Edit/Write/Bash unlocked)
95
- 4. **Verify** → Must run tests before claiming done
96
- 5. **Learn** → Defects → Lessons → Rules → Hooks
97
-
98
- ### Rules
99
- - 🔴 Dangerous commands are physically blocked
100
- - 🔴 Hardcoded secrets are blocked on Edit/Write
101
- - 🟡 3 identical retries triggers brute-retry detection
102
- - 🟡 Claiming done without running tests is blocked
103
- - 🟢 All tool calls are tracked in .scale/events/
78
+ return `# ${projectName}
79
+ ${stackLine}
80
+ ## SCALE Engine Integration (Cursor)
81
+
82
+ This project uses SCALE Engine for AI engineering governance via Cursor.
83
+
84
+ ### Commands
85
+ - \`scale create <type> <title>\` — Create artifact
86
+ - \`scale transition <id> <action>\` — Transition artifact state
87
+ - \`scale list --type Spec\` — List artifacts
88
+ - \`scale role activate <role>\` — Switch role
89
+ - \`scale doctor\` — Health check
90
+
91
+ ### Workflow
92
+ 1. **Explore** → Role: explorer (Read/Grep only)
93
+ 2. **Plan** → Create Spec → refine → approve (guard: ambiguity ≤ 0.2)
94
+ 3. **Implement** → Role: implementer (Edit/Write/Bash unlocked)
95
+ 4. **Verify** → Must run tests before claiming done
96
+ 5. **Learn** → Defects → Lessons → Rules → Hooks
97
+
98
+ ### Rules
99
+ - 🔴 Dangerous commands are physically blocked
100
+ - 🔴 Hardcoded secrets are blocked on Edit/Write
101
+ - 🟡 3 identical retries triggers brute-retry detection
102
+ - 🟡 Claiming done without running tests is blocked
103
+ - 🟢 All tool calls are tracked in .scale/events/
104
104
  `;
105
105
  }
106
106
  async init(config) {
@@ -50,45 +50,45 @@ export class DeepSeekTuiAdapter {
50
50
  generateConfigToml(scenarioMode = 'standard') {
51
51
  const sandboxMode = scenarioMode === 'sandbox' ? 'read-only' : 'workspace-write';
52
52
  const approvalPolicy = scenarioMode === 'critical' ? 'on-request' : 'on-request';
53
- let config = `# SCALE Engine — DeepSeek TUI Project Overlay (#485)
54
- # 此文件仅覆盖全局 ~/.deepseek/config.toml 中的指定顶层字段。
55
- # 完整配置参考: https://github.com/Hmbown/deepseek-tui/blob/main/config.example.toml
56
-
57
- # ── SCALE 项目约束 ──
58
- sandbox_mode = "${sandboxMode}"
59
- approval_policy = "${approvalPolicy}"
53
+ let config = `# SCALE Engine — DeepSeek TUI Project Overlay (#485)
54
+ # 此文件仅覆盖全局 ~/.deepseek/config.toml 中的指定顶层字段。
55
+ # 完整配置参考: https://github.com/Hmbown/deepseek-tui/blob/main/config.example.toml
56
+
57
+ # ── SCALE 项目约束 ──
58
+ sandbox_mode = "${sandboxMode}"
59
+ approval_policy = "${approvalPolicy}"
60
60
  `;
61
61
  if (scenarioMode === 'critical') {
62
- config += `
63
- # 严格模式:禁用 shell 工具,强制通过 scale gate 命令执行
64
- allow_shell = false
65
- max_subagents = 5
62
+ config += `
63
+ # 严格模式:禁用 shell 工具,强制通过 scale gate 命令执行
64
+ allow_shell = false
65
+ max_subagents = 5
66
66
  `;
67
67
  }
68
- config += `
69
- # ── SCALE Hooks 说明 ──
70
- # deepseek-tui 的 hooks 不支持项目级覆盖,请将以下配置添加到
71
- # 全局 ~/.deepseek/config.toml 的 [hooks] 段中:
72
- #
73
- # [hooks]
74
- # enabled = true
75
- # default_timeout_secs = 30
76
- #
77
- # [[hooks.hooks]]
78
- # event = "session_start"
79
- # command = "scale context inject --session-id $DEEPSEEK_SESSION_ID"
80
- #
81
- # [[hooks.hooks]]
82
- # event = "tool_call_before"
83
- # command = "scale gate pre-tool Bash --args-json '$TOOL_INPUT_JSON' --session-id $DEEPSEEK_SESSION_ID"
84
- #
85
- # [[hooks.hooks]]
86
- # event = "tool_call_after"
87
- # command = "scale gate post-tool Bash --exit-code '$TOOL_EXIT_CODE' --session-id $DEEPSEEK_SESSION_ID"
88
- #
89
- # [[hooks.hooks]]
90
- # event = "session_end"
91
- # command = "scale session end --session-id $DEEPSEEK_SESSION_ID"
68
+ config += `
69
+ # ── SCALE Hooks 说明 ──
70
+ # deepseek-tui 的 hooks 不支持项目级覆盖,请将以下配置添加到
71
+ # 全局 ~/.deepseek/config.toml 的 [hooks] 段中:
72
+ #
73
+ # [hooks]
74
+ # enabled = true
75
+ # default_timeout_secs = 30
76
+ #
77
+ # [[hooks.hooks]]
78
+ # event = "session_start"
79
+ # command = "scale context inject --session-id $DEEPSEEK_SESSION_ID"
80
+ #
81
+ # [[hooks.hooks]]
82
+ # event = "tool_call_before"
83
+ # command = "scale gate pre-tool Bash --args-json '$TOOL_INPUT_JSON' --session-id $DEEPSEEK_SESSION_ID"
84
+ #
85
+ # [[hooks.hooks]]
86
+ # event = "tool_call_after"
87
+ # command = "scale gate post-tool Bash --exit-code '$TOOL_EXIT_CODE' --session-id $DEEPSEEK_SESSION_ID"
88
+ #
89
+ # [[hooks.hooks]]
90
+ # event = "session_end"
91
+ # command = "scale session end --session-id $DEEPSEEK_SESSION_ID"
92
92
  `;
93
93
  return config;
94
94
  }
@@ -110,59 +110,59 @@ max_subagents = 5
110
110
  const stackLine = techStack.length > 0
111
111
  ? `\n## Tech Stack\n${techStack.map((t) => `- ${t}`).join('\n')}\n`
112
112
  : '';
113
- return `# ${projectName}
114
- ${stackLine}
115
- ## SCALE Engine Integration (DeepSeek TUI)
116
-
117
- This project uses SCALE Engine for AI engineering governance via DeepSeek TUI.
118
-
119
- ### Phase Workflow (六阶段交付链路)
120
-
121
- \`\`\`
122
- define → plan → build → verify → review → ship
123
- \`\`\`
124
-
125
- 每个阶段有明确的质量门禁,guard 失败时阻断流程而非继续。
126
-
127
- ### Commands
128
-
129
- - \`scale define "<description>" --success-criteria "..." \` — 创建 Spec artifact
130
- - \`scale plan <spec-id> --rollback "..."\` — 创建 Plan artifact
131
- - \`scale build <plan-id> --description "..."\` — 创建 Task artifact
132
- - \`scale verify <task-id>\` — 运行验证门禁 (build/lint/test/coverage)
133
- - \`scale review <task-id>\` — 代码 review,生成持久化 review 证据
134
- - \`scale ship <task-id> --message "feat: ..."\` — 发布(强制校验 verify + review 证据)
135
- - \`scale ship <task-id> --no-commit\` — 仅生成交付报告,不创建 commit
136
- - \`scale status --json\` — 查看当前 artifact 状态和 blocker
137
- - \`scale doctor\` — 健康检查
138
-
139
- ### Workflow
140
-
141
- 1. **DEFINE** → 创建 Spec,明确成功标准和边界
142
- 2. **PLAN** → 技术方案设计,评估风险和复杂度
143
- 3. **BUILD** → 实现阶段,Task FSM 追踪状态
144
- 4. **VERIFY** → 运行测试/构建/lint,证据持久化到 .scale/
145
- 5. **REVIEW** → 确定性 review scanner 检查代码质量
146
- 6. **SHIP** → 强制校验 verify + review 证据后交付
147
-
148
- ### Safety Model
149
-
150
- | 层级 | 作用 |
151
- |------|------|
152
- | FSM | 阻止非法 artifact 状态流转 |
153
- | GateSystem | 执行 build/lint/test/coverage/security 门禁 |
154
- | EvidenceStore | 持久化验证证据 (.scale/evidence/) |
155
- | ReviewStore | 持久化 review 记录 (.scale/reviews/) |
156
- | ReviewAnalyzer | 扫描 diff 中的高风险代码 |
157
- | Detectors | OWASP Top 10 + 行为检测 (19 类) |
158
-
159
- ### Rules
160
-
161
- - 🔴 Dangerous commands (rm -rf, DROP TABLE) are physically blocked
162
- - 🔴 Hardcoded secrets are blocked on Edit/Write
163
- - 🟡 3 identical retries triggers brute-retry detection
164
- - 🟡 Claiming done without running tests is blocked (PrematureDoneDetector)
165
- - 🟢 All tool calls are tracked in .scale/events/
113
+ return `# ${projectName}
114
+ ${stackLine}
115
+ ## SCALE Engine Integration (DeepSeek TUI)
116
+
117
+ This project uses SCALE Engine for AI engineering governance via DeepSeek TUI.
118
+
119
+ ### Phase Workflow (六阶段交付链路)
120
+
121
+ \`\`\`
122
+ define → plan → build → verify → review → ship
123
+ \`\`\`
124
+
125
+ 每个阶段有明确的质量门禁,guard 失败时阻断流程而非继续。
126
+
127
+ ### Commands
128
+
129
+ - \`scale define "<description>" --success-criteria "..." \` — 创建 Spec artifact
130
+ - \`scale plan <spec-id> --rollback "..."\` — 创建 Plan artifact
131
+ - \`scale build <plan-id> --description "..."\` — 创建 Task artifact
132
+ - \`scale verify <task-id>\` — 运行验证门禁 (build/lint/test/coverage)
133
+ - \`scale review <task-id>\` — 代码 review,生成持久化 review 证据
134
+ - \`scale ship <task-id> --message "feat: ..."\` — 发布(强制校验 verify + review 证据)
135
+ - \`scale ship <task-id> --no-commit\` — 仅生成交付报告,不创建 commit
136
+ - \`scale status --json\` — 查看当前 artifact 状态和 blocker
137
+ - \`scale doctor\` — 健康检查
138
+
139
+ ### Workflow
140
+
141
+ 1. **DEFINE** → 创建 Spec,明确成功标准和边界
142
+ 2. **PLAN** → 技术方案设计,评估风险和复杂度
143
+ 3. **BUILD** → 实现阶段,Task FSM 追踪状态
144
+ 4. **VERIFY** → 运行测试/构建/lint,证据持久化到 .scale/
145
+ 5. **REVIEW** → 确定性 review scanner 检查代码质量
146
+ 6. **SHIP** → 强制校验 verify + review 证据后交付
147
+
148
+ ### Safety Model
149
+
150
+ | 层级 | 作用 |
151
+ |------|------|
152
+ | FSM | 阻止非法 artifact 状态流转 |
153
+ | GateSystem | 执行 build/lint/test/coverage/security 门禁 |
154
+ | EvidenceStore | 持久化验证证据 (.scale/evidence/) |
155
+ | ReviewStore | 持久化 review 记录 (.scale/reviews/) |
156
+ | ReviewAnalyzer | 扫描 diff 中的高风险代码 |
157
+ | Detectors | OWASP Top 10 + 行为检测 (19 类) |
158
+
159
+ ### Rules
160
+
161
+ - 🔴 Dangerous commands (rm -rf, DROP TABLE) are physically blocked
162
+ - 🔴 Hardcoded secrets are blocked on Edit/Write
163
+ - 🟡 3 identical retries triggers brute-retry detection
164
+ - 🟡 Claiming done without running tests is blocked (PrematureDoneDetector)
165
+ - 🟢 All tool calls are tracked in .scale/events/
166
166
  `;
167
167
  }
168
168
  async init(config) {
@@ -238,15 +238,15 @@ define → plan → build → verify → review → ship
238
238
  // 6. .gitignore for .scale/
239
239
  const gitignorePath = join(this.scaleDir, '.gitignore');
240
240
  if (!existsSync(gitignorePath)) {
241
- writeFileSync(gitignorePath, `# SCALE Engine runtime data
242
- *.db
243
- *.db-shm
244
- *.db-wal
245
- events/
246
- checkpoints/
247
- evidence/
248
- state/
249
- hooks/*.sh
241
+ writeFileSync(gitignorePath, `# SCALE Engine runtime data
242
+ *.db
243
+ *.db-shm
244
+ *.db-wal
245
+ events/
246
+ checkpoints/
247
+ evidence/
248
+ state/
249
+ hooks/*.sh
250
250
  `, 'utf-8');
251
251
  created.push(gitignorePath);
252
252
  }