@hongmaple0820/scale-engine 0.24.0 → 0.26.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/LICENSE +15 -15
- package/README.en.md +336 -304
- package/README.md +500 -475
- package/dist/adapters/AiderAdapter.js +52 -52
- package/dist/adapters/AntigravityAdapter.d.ts +4 -0
- package/dist/adapters/AntigravityAdapter.js +21 -0
- package/dist/adapters/AntigravityAdapter.js.map +1 -0
- package/dist/adapters/ClaudeCodeAdapter.d.ts +4 -1
- package/dist/adapters/ClaudeCodeAdapter.js +34 -34
- package/dist/adapters/ClaudeCodeAdapter.js.map +1 -1
- package/dist/adapters/ClineAdapter.d.ts +4 -0
- package/dist/adapters/ClineAdapter.js +20 -0
- package/dist/adapters/ClineAdapter.js.map +1 -0
- package/dist/adapters/CodexAdapter.js +28 -28
- package/dist/adapters/CursorAdapter.js +26 -26
- package/dist/adapters/DeepSeekTuiAdapter.js +97 -97
- package/dist/adapters/DoubaoAdapter.js +33 -33
- package/dist/adapters/GeminiAdapter.js +26 -26
- package/dist/adapters/GenericProjectAgentAdapter.d.ts +29 -0
- package/dist/adapters/GenericProjectAgentAdapter.js +204 -0
- package/dist/adapters/GenericProjectAgentAdapter.js.map +1 -0
- package/dist/adapters/HermesAdapter.js +26 -26
- package/dist/adapters/JCodeAdapter.d.ts +4 -0
- package/dist/adapters/JCodeAdapter.js +19 -0
- package/dist/adapters/JCodeAdapter.js.map +1 -0
- package/dist/adapters/KiloCodeAdapter.d.ts +4 -0
- package/dist/adapters/KiloCodeAdapter.js +20 -0
- package/dist/adapters/KiloCodeAdapter.js.map +1 -0
- package/dist/adapters/KimiAdapter.js +32 -32
- package/dist/adapters/KiroAdapter.js +26 -26
- package/dist/adapters/OpenClawAdapter.js +26 -26
- package/dist/adapters/OpenCodeAdapter.js +26 -26
- package/dist/adapters/QCoderAdapter.js +26 -26
- package/dist/adapters/QoderAdapter.d.ts +4 -0
- package/dist/adapters/QoderAdapter.js +21 -0
- package/dist/adapters/QoderAdapter.js.map +1 -0
- package/dist/adapters/TraeAdapter.js +26 -26
- package/dist/adapters/VSCAdapter.js +26 -26
- package/dist/adapters/WindsurfAdapter.js +32 -32
- package/dist/adapters/WorkBuddyAdapter.js +26 -26
- package/dist/adapters/index.d.ts +5 -0
- package/dist/adapters/index.js +15 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/api/cli.js +226 -48
- package/dist/api/cli.js.map +1 -1
- package/dist/api/doctor.js +10 -3
- package/dist/api/doctor.js.map +1 -1
- package/dist/api/quickstart.js +7 -1
- package/dist/api/quickstart.js.map +1 -1
- package/dist/artifact/sqliteStore.js +89 -89
- package/dist/artifact/types.d.ts +1 -1
- package/dist/cli/phaseCommands.js +45 -45
- package/dist/context/AntiPatternRegistry.js +20 -20
- package/dist/context/ContextBuilder.js +155 -155
- package/dist/evolution/EvolutionEngine.js +31 -31
- package/dist/evolution/EvolutionEvaluator.d.ts +2 -0
- package/dist/evolution/EvolutionEvaluator.js +7 -1
- package/dist/evolution/EvolutionEvaluator.js.map +1 -1
- package/dist/fsm/FSMAgentBridge.js +11 -11
- package/dist/hooks/HookGeneratorEnhanced.js +218 -218
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/knowledge/SQLiteKnowledgeBase.js +28 -28
- package/dist/memory/MemoryBrain.d.ts +1 -0
- package/dist/memory/MemoryBrain.js +55 -52
- package/dist/memory/MemoryBrain.js.map +1 -1
- package/dist/memory/MemoryFabric.d.ts +13 -1
- package/dist/memory/MemoryFabric.js +35 -0
- package/dist/memory/MemoryFabric.js.map +1 -1
- package/dist/memory/MemoryProviders.d.ts +111 -0
- package/dist/memory/MemoryProviders.js +385 -0
- package/dist/memory/MemoryProviders.js.map +1 -0
- package/dist/memory/index.d.ts +1 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/output/GovernanceDashboard.js +44 -44
- package/dist/output/HTMLArtifactLayer.js +31 -31
- package/dist/prompts/VibeTemplateGallery.js +121 -121
- package/dist/skills/SkillDiscovery.js +12 -1
- package/dist/skills/SkillDiscovery.js.map +1 -1
- package/dist/skills/SkillRadar.js +20 -0
- package/dist/skills/SkillRadar.js.map +1 -1
- package/dist/skills/SkillRepository.d.ts +9 -1
- package/dist/skills/SkillRepository.js +70 -0
- package/dist/skills/SkillRepository.js.map +1 -1
- package/dist/skills/routing/SkillPlanner.js +40 -40
- package/dist/workflow/EngineeringStandards.js +62 -62
- package/dist/workflow/GovernanceTemplatePacks.d.ts +1 -1
- package/dist/workflow/GovernanceTemplatePacks.js +1990 -162
- package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
- package/dist/workflow/GovernanceTemplates.d.ts +2 -0
- package/dist/workflow/GovernanceTemplates.js +1012 -1001
- package/dist/workflow/GovernanceTemplates.js.map +1 -1
- package/dist/workflow/ResourceGovernance.js +16 -16
- package/dist/workflow/TaskArtifactScaffolder.js +10 -10
- package/dist/workflow/UpgradeManager.d.ts +3 -2
- package/dist/workflow/UpgradeManager.js +134 -49
- package/dist/workflow/UpgradeManager.js.map +1 -1
- package/dist/workflow/WorkspaceTopology.js +18 -15
- package/dist/workflow/WorkspaceTopology.js.map +1 -1
- package/docs/CODE_INTELLIGENCE.md +138 -138
- package/docs/CONTEXT_BUDGET.md +81 -81
- package/docs/EXTERNAL_REFERENCES.md +63 -0
- package/docs/GITLAB_FLOW.md +125 -125
- package/docs/GOVERNANCE_DASHBOARD.md +64 -64
- package/docs/MEMORY_BRAIN.md +104 -104
- package/docs/MEMORY_FABRIC.md +134 -107
- package/docs/README.md +79 -68
- package/docs/RUNTIME_EVIDENCE.md +101 -101
- package/docs/SKILL-REPOSITORY.md +57 -0
- package/docs/SKILL_RADAR.md +122 -115
- package/docs/THIRD_PARTY_SKILLS.md +57 -0
- package/docs/WORKFLOW_EVAL.md +151 -151
- package/docs/guides/DEVELOPMENT_WORKFLOW.md +80 -0
- package/docs/guides/GETTING_STARTED.md +50 -0
- package/docs/start/README.md +78 -72
- package/docs/start/agent-governance-demo.md +107 -107
- package/docs/start/quickstart.md +137 -127
- package/docs/start/workflow-upgrade.md +32 -8
- package/docs/workflow/README.md +67 -0
- package/docs/workflow/node-library.md +52 -0
- package/docs/workflow/templates/api-contract.md +29 -0
- package/docs/workflow/templates/architecture-review.md +23 -0
- package/docs/workflow/templates/db-change-plan.md +20 -0
- package/docs/workflow/templates/docs-impact.md +17 -0
- package/docs/workflow/templates/e2e-plan.md +20 -0
- package/docs/workflow/templates/explore.md +16 -0
- package/docs/workflow/templates/github-actions-scale-preflight.yml +32 -0
- package/docs/workflow/templates/mini-prd.md +16 -0
- package/docs/workflow/templates/plan.md +37 -0
- package/docs/workflow/templates/pre-push-scale-preflight.sh +8 -0
- package/docs/workflow/templates/product-smoke.md +61 -0
- package/docs/workflow/templates/reality-check.md +28 -0
- package/docs/workflow/templates/resource-cleanup.md +17 -0
- package/docs/workflow/templates/resource-impact.md +25 -0
- package/docs/workflow/templates/review.md +12 -0
- package/docs/workflow/templates/runtime.md +23 -0
- package/docs/workflow/templates/security-review.md +26 -0
- package/docs/workflow/templates/skill-evidence.md +33 -0
- package/docs/workflow/templates/skill-plan.md +39 -0
- package/docs/workflow/templates/spec.md +17 -0
- package/docs/workflow/templates/standards-impact.md +28 -0
- package/docs/workflow/templates/summary.md +16 -0
- package/docs/workflow/templates/tasks.md +8 -0
- package/docs/workflow/templates/ui-spec.md +29 -0
- package/docs/workflow/templates/verification.md +20 -0
- package/docs/workflow/templates/visual-review.md +20 -0
- package/examples/demo-projects/agent-governance-demo/CONTEXT.md +14 -14
- package/examples/demo-projects/agent-governance-demo/README.md +48 -48
- package/examples/demo-projects/agent-governance-demo/docs/CONTEXT-MAP.md +14 -14
- package/examples/demo-projects/agent-governance-demo/package.json +22 -21
- package/examples/demo-projects/agent-governance-demo/src/oauth-state.ts +39 -39
- package/examples/demo-projects/agent-governance-demo/tests/oauth-state.test.ts +52 -52
- package/package.json +88 -75
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# SCALE Engine 开发工作流
|
|
2
|
+
|
|
3
|
+
这份文档说明日常如何在 `scale-engine` 仓库里按最新工程化工作流工作。
|
|
4
|
+
|
|
5
|
+
## 标准闭环
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
探索 -> 规划 -> 执行 -> 验证 -> 沉淀
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 1. 探索
|
|
12
|
+
|
|
13
|
+
目标:先弄清真实仓库状态,再动手。
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
make new-task NAME=task-slug LEVEL=M
|
|
17
|
+
make plan NAME=task-slug LEVEL=M
|
|
18
|
+
make explore FILES='AGENTS.md CLAUDE.md README.md package.json src/api/cli.ts' MSG='main contradiction'
|
|
19
|
+
make gate-workflow
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
最低要求:
|
|
23
|
+
|
|
24
|
+
- 至少读 3 个相关文件。
|
|
25
|
+
- 写清主矛盾,而不是只列文件名。
|
|
26
|
+
- 对不确定项明确标出,不靠猜。
|
|
27
|
+
|
|
28
|
+
## 2. 规划
|
|
29
|
+
|
|
30
|
+
在 `.planning/tasks/<task>/plan.md` 里至少补齐这些信息:
|
|
31
|
+
|
|
32
|
+
- scope / boundary
|
|
33
|
+
- acceptance criteria
|
|
34
|
+
- exception / failure path
|
|
35
|
+
- rollback / fallback
|
|
36
|
+
- verification commands
|
|
37
|
+
|
|
38
|
+
如果任务改动发布、权限、安全、凭据、npm 发版或破坏性行为,按 `CRITICAL` 处理。
|
|
39
|
+
|
|
40
|
+
## 3. 执行
|
|
41
|
+
|
|
42
|
+
原则:
|
|
43
|
+
|
|
44
|
+
- 最小必要修改。
|
|
45
|
+
- 优先复用现有脚本和 `npm` 命令,不再发明第二套命令。
|
|
46
|
+
- 改 `src/` 行为时,原则上同步改 `tests/`,否则会被 G3 拦下。
|
|
47
|
+
|
|
48
|
+
## 4. 验证
|
|
49
|
+
|
|
50
|
+
推荐顺序:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
make gate-quality
|
|
54
|
+
make verify PROFILE=default
|
|
55
|
+
git diff --check
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
其中:
|
|
59
|
+
|
|
60
|
+
- `G4` 验证 workflow 脚本本身可解析。
|
|
61
|
+
- `G5` 运行 `lint + typecheck + test + build`。
|
|
62
|
+
- `G6` 检查任务证据和 diff hygiene。
|
|
63
|
+
- `G7` 是安全面,默认走 `npm audit --audit-level=high`。
|
|
64
|
+
- `G8` 检查 Markdown 与工作流文档的基础卫生。
|
|
65
|
+
|
|
66
|
+
## 5. 沉淀
|
|
67
|
+
|
|
68
|
+
应该留下:
|
|
69
|
+
|
|
70
|
+
- `verification.md`
|
|
71
|
+
- `review.md`
|
|
72
|
+
- `summary.md`
|
|
73
|
+
- 必要的长期规则文档更新
|
|
74
|
+
|
|
75
|
+
不应该留下:
|
|
76
|
+
|
|
77
|
+
- 临时日志
|
|
78
|
+
- worktree 状态
|
|
79
|
+
- 截图、trace、缓存
|
|
80
|
+
- 只对一次任务有意义的中间文件
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# SCALE Engine 仓库上手
|
|
2
|
+
|
|
3
|
+
这份文档面向要开发 `scale-engine` 仓库本身的人,不是面向安装 CLI 的最终用户。
|
|
4
|
+
|
|
5
|
+
## 15 分钟路径
|
|
6
|
+
|
|
7
|
+
1. 先读根目录 [README.md](../../README.md)。
|
|
8
|
+
2. 跑本仓库 workflow 预检:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
make preflight
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
3. 看当前可用验证面:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
make verify-list
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
4. 建一个任务骨架并记录探索:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
make new-task NAME=example LEVEL=M
|
|
24
|
+
make plan NAME=example LEVEL=M
|
|
25
|
+
make explore FILES='AGENTS.md CLAUDE.md README.md package.json' MSG='main contradiction'
|
|
26
|
+
make gate-workflow
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
5. 做完改动后跑质量面:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
make gate-quality
|
|
33
|
+
make verify PROFILE=default
|
|
34
|
+
git diff --check
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 你应该看到什么
|
|
38
|
+
|
|
39
|
+
- `.scale/workspace.json` 明确了 `dev -> master` 的仓库分支策略。
|
|
40
|
+
- `.agent/project.json` 定义了本仓库的 Node/TypeScript 验证命令。
|
|
41
|
+
- `scripts/gates/*` 和 `scripts/workflow/*` 不是说明文档,而是可执行入口。
|
|
42
|
+
- `.planning/tasks/<date>-<task>/` 用于任务级证据,不再把临时过程写进 `docs/`。
|
|
43
|
+
|
|
44
|
+
## 常见误区
|
|
45
|
+
|
|
46
|
+
- `make gate-workflow` 通过,不代表代码质量通过。
|
|
47
|
+
- `make gate-quality` 通过,也不代表你已经记录了风险、回滚和未验证项。
|
|
48
|
+
- `G8` 会检查改动过的 Markdown 和工作流文档卫生,不替代业务验证。
|
|
49
|
+
- `--dry-run` 只能证明入口存在,不能写成“测试通过”。
|
|
50
|
+
- 不要把 `.claude/worktrees/`、`.agent/state/`、日志或截图提交进仓库。
|
package/docs/start/README.md
CHANGED
|
@@ -1,72 +1,78 @@
|
|
|
1
|
-
# SCALE Engine 入门路径
|
|
2
|
-
|
|
3
|
-
这个目录面向新用户。目标是先跑通一条最小路径,再理解完整体系,不要求一开始掌握所有命令。
|
|
4
|
-
|
|
5
|
-
## 推荐阅读顺序
|
|
6
|
-
|
|
7
|
-
1. [3 分钟快速开始](quickstart.md)
|
|
8
|
-
从空目录初始化治理工作流,看到 `.scale`、模板、验证 profile 和状态输出。
|
|
9
|
-
|
|
10
|
-
2. [Artifact 生命周期](artifact-lifecycle.md)
|
|
11
|
-
完整走一遍 Need → Spec → Plan → Task → Change → Evidence → Release,理解 FSM 和 Guard 如何用物理约束替代提示词建议。
|
|
12
|
-
|
|
13
|
-
3. [官方 Demo Walkthrough](agent-governance-demo.md)
|
|
14
|
-
用一个 OAuth state 加固任务演示:上下文对齐、诊断计划、TDD 切片、HTML artifact、资源治理和工程规范扫描。
|
|
15
|
-
|
|
16
|
-
4. 回到根目录 [README](../../README.md)
|
|
17
|
-
理解 SCALE Engine 的核心能力和 governance pack 选择。
|
|
18
|
-
|
|
19
|
-
4. [
|
|
20
|
-
理解工作流更新、第三方 skills/MCP/CLI
|
|
21
|
-
|
|
22
|
-
5. 查看 [文档地图](../README.md)
|
|
23
|
-
区分哪些文档是用户指南、哪些是参考资料、哪些是历史规划和过程记录。
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
1
|
+
# SCALE Engine 入门路径
|
|
2
|
+
|
|
3
|
+
这个目录面向新用户。目标是先跑通一条最小路径,再理解完整体系,不要求一开始掌握所有命令。
|
|
4
|
+
|
|
5
|
+
## 推荐阅读顺序
|
|
6
|
+
|
|
7
|
+
1. [3 分钟快速开始](quickstart.md)
|
|
8
|
+
从空目录初始化治理工作流,看到 `.scale`、模板、验证 profile 和状态输出。
|
|
9
|
+
|
|
10
|
+
2. [Artifact 生命周期](artifact-lifecycle.md)
|
|
11
|
+
完整走一遍 Need → Spec → Plan → Task → Change → Evidence → Release,理解 FSM 和 Guard 如何用物理约束替代提示词建议。
|
|
12
|
+
|
|
13
|
+
3. [官方 Demo Walkthrough](agent-governance-demo.md)
|
|
14
|
+
用一个 OAuth state 加固任务演示:上下文对齐、诊断计划、TDD 切片、HTML artifact、资源治理和工程规范扫描。
|
|
15
|
+
|
|
16
|
+
4. 回到根目录 [README](../../README.md)
|
|
17
|
+
理解 SCALE Engine 的核心能力和 governance pack 选择。
|
|
18
|
+
|
|
19
|
+
4. [工作流升级指南](workflow-upgrade.md)
|
|
20
|
+
理解工作流更新、第三方 skills/MCP/CLI 更新时如何先检查、生成计划、自动刷新干净受管文件,并避免覆盖本地改动。
|
|
21
|
+
|
|
22
|
+
5. 查看 [文档地图](../README.md)
|
|
23
|
+
区分哪些文档是用户指南、哪些是参考资料、哪些是历史规划和过程记录。
|
|
24
|
+
|
|
25
|
+
如果你要开发的是 `scale-engine` 仓库本身,而不是把 SCALE 接入别的项目,改看:
|
|
26
|
+
|
|
27
|
+
- [../guides/GETTING_STARTED.md](../guides/GETTING_STARTED.md)
|
|
28
|
+
- [../guides/DEVELOPMENT_WORKFLOW.md](../guides/DEVELOPMENT_WORKFLOW.md)
|
|
29
|
+
- [../workflow/README.md](../workflow/README.md)
|
|
30
|
+
|
|
31
|
+
## 15 分钟学习路径
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npm install -g @hongmaple0820/scale-engine
|
|
35
|
+
scale --version
|
|
36
|
+
mkdir scale-demo && cd scale-demo
|
|
37
|
+
scale init --governance-pack standard
|
|
38
|
+
scale preflight --preflight-profile quick
|
|
39
|
+
scale status
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
跑完后先回答三个问题:
|
|
43
|
+
|
|
44
|
+
- `.scale/verification.json` 里定义了哪些验证 profile?
|
|
45
|
+
- `docs/workflow/templates/` 里有哪些任务产物模板?
|
|
46
|
+
- `scale status` 建议下一步做什么?
|
|
47
|
+
|
|
48
|
+
如果这三个问题答不上来,先不要继续看高级命令。
|
|
49
|
+
|
|
50
|
+
## 你应该先看到什么
|
|
51
|
+
|
|
52
|
+
跑完 quickstart 后,至少应该能看到:
|
|
53
|
+
|
|
54
|
+
- `scale preflight --preflight-profile quick` 可以执行。
|
|
55
|
+
- `scale status` 能告诉你当前项目下一步该做什么。
|
|
56
|
+
- `.scale/verification.json` 存在,并描述本地验证 profile。
|
|
57
|
+
- `docs/workflow/templates/` 存在,并包含 Mini-PRD、plan、verification、review、summary 等模板。
|
|
58
|
+
- `scale artifact render` 可以把任务 Markdown 证据渲染成 HTML。
|
|
59
|
+
|
|
60
|
+
如果其中任何一步失败,先看命令输出,不要假设是环境问题。SCALE 的原则是:没有真实命令结果,就不声称通过。
|
|
61
|
+
|
|
62
|
+
## 场景选择
|
|
63
|
+
|
|
64
|
+
| 场景 | 推荐入口 |
|
|
65
|
+
| --- | --- |
|
|
66
|
+
| 第一次试用 | [3 分钟快速开始](quickstart.md) |
|
|
67
|
+
| 想看 Agent 治理闭环 | [官方 Demo Walkthrough](agent-governance-demo.md) |
|
|
68
|
+
| 前端项目 | `scale init --governance-pack frontend-app` |
|
|
69
|
+
| Node/TypeScript 包 | `scale init --governance-pack node-library` |
|
|
70
|
+
| Go 多服务后端 | `scale init --governance-pack go-service-matrix` |
|
|
71
|
+
| 多仓库/MOE 工作区 | `scale init --governance-pack moe-workspace` |
|
|
72
|
+
| 文档、报告、截图、脚本混乱 | `scale init --governance-pack resource-governance` |
|
|
73
|
+
| 工作流或第三方能力要升级 | `scale upgrade check --lang zh && scale upgrade plan --html --lang zh` |
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
## 工作流升级短路径
|
|
77
|
+
|
|
78
|
+
已有项目先看 [SCALE 工作流升级指南](workflow-upgrade.md)。它说明 `scale init --interactive`、`scale upgrade check/plan/apply/rollback`、`--lang zh/en` 双语输出、仓库本地 `make workflow-upgrade-*` 入口,以及生成文件更新和项目级验证之间的边界。
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
# 官方 Demo Walkthrough:让 Agent 不再跳过工程纪律
|
|
2
|
-
|
|
3
|
-
这个 demo 用一个很小的 OAuth state 校验任务,演示 SCALE 如何把“应该做”的工程动作变成可检查证据。
|
|
4
|
-
|
|
5
|
-
## Demo 目标
|
|
6
|
-
|
|
7
|
-
我们要实现并验证一个安全敏感行为:
|
|
8
|
-
|
|
9
|
-
> 当 OAuth callback 的 state 过期、被消费或不匹配时,系统必须拒绝请求,而不是返回模糊 500。
|
|
10
|
-
|
|
11
|
-
SCALE 关注的不是这段业务逻辑有多复杂,而是 Agent 是否:
|
|
12
|
-
|
|
13
|
-
- 先澄清上下文和验收标准。
|
|
14
|
-
- 先诊断失败模式,不盲修。
|
|
15
|
-
- 写出可检查的 TDD 切片。
|
|
16
|
-
- 运行验证命令并留下证据。
|
|
17
|
-
- 生成可评审的 Markdown 和 HTML artifact。
|
|
18
|
-
- 不把临时报告、截图、脚本、敏感信息乱提交。
|
|
19
|
-
|
|
20
|
-
## 1. 准备 demo 项目
|
|
21
|
-
|
|
22
|
-
从仓库复制官方 demo:
|
|
23
|
-
|
|
24
|
-
```powershell
|
|
25
|
-
Copy-Item -Recurse E:\project\scale-engine\examples\demo-projects\agent-governance-demo .\scale-agent-demo
|
|
26
|
-
Set-Location .\scale-agent-demo
|
|
27
|
-
npm install
|
|
28
|
-
npm test
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
macOS/Linux 可以用:
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
cp -R /path/to/scale-engine/examples/demo-projects/agent-governance-demo ./scale-agent-demo
|
|
35
|
-
cd scale-agent-demo
|
|
36
|
-
npm install
|
|
37
|
-
npm test
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## 2. 安装治理工作流
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
scale init --governance-pack node-library
|
|
44
|
-
scale preflight --preflight-profile quick
|
|
45
|
-
scale status
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
你应该看到 SCALE 生成 `.scale`、`docs/workflow/templates` 和项目治理规则。
|
|
49
|
-
|
|
50
|
-
## 3. 建立任务证据
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
scale context init --name "Agent Governance Demo"
|
|
54
|
-
scale runtime start --session-id 2026-05-18-oauth-state --task-id 2026-05-18-oauth-state --level M --agent codex
|
|
55
|
-
scale context grill --task-id 2026-05-18-oauth-state --task "加固 OAuth state 校验"
|
|
56
|
-
scale diagnose plan --task-id 2026-05-18-oauth-state --symptom "OAuth callback 在 state 过期或不匹配时行为不明确"
|
|
57
|
-
scale tdd slice --task-id 2026-05-18-oauth-state --behavior "拒绝过期、已消费或不匹配的 OAuth state" --public-interface "verifyOAuthState(record, providedState, now)" --failing-test "expired, consumed, mismatched state should return ok=false" --test-file tests/oauth-state.test.ts --impl-files src/oauth-state.ts
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
这一步会在任务目录中沉淀探索、诊断和 TDD 证据。
|
|
61
|
-
|
|
62
|
-
## 4. 运行真实验证
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
npm test
|
|
66
|
-
scale standards scan --dir .
|
|
67
|
-
scale assets scan --dir .
|
|
68
|
-
scale runtime record --title "demo business tests" --kind command --status passed --command "npm test" --exit-code 0 --summary "official demo OAuth state tests passed"
|
|
69
|
-
scale runtime final-check --task-id 2026-05-18-oauth-state --session-id 2026-05-18-oauth-state --level M
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
验收标准:
|
|
73
|
-
|
|
74
|
-
- `npm test` 必须真实通过。
|
|
75
|
-
- `standards scan` 不能发现阻断级别问题。
|
|
76
|
-
- `assets scan` 应能识别长期维护文档、任务证据和生成产物分类。
|
|
77
|
-
- `runtime final-check` 必须确认当前任务范围内有通过证据,且没有失败证据。
|
|
78
|
-
|
|
79
|
-
## 5. 生成记忆候选和 HTML artifact
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
scale memory pack --task-id 2026-05-18-oauth-state --session-id 2026-05-18-oauth-state --task "加固 OAuth state 校验" --level M --budget 4000
|
|
83
|
-
scale memory settle --task-id 2026-05-18-oauth-state --session-id 2026-05-18-oauth-state --task "加固 OAuth state 校验" --level M
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
`memory pack` 用于恢复上下文,`memory settle` 用于把本次真实验证沉淀成可审查学习候选。候选仍需要人审后才能进入长期知识库或工程规范。
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
scale artifact render --task-id 2026-05-18-oauth-state --artifact-dir docs/worklog/tasks/2026-05-18-oauth-state
|
|
90
|
-
scale artifact doctor --artifact-dir docs/worklog/tasks/2026-05-18-oauth-state
|
|
91
|
-
scale artifact open --task-id 2026-05-18-oauth-state --artifact-dir docs/worklog/tasks/2026-05-18-oauth-state
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
HTML artifact 的价值是让人类更快评审 Agent 的思考、证据和风险。Markdown 仍然是源文件,HTML 是交付视图。
|
|
95
|
-
|
|
96
|
-
## 6. 对比没有 SCALE 的情况
|
|
97
|
-
|
|
98
|
-
没有 SCALE 时,Agent 很容易出现这些行为:
|
|
99
|
-
|
|
100
|
-
- 直接改实现,不先说明验收标准。
|
|
101
|
-
- 修了 happy path,却漏掉过期、已消费、不匹配等异常路径。
|
|
102
|
-
- 说“测试通过”,但没有命令输出。
|
|
103
|
-
- 写了临时脚本、截图、报告,却不知道哪些应该提交。
|
|
104
|
-
- 发版前没有 review evidence 和风险记录。
|
|
105
|
-
|
|
106
|
-
有 SCALE 后,这些行为会被命令、模板、门禁和证据文件显式化。它不能替代人类判断,但能让 Agent 的工作不再靠口头保证。
|
|
107
|
-
|
|
1
|
+
# 官方 Demo Walkthrough:让 Agent 不再跳过工程纪律
|
|
2
|
+
|
|
3
|
+
这个 demo 用一个很小的 OAuth state 校验任务,演示 SCALE 如何把“应该做”的工程动作变成可检查证据。
|
|
4
|
+
|
|
5
|
+
## Demo 目标
|
|
6
|
+
|
|
7
|
+
我们要实现并验证一个安全敏感行为:
|
|
8
|
+
|
|
9
|
+
> 当 OAuth callback 的 state 过期、被消费或不匹配时,系统必须拒绝请求,而不是返回模糊 500。
|
|
10
|
+
|
|
11
|
+
SCALE 关注的不是这段业务逻辑有多复杂,而是 Agent 是否:
|
|
12
|
+
|
|
13
|
+
- 先澄清上下文和验收标准。
|
|
14
|
+
- 先诊断失败模式,不盲修。
|
|
15
|
+
- 写出可检查的 TDD 切片。
|
|
16
|
+
- 运行验证命令并留下证据。
|
|
17
|
+
- 生成可评审的 Markdown 和 HTML artifact。
|
|
18
|
+
- 不把临时报告、截图、脚本、敏感信息乱提交。
|
|
19
|
+
|
|
20
|
+
## 1. 准备 demo 项目
|
|
21
|
+
|
|
22
|
+
从仓库复制官方 demo:
|
|
23
|
+
|
|
24
|
+
```powershell
|
|
25
|
+
Copy-Item -Recurse E:\project\scale-engine\examples\demo-projects\agent-governance-demo .\scale-agent-demo
|
|
26
|
+
Set-Location .\scale-agent-demo
|
|
27
|
+
npm install
|
|
28
|
+
npm test
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
macOS/Linux 可以用:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
cp -R /path/to/scale-engine/examples/demo-projects/agent-governance-demo ./scale-agent-demo
|
|
35
|
+
cd scale-agent-demo
|
|
36
|
+
npm install
|
|
37
|
+
npm test
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## 2. 安装治理工作流
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
scale init --governance-pack node-library
|
|
44
|
+
scale preflight --preflight-profile quick
|
|
45
|
+
scale status
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
你应该看到 SCALE 生成 `.scale`、`docs/workflow/templates` 和项目治理规则。
|
|
49
|
+
|
|
50
|
+
## 3. 建立任务证据
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
scale context init --name "Agent Governance Demo"
|
|
54
|
+
scale runtime start --session-id 2026-05-18-oauth-state --task-id 2026-05-18-oauth-state --level M --agent codex
|
|
55
|
+
scale context grill --task-id 2026-05-18-oauth-state --task "加固 OAuth state 校验"
|
|
56
|
+
scale diagnose plan --task-id 2026-05-18-oauth-state --symptom "OAuth callback 在 state 过期或不匹配时行为不明确"
|
|
57
|
+
scale tdd slice --task-id 2026-05-18-oauth-state --behavior "拒绝过期、已消费或不匹配的 OAuth state" --public-interface "verifyOAuthState(record, providedState, now)" --failing-test "expired, consumed, mismatched state should return ok=false" --test-file tests/oauth-state.test.ts --impl-files src/oauth-state.ts
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
这一步会在任务目录中沉淀探索、诊断和 TDD 证据。
|
|
61
|
+
|
|
62
|
+
## 4. 运行真实验证
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npm test
|
|
66
|
+
scale standards scan --dir .
|
|
67
|
+
scale assets scan --dir .
|
|
68
|
+
scale runtime record --title "demo business tests" --kind command --status passed --command "npm test" --exit-code 0 --summary "official demo OAuth state tests passed"
|
|
69
|
+
scale runtime final-check --task-id 2026-05-18-oauth-state --session-id 2026-05-18-oauth-state --level M
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
验收标准:
|
|
73
|
+
|
|
74
|
+
- `npm test` 必须真实通过。
|
|
75
|
+
- `standards scan` 不能发现阻断级别问题。
|
|
76
|
+
- `assets scan` 应能识别长期维护文档、任务证据和生成产物分类。
|
|
77
|
+
- `runtime final-check` 必须确认当前任务范围内有通过证据,且没有失败证据。
|
|
78
|
+
|
|
79
|
+
## 5. 生成记忆候选和 HTML artifact
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
scale memory pack --task-id 2026-05-18-oauth-state --session-id 2026-05-18-oauth-state --task "加固 OAuth state 校验" --level M --budget 4000
|
|
83
|
+
scale memory settle --task-id 2026-05-18-oauth-state --session-id 2026-05-18-oauth-state --task "加固 OAuth state 校验" --level M
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
`memory pack` 用于恢复上下文,`memory settle` 用于把本次真实验证沉淀成可审查学习候选。候选仍需要人审后才能进入长期知识库或工程规范。
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
scale artifact render --task-id 2026-05-18-oauth-state --artifact-dir docs/worklog/tasks/2026-05-18-oauth-state
|
|
90
|
+
scale artifact doctor --artifact-dir docs/worklog/tasks/2026-05-18-oauth-state
|
|
91
|
+
scale artifact open --task-id 2026-05-18-oauth-state --artifact-dir docs/worklog/tasks/2026-05-18-oauth-state
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
HTML artifact 的价值是让人类更快评审 Agent 的思考、证据和风险。Markdown 仍然是源文件,HTML 是交付视图。
|
|
95
|
+
|
|
96
|
+
## 6. 对比没有 SCALE 的情况
|
|
97
|
+
|
|
98
|
+
没有 SCALE 时,Agent 很容易出现这些行为:
|
|
99
|
+
|
|
100
|
+
- 直接改实现,不先说明验收标准。
|
|
101
|
+
- 修了 happy path,却漏掉过期、已消费、不匹配等异常路径。
|
|
102
|
+
- 说“测试通过”,但没有命令输出。
|
|
103
|
+
- 写了临时脚本、截图、报告,却不知道哪些应该提交。
|
|
104
|
+
- 发版前没有 review evidence 和风险记录。
|
|
105
|
+
|
|
106
|
+
有 SCALE 后,这些行为会被命令、模板、门禁和证据文件显式化。它不能替代人类判断,但能让 Agent 的工作不再靠口头保证。
|
|
107
|
+
|