@hongmaple0820/scale-engine 0.18.0 → 0.19.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 (77) hide show
  1. package/README.en.md +296 -237
  2. package/README.md +157 -63
  3. package/dist/api/cli.js +448 -27
  4. package/dist/api/cli.js.map +1 -1
  5. package/dist/api/doctor.d.ts +4 -1
  6. package/dist/api/doctor.js +85 -1
  7. package/dist/api/doctor.js.map +1 -1
  8. package/dist/api/quickstart.d.ts +3 -0
  9. package/dist/api/quickstart.js +9 -4
  10. package/dist/api/quickstart.js.map +1 -1
  11. package/dist/cli/phaseCommands.js +7 -0
  12. package/dist/cli/phaseCommands.js.map +1 -1
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.js +4 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/memory/MemoryFabric.d.ts +118 -0
  17. package/dist/memory/MemoryFabric.js +281 -0
  18. package/dist/memory/MemoryFabric.js.map +1 -0
  19. package/dist/memory/MemoryLearning.d.ts +61 -0
  20. package/dist/memory/MemoryLearning.js +203 -0
  21. package/dist/memory/MemoryLearning.js.map +1 -0
  22. package/dist/memory/index.d.ts +2 -0
  23. package/dist/memory/index.js +3 -0
  24. package/dist/memory/index.js.map +1 -0
  25. package/dist/output/HTMLArtifactLayer.js +31 -31
  26. package/dist/prompts/VibeTemplateGallery.js +121 -121
  27. package/dist/runtime/FinalReportGuard.d.ts +16 -0
  28. package/dist/runtime/FinalReportGuard.js +14 -0
  29. package/dist/runtime/FinalReportGuard.js.map +1 -0
  30. package/dist/runtime/RuntimeDoctor.d.ts +23 -0
  31. package/dist/runtime/RuntimeDoctor.js +151 -0
  32. package/dist/runtime/RuntimeDoctor.js.map +1 -0
  33. package/dist/runtime/RuntimeEvidenceLedger.d.ts +50 -0
  34. package/dist/runtime/RuntimeEvidenceLedger.js +89 -0
  35. package/dist/runtime/RuntimeEvidenceLedger.js.map +1 -0
  36. package/dist/runtime/SessionLedger.d.ts +53 -0
  37. package/dist/runtime/SessionLedger.js +104 -0
  38. package/dist/runtime/SessionLedger.js.map +1 -0
  39. package/dist/runtime/index.d.ts +4 -0
  40. package/dist/runtime/index.js +5 -0
  41. package/dist/runtime/index.js.map +1 -0
  42. package/dist/workflow/EngineeringStandards.js +69 -66
  43. package/dist/workflow/EngineeringStandards.js.map +1 -1
  44. package/dist/workflow/GovernanceTemplatePacks.js +126 -126
  45. package/dist/workflow/GovernanceTemplates.d.ts +1 -1
  46. package/dist/workflow/GovernanceTemplates.js +489 -218
  47. package/dist/workflow/GovernanceTemplates.js.map +1 -1
  48. package/dist/workflow/ResourceGovernance.js +27 -18
  49. package/dist/workflow/ResourceGovernance.js.map +1 -1
  50. package/dist/workflow/VerificationCommands.d.ts +11 -0
  51. package/dist/workflow/VerificationCommands.js +2 -0
  52. package/dist/workflow/VerificationCommands.js.map +1 -1
  53. package/dist/workflow/VerificationProfile.d.ts +2 -1
  54. package/dist/workflow/VerificationProfile.js +3 -0
  55. package/dist/workflow/VerificationProfile.js.map +1 -1
  56. package/dist/workflow/WorkflowArtifactWriter.js +2 -1
  57. package/dist/workflow/WorkflowArtifactWriter.js.map +1 -1
  58. package/dist/workflow/WorkflowEngine.js +4 -1
  59. package/dist/workflow/WorkflowEngine.js.map +1 -1
  60. package/dist/workflow/WorkspaceSafety.d.ts +9 -0
  61. package/dist/workflow/WorkspaceSafety.js +49 -0
  62. package/dist/workflow/WorkspaceSafety.js.map +1 -0
  63. package/dist/workflow/gates/GateSystem.d.ts +12 -1
  64. package/dist/workflow/gates/GateSystem.js +106 -0
  65. package/dist/workflow/gates/GateSystem.js.map +1 -1
  66. package/dist/workflow/types.d.ts +1 -1
  67. package/docs/MEMORY_FABRIC.md +107 -0
  68. package/docs/README.md +68 -0
  69. package/docs/RUNTIME_EVIDENCE.md +101 -0
  70. package/docs/start/README.md +42 -0
  71. package/docs/start/agent-governance-demo.md +107 -0
  72. package/docs/start/quickstart.md +127 -0
  73. package/examples/demo-projects/agent-governance-demo/README.md +37 -0
  74. package/examples/demo-projects/agent-governance-demo/package.json +16 -0
  75. package/examples/demo-projects/agent-governance-demo/src/oauth-state.ts +39 -0
  76. package/examples/demo-projects/agent-governance-demo/tests/oauth-state.test.ts +52 -0
  77. package/package.json +8 -3
package/README.md CHANGED
@@ -1,78 +1,85 @@
1
1
  <p align="center">
2
- <img src="https://img.shields.io/badge/version-0.15.1-orange?style=flat-square" alt="version" />
2
+ <img src="https://img.shields.io/badge/version-0.18.0-orange?style=flat-square" alt="version" />
3
3
  <img src="https://img.shields.io/badge/platforms-16-blue?style=flat-square" alt="platforms" />
4
4
  <img src="https://img.shields.io/badge/agents-12-blue?style=flat-square" alt="agents" />
5
5
  <img src="https://img.shields.io/badge/workflows-10-green?style=flat-square" alt="workflows" />
6
6
  <img src="https://img.shields.io/badge/detectors-19-red?style=flat-square" alt="detectors" />
7
- <img src="https://img.shields.io/badge/tests-822-passing-brightgreen?style=flat-square" alt="tests" />
8
- <img src="https://img.shields.io/badge/npm-0.15.1-cb3837?style=flat-square&logo=npm" alt="npm" />
7
+ <img src="https://img.shields.io/badge/tests-verified-brightgreen?style=flat-square" alt="tests" />
8
+ <img src="https://img.shields.io/badge/npm-0.18.0-cb3837?style=flat-square&logo=npm" alt="npm" />
9
9
  </p>
10
10
 
11
- # SCALE Engine v0.15.1
11
+ # SCALE Engine v0.18.0
12
12
 
13
- SCALE Engine 是一个面向 AI 编码 Agent 的工程化工作流运行时。它把提示词里的工程纪律,下沉为状态机、质量门禁、持久化证据、确定性 review 记录和发布检查。
13
+ SCALE Engine AI Agent 不再只靠“自觉”遵守工程规范。它把探索、规划、实现、验证、评审、发版这些要求变成可执行的命令、门禁和证据文件,让人类可以看见 Agent 做了什么、跳过了什么、为什么不能交付。
14
14
 
15
15
  源码仓库:https://github.com/hongmaple0820/scale-engine
16
16
  国内镜像:https://gitee.com/hongmaple/scale-engine
17
17
  npm:https://www.npmjs.com/package/@hongmaple0820/scale-engine
18
18
  语言:[中文](README.md) | [English](README.en.md)
19
19
 
20
- ## 为什么需要它
21
-
22
- 提示词是建议,工程交付需要机制:
23
-
24
- - Agent 可以声称测试通过,SCALE 会保存真实验证证据。
25
- - Agent 可以跳过 review,SCALE 会在缺少 review 记录时阻断 `ship`。
26
- - Agent 可以误提交无关文件,SCALE 只暂存已通过 review 覆盖的文件。
27
- - Agent 可以丢失阶段状态,SCALE 会把 artifact FSM 状态保存在 `.scale`。
28
-
29
- ## 当前版本
30
-
31
- v0.15.1 聚焦生产级工程治理模板:
32
-
33
- - 支持 MOE / 非 MOE 工作区拓扑、子仓库变更阻断、临时 worktree 清理候选识别。
34
- - 增加资源资产治理,区分长期维护文档、版本化产物、任务证据、临时文件和禁止提交资产。
35
- - 增加工程规范扫描,覆盖日志噪音、敏感信息脱敏、安全输入、ORM/数据库、框架组件和测试验证。
36
- - 增强技能与工具编排,UI/UX、联网研究、浏览器 E2E、桌面自动化、外部 Agent CLI 都有路由和证据契约。
37
- - `scale init` / governance pack 会生成 service matrix、verification profile、artifact 模板、metrics、resource policy、engineering standards 和 tool orchestration 规则。
38
-
39
- 历史 v0.11.1 新增四大优先级改进:
40
-
41
- ### Phase Commands FSM 阻断
42
- - `canTransition` + `process.exit(1)` 确保 FSM guard 失败时阻塞流程,而非继续执行
43
- - define/plan/build/verify 各阶段添加明确的阻断提示
44
-
45
- ### OWASP Top 10 检测器
46
- - 新增 `OWASPDetector` 覆盖 SQL 注入、XSS、路径遍历、SSRF、Auth Bypass、弱加密、CORS 错误配置、CSRF、文件上传、敏感数据泄露
47
- - 19 类安全检测模式,自动识别 regex 定义避免误报
48
-
49
- ### Browser QA Capability
50
- - `BrowserQACapability` 封装 Playwright MCP 工具
51
- - 支持导航、点击、截图、console 检查、E2E 测试流程
52
-
53
- ### L6 Evolution 自改进闭环
54
- - `LessonExtractor` 从会话 Defect 事件提取可复用教训
55
- - `SelfImproveEngine` 实现 `Defect Lesson Rule → Hook` 晋升流水线
56
- - 新增 CLI 命令:`scale evolution extract/improve/report/hooks`
57
-
58
- ---
59
-
60
- **完整阶段化交付链路**:
61
-
62
- - `define -> plan -> build -> verify -> review -> ship`
63
- - Spec、Plan、Task artifact 接入 FSM,guard 失败时阻断而非继续
64
- - 验证门禁证据持久化
65
- - 代码 review 记录持久化
66
- - 确定性 review scanner 会阻断空 `catch`、`@ts-ignore`、focused test、危险 shell/git 命令和缺 G7 证据的安全敏感变更
67
- - OWASP Top 10 安全检测器扩展安全覆盖
68
- - G7 内置安全扫描会记录可解释的文件/行号证据,默认阻断 CRITICAL,严格模式可阻断 HIGH
69
- - 可选严格 TDD evidence 门禁:`--tdd-evidence` 和 `--tdd-strict`
70
- - `ship --no-commit` 交付报告
71
- - `ship` 发布前强制验证 review evidence
72
- - 16 个平台适配器,12 个专业 Agent Profile
73
- - Browser QA Capability (Playwright MCP)
74
- - Evolution 自改进闭环
75
- - 本轮加固后,499 Vitest 测试通过
20
+ ## 它解决什么问题
21
+
22
+ AI 编码真正难的不是“写代码”,而是持续稳定地遵守工程纪律:
23
+
24
+ | 常见问题 | SCALE 的处理方式 |
25
+ | --- | --- |
26
+ | Agent 没验证却说“测试通过” | 通过 verification profile 和 evidence store 记录真实命令与结果 |
27
+ | Agent 跳过需求澄清、设计、TDD review | 通过 `scale context`、`scale diagnose`、`scale tdd`、`scale status` 生成下一步动作 |
28
+ | Agent 误提交无关文件或跨仓库改错位置 | 通过 review-gated ship、MOE workspace 和子仓库 blocker 控制边界 |
29
+ | 文档、报告、截图、临时脚本越堆越乱 | 通过 resource governance 区分长期维护、任务证据、临时产物和禁止提交资产 |
30
+ | 日志噪音、敏感信息、ORM/框架乱用、安全风险无人兜底 | 通过 engineering standards 和 OWASP 扫描给出可追溯问题 |
31
+ | Markdown 长报告没人读 | 通过 `scale artifact` 从 Markdown 源文件生成可追溯 HTML 报告 |
32
+
33
+ ## 3 分钟看到效果
34
+
35
+ ```bash
36
+ npm install -g @hongmaple0820/scale-engine
37
+ mkdir scale-demo && cd scale-demo
38
+ scale init --governance-pack standard
39
+ scale preflight --preflight-profile quick
40
+ scale status
41
+ ```
42
+
43
+ 你会得到一套可提交到项目里的治理文件:
44
+
45
+ - `.scale/verification.json`:服务矩阵和验证 profile
46
+ - `.scale/skills.json`:skill 路由和证据要求
47
+ - `.scale/tools.json`:CLI/MCP/browser/desktop 工具编排规则
48
+ - `docs/workflow/templates/`:Mini-PRD、plan、verification、review、summary 模板
49
+ - `docs/standards/`:工程规范、Git 协作、资源治理规则
50
+
51
+ 继续体验完整闭环:
52
+
53
+ ```bash
54
+ scale context init --name "Scale Demo"
55
+ scale context grill --task-id 2026-05-18-oauth-hardening --task "加固 OAuth callback"
56
+ scale diagnose plan --task-id 2026-05-18-oauth-hardening --symptom "callback state 过期时返回 500"
57
+ scale tdd slice --task-id 2026-05-18-oauth-hardening --behavior "拒绝过期 OAuth state" --public-interface "GET /oauth/callback" --failing-test "expired state returns 401" --test-file tests/oauth.test.ts --impl-files src/oauth.ts
58
+ scale artifact render --task-id 2026-05-18-oauth-hardening --artifact-dir docs/worklog/tasks/2026-05-18-oauth-hardening
59
+ scale artifact doctor --artifact-dir docs/worklog/tasks/2026-05-18-oauth-hardening
60
+ ```
61
+
62
+ 完整教程见 [3 分钟快速开始](docs/start/quickstart.md) [官方 Demo Walkthrough](docs/start/agent-governance-demo.md)。
63
+
64
+ ## 适合谁
65
+
66
+ - 正在用 Codex、Claude Code、Cursor、Gemini CLI、OpenCode、Aider Agent 写真实项目的团队。
67
+ - 有多服务、多仓库、MOE workspace、前后端分离、脚手架治理需求的团队。
68
+ - 希望 Agent 主动使用 skills、MCP、CLI、浏览器、E2E、HTML 报告,但又需要安全边界和证据闭环的团队。
69
+ - 经常遇到“AI 改得快,但难审、难验、难维护”的项目负责人。
70
+
71
+ 不适合只想要一个极简 prompt 文件、完全不需要门禁、不关心多人协作和长期维护的玩具项目。
72
+
73
+ ## 核心能力
74
+
75
+ - Workflow Engine:`define -> plan -> build -> verify -> review -> ship` 的阶段化交付状态机。
76
+ - GateSystem:build、lint、test、coverage、security、TDD、review、tool evidence 等门禁。
77
+ - Governance Packs:`standard`、`project-scaffold`、`moe-workspace`、`resource-governance`、`go-service-matrix`、`node-library`、`frontend-app`。
78
+ - Resource Governance:治理文档、图片、视频、报告、测试脚本、临时脚本、HTML artifact 和本地配置。
79
+ - Skill and Tool Orchestration:把 UI/UX、联网研究、浏览器 E2E、Chrome DevTools MCP、桌面自动化、外部 Agent CLI 纳入流程。
80
+ - Runtime Evidence:记录会话、命令、工具、浏览器、skill 和最终交付证据,阻断“没有证据却声称完成”。
81
+ - Engineering Standards:扫描日志噪音、敏感信息、注入风险、ORM/数据库、框架边界、测试严谨性和部署风险。
82
+ - HTML Artifacts:Markdown 仍是可维护源文件,HTML 用于评审、对比、状态报告和发版交接。
76
83
 
77
84
  ## 安装
78
85
 
@@ -83,6 +90,36 @@ scale --version
83
90
 
84
91
  需要 Node.js 20 或更高版本。
85
92
 
93
+ ## Governance Pack
94
+
95
+ 在已有项目中安装治理工作流:
96
+
97
+ ```bash
98
+ scale init --governance-pack standard
99
+ scale init --governance-pack project-scaffold
100
+ scale init --governance-pack moe-workspace
101
+ scale init --governance-pack resource-governance
102
+ scale init --governance-pack go-service-matrix
103
+ scale init --governance-pack node-library
104
+ scale init --governance-pack frontend-app
105
+ ```
106
+
107
+ 当前支持的治理包:
108
+
109
+ | Pack | 适用场景 |
110
+ | --- | --- |
111
+ | `standard` | 通用项目治理,包含任务 artifact、验证、指标、资源、规范和 skills policy |
112
+ | `project-scaffold` | 可复现的工程化工作流脚手架和治理 demo 项目 |
113
+ | `moe-workspace` | 父工作区 + 独立子仓库,适合 MOE/多仓协作 |
114
+ | `resource-governance` | 文档、报告、截图、脚本、媒体、生成产物等资源生命周期治理 |
115
+ | `go-service-matrix` | Go 后端服务矩阵,支持按服务 build/lint/test/security 验证 |
116
+ | `node-library` | Node/TypeScript 包的开发、发布和验证治理 |
117
+ | `frontend-app` | UI/UX、浏览器证据、响应式检查、E2E 和视觉评审治理 |
118
+
119
+ 如果不确定选哪个,先用 `standard`。场景明确时再使用更具体的 pack:
120
+
121
+ 更多命令和使用路径见 [入门文档索引](docs/start/README.md)。
122
+
86
123
  ## Vibe Templates(一键启动)
87
124
 
88
125
  内置高质量提示词模板,无需输入复杂指令:
@@ -139,6 +176,33 @@ scale verify <task-id> --tdd-strict --tdd-evidence .scale/tdd/<task-id>.json
139
176
 
140
177
  TDD evidence JSON 需要包含 `red`、`green`、`refactor`、`testFirst` 且值都为 `true`。
141
178
 
179
+ ## Memory Fabric
180
+
181
+ Memory Fabric 会在长会话中把 runtime evidence、session events、knowledge recall 和 graph status 压缩成可预算的 context pack:
182
+
183
+ ```bash
184
+ scale memory pack --task "Fix OAuth callback state lookup" --task-id <task-id> --session-id <session-id> --level M --budget 4000
185
+ scale memory doctor --task "Review cross-module permission change" --level L --budget 3000
186
+ scale memory settle --task "Fix OAuth callback state lookup" --task-id <task-id> --session-id <session-id> --level M
187
+ ```
188
+
189
+ `memory settle` 会把已记录的运行证据沉淀为 `.scale/memory/learning-candidates/` 下的学习候选。候选默认需要人审,避免把一次会话里的临时判断直接污染长期知识库。
190
+
191
+ 详见 [Memory Fabric](docs/MEMORY_FABRIC.md)。
192
+
193
+ ## Runtime Evidence
194
+
195
+ M/L/CRITICAL 任务在最终交付前应留下运行时证据,避免 Agent 没有真实验证就声称完成:
196
+
197
+ ```bash
198
+ scale runtime start --session-id <session-id> --task-id <task-id> --level M --agent codex
199
+ scale runtime record --title "build" --kind command --status passed --command "npm run build" --exit-code 0 --summary "build passed"
200
+ scale runtime final-check --task-id <task-id> --session-id <session-id> --level M
201
+ scale runtime doctor --task-id <task-id> --session-id <session-id> --level M
202
+ ```
203
+
204
+ 证据写入 `.scale/events/sessions/` 和 `.scale/evidence/runtime/`,默认属于本地运行时产物,不应提交到 Git。详见 [Runtime Evidence](docs/RUNTIME_EVIDENCE.md)。
205
+
142
206
  ## Evolution 自改进闭环
143
207
 
144
208
  从会话缺陷中提取教训,晋升为规则和 Hook:
@@ -214,7 +278,7 @@ src/guardrails/ detector 与 gateway
214
278
  src/guardrails/OWASPDetector.ts OWASP Top 10 安全检测
215
279
  src/capabilities/BrowserQACapability.ts Playwright MCP 包装器
216
280
  src/evolution/ Defect/Lesson/Rule/Hook 自进化层
217
- tests/ Vitest 测试 (499 tests)
281
+ tests/ Vitest 测试套件
218
282
  ```
219
283
 
220
284
  ## 开发与验证
@@ -233,6 +297,36 @@ npx vitest run tests/workflow/phaseCli.test.ts
233
297
  npx vitest run tests/workflow/reviewAnalyzer.test.ts tests/workflow/reviewStore.test.ts tests/workflow/gateSystem.test.ts
234
298
  ```
235
299
 
300
+ ## Unreleased
301
+
302
+ - 新增 Runtime Evidence + Memory Fabric:`scale runtime start/end/record/doctor/final-check` 和 `scale memory pack/doctor/settle`。
303
+ - `memory settle` 会把真实运行证据沉淀为本地学习候选,默认需要人审后才能进入长期知识库或工程规范。
304
+ - 官方 demo 已加入 runtime evidence、memory settle 和 HTML artifact 的完整闭环 smoke 测试。
305
+ - 修复绝对 `SCALE_DIR` 在 resource governance 和 engineering standards 中被错误拼到项目目录下的问题。
306
+ - 发版前质量门槛见 [Release Readiness](docs/RELEASE_READINESS.md),官方 demo 必须跑通完整闭环后再发版。
307
+
308
+ ## v0.18.0 更新
309
+
310
+ - 新增受治理 HTML artifact:`scale artifact render/doctor/settle/open`。
311
+ - Markdown 保持为可维护源文件;生成 HTML 作为可追溯任务证据。
312
+ - governance pack 增加 output policy 和 HTML artifact 资源分类。
313
+ - 增加 HTML 渲染、安全检查、settlement evidence 和模板生成测试。
314
+
315
+ ## v0.17.0 更新
316
+
317
+ - 新增主动工作流命令门控:`scale context`、`scale diagnose`、`scale tdd`、`scale status`。
318
+ - 增加 required next-action queue,减少 Agent 静默跳过上下文、调试、TDD 或验证步骤。
319
+
320
+ ## v0.16.0 更新
321
+
322
+ - 新增受治理 skill repository、skill 推荐、安装安全检查、可视化 Vibe 模板和领导者角色预设。
323
+ - 加强工具编排、资源治理和工程规范治理。
324
+
325
+ ## v0.15.1 更新
326
+
327
+ - 新增 UI/UX、联网研究、浏览器自动化、桌面自动化和外部 Agent CLI 路由契约。
328
+ - 为生成项目包增加资源治理和工程规范治理。
329
+
236
330
  ## v0.11.1 更新
237
331
 
238
332
  - Phase Commands FSM 阻断:`canTransition` + `process.exit(1)` 确保 guard 失败时阻塞
@@ -241,7 +335,7 @@ npx vitest run tests/workflow/reviewAnalyzer.test.ts tests/workflow/reviewStore.
241
335
  - L6 Evolution:`Defect → Lesson → Rule → Hook` 自改进闭环
242
336
  - Evolution CLI:`scale evolution extract/improve/report/hooks`
243
337
  - ReviewAnalyzer regex 修复:避免模式定义误报
244
- - 499 测试通过
338
+ - Vitest 测试套件纳入发布验证
245
339
 
246
340
  ## v0.10.1 更新
247
341