@haaaiawd/loom 0.10.0 → 1.0.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 +21 -0
- package/README.md +87 -52
- package/cli/bin/loom.js +285 -99
- package/cli/help/concepts.md +93 -72
- package/cli/help/doctor.md +71 -121
- package/cli/help/loop.md +120 -135
- package/cli/help/patch.md +33 -0
- package/cli/help/preview.md +2 -1
- package/cli/help/version.md +92 -16
- package/cli/help/workflow.md +89 -100
- package/cli/src/activate.js +302 -73
- package/cli/src/diagnostics.js +138 -41
- package/cli/src/guide.js +41 -19
- package/cli/src/init.js +50 -29
- package/cli/src/intent-draft.js +303 -0
- package/cli/src/intent-map.js +540 -54
- package/cli/src/patch.js +214 -0
- package/cli/src/philosophy.js +177 -154
- package/cli/src/preview-prompt.md +13 -6
- package/cli/src/preview.js +1 -0
- package/cli/src/shared/intent-ref.js +38 -0
- package/cli/src/shared/proof-reference.js +19 -0
- package/cli/src/shared/verification-method.js +32 -0
- package/cli/src/verify.js +184 -61
- package/cli/src/version.js +5 -4
- package/dimensions/PART_DECOMPOSITION.md +42 -203
- package/dimensions/SEARCH_METHODOLOGY.md +101 -97
- package/dimensions/examples/AGENT_SYSTEM/README.md +1 -1
- package/dimensions/examples/CLI_TOOL/README.md +1 -1
- package/dimensions/universal/COLLABORATION_PHILOSOPHY.md +28 -77
- package/dimensions/universal/ENGINEERING_CREED.md +30 -74
- package/dimensions/universal/PRODUCT_PHILOSOPHY.md +32 -70
- package/meta/BASELINE.md +91 -276
- package/meta/INTENT_LOOP.md +242 -737
- package/meta/PHILOSOPHY_WEAVER.md +110 -343
- package/meta/ROLE_ACTIVATION.md +103 -267
- package/package.json +4 -3
- package/roles/architect.md +71 -111
- package/roles/forge.md +87 -126
- package/roles/keeper.md +99 -223
- package/roles/visionary.md +57 -86
- package/templates/INTENT_MAP_TEMPLATE.json +24 -10
- package/templates/PHILOSOPHY_TEMPLATE.md +44 -75
- package/templates/VISION_TEMPLATE.md +44 -67
package/cli/help/concepts.md
CHANGED
|
@@ -1,72 +1,93 @@
|
|
|
1
|
-
## LOOM 核心概念
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
-
|
|
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
|
+
## LOOM 核心概念
|
|
2
|
+
|
|
3
|
+
LOOM 用一条完整链路把长期判断、当前意图、专业能力、创造性探索和独立证明连起来:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
Doctrine → Intent → Contract
|
|
7
|
+
→ Expertise Compiler → Quality Arena → Quality Proof
|
|
8
|
+
→ Reflow
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
最后三步合称 **LOOM Quality Engine**。
|
|
12
|
+
|
|
13
|
+
## Doctrine
|
|
14
|
+
|
|
15
|
+
项目长期使用的判断系统:保护什么、冲突时如何取舍、什么算优秀、哪些反模式不能接受。
|
|
16
|
+
Weaver 从项目事实和决策相关证据中织造 Doctrine;它不预写产品需求、架构或实现步骤。
|
|
17
|
+
|
|
18
|
+
## Intent
|
|
19
|
+
|
|
20
|
+
一个需要保护的产品结果,而不是任务清单。每个 Intent 包含:
|
|
21
|
+
|
|
22
|
+
- `narrative_ref`:为什么存在。
|
|
23
|
+
- `revision`:语义版本。
|
|
24
|
+
- `depends_on`:依赖关系。
|
|
25
|
+
- `acceptance`:完成契约,即 Reliability Floor。
|
|
26
|
+
- `continuity_required`:仅对会修改既有用户或系统状态的 Intent 启用;要求守恒证据,但不另存一份契约。
|
|
27
|
+
- `quality_contract`:可选的质量契约,即 Distinctive Ceiling。
|
|
28
|
+
- `capability_needs`:可选的专业能力需求。
|
|
29
|
+
- `creative_scope`:可选的探索边界。
|
|
30
|
+
- `philosophy_anchors`、`status` 与 `verification_method`。
|
|
31
|
+
|
|
32
|
+
Architect 是 Intent DAG 与两类契约的唯一负责人。
|
|
33
|
+
|
|
34
|
+
## System Boundary
|
|
35
|
+
|
|
36
|
+
LOOM 不假装能够清除宿主 Agent 的既有记忆。`loom activate` 生成有序 Context Pack,
|
|
37
|
+
明确当前角色、当前 Intent、硬约束、成功契约与停止条件;系统和用户指令始终优先。
|
|
38
|
+
|
|
39
|
+
## Expertise Compiler
|
|
40
|
+
|
|
41
|
+
Forge 针对当前 Intent 临时组装一个 Expertise Pack,回答:
|
|
42
|
+
|
|
43
|
+
1. 这是什么专业问题。
|
|
44
|
+
2. 优秀作品的判断标准是什么。
|
|
45
|
+
3. 哪些项目事实和约束会改变做法。
|
|
46
|
+
4. 应加载哪些真实能力、资料或工具。
|
|
47
|
+
5. 最可能出现哪些“合格但平庸”的失败。
|
|
48
|
+
6. 如何验证专业质量。
|
|
49
|
+
|
|
50
|
+
能力名称只表示“可发现”;只有真实加载并转化为任务判断的内容才算进入 Expertise Pack。
|
|
51
|
+
Pack 仅服务当前任务,不成为长期 Doctrine。
|
|
52
|
+
|
|
53
|
+
## Quality Arena
|
|
54
|
+
|
|
55
|
+
Forge 的实现环境。结果显然时走直接路径;当目标是“更好、惊艳、出众”时:
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
Baseline → Mechanism-different Candidates → Compare → Realize → Observe → Adjust
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
候选必须依赖不同机制,而不是同一方案换皮。没有候选真实胜过基线时,保留原方案是合法结论。
|
|
62
|
+
|
|
63
|
+
## Quality Proof
|
|
64
|
+
|
|
65
|
+
Keeper 在独立上下文中验证:
|
|
66
|
+
|
|
67
|
+
- `intent_fidelity`
|
|
68
|
+
- `philosophy_consistency`
|
|
69
|
+
- `baseline_compliance`
|
|
70
|
+
- `acceptance_achievement`
|
|
71
|
+
- `preservation_achievement`(仅 `continuity_required` 时)
|
|
72
|
+
- `quality_achievement`(仅有 `quality_contract` 时)
|
|
73
|
+
|
|
74
|
+
质量提升声明必须有 Quality Proof:修改前基线、可观察主张、候选选择依据、稳定性证据与代价。
|
|
75
|
+
完成可以通过而质量未通过;此时不得宣称“更好”。
|
|
76
|
+
|
|
77
|
+
## Reflow
|
|
78
|
+
|
|
79
|
+
发现问题时回到真正拥有该问题的层:
|
|
80
|
+
|
|
81
|
+
- 长期价值判断 → Weaver
|
|
82
|
+
- 产品目标与 narrative → Visionary
|
|
83
|
+
- 系统边界、Intent、契约 → Architect
|
|
84
|
+
- 专业能力与实现 → Forge
|
|
85
|
+
- 证据不足或判定偏离 → Keeper
|
|
86
|
+
|
|
87
|
+
相关入口:
|
|
88
|
+
|
|
89
|
+
- `loom context`
|
|
90
|
+
- `loom intent next|get|trace|validate`
|
|
91
|
+
- `loom activate <role> --intent <id>`
|
|
92
|
+
- `loom verify contract|write|pass|history`
|
|
93
|
+
- `loom doctor`
|
package/cli/help/doctor.md
CHANGED
|
@@ -1,121 +1,71 @@
|
|
|
1
|
-
##
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
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
|
-
\`\`\`bash
|
|
73
|
-
loom preview status
|
|
74
|
-
\`\`\`
|
|
75
|
-
|
|
76
|
-
检查 `loom-preview.html` 是否比当前 `.loom/v{N}` 源文件更新。人类要求看 preview 时,Agent 先跑这个命令:
|
|
77
|
-
- `fresh=true`:可以 `loom preview`
|
|
78
|
-
- `fresh=false`:不要打开旧投影,先 `loom preview --regen`
|
|
79
|
-
- 必须看旧投影:`loom preview --stale`
|
|
80
|
-
|
|
81
|
-
## 崩溃恢复
|
|
82
|
-
|
|
83
|
-
### Forge 崩溃(Intent 留在 in_progress)
|
|
84
|
-
|
|
85
|
-
1. 跑 \`loom doctor\` 确认哪些 Intent 状态不一致
|
|
86
|
-
2. 跑 \`loom context\` 看整体状态
|
|
87
|
-
3. 用户决定:
|
|
88
|
-
- 继续:重新激活 Forge,从当前代码接着做
|
|
89
|
-
- 重置:\`loom intent update <id> --status pending\`,从头来
|
|
90
|
-
|
|
91
|
-
### Intent Map 文件损坏
|
|
92
|
-
|
|
93
|
-
1. \`loom intent validate\` 会检测到格式错误
|
|
94
|
-
2. 从 Git 恢复(.loom/ 应纳入版本控制)
|
|
95
|
-
|
|
96
|
-
### 验证记录丢失
|
|
97
|
-
|
|
98
|
-
1. \`loom doctor\` 会检测到 completed 无记录
|
|
99
|
-
2. 重新验证该 Intent,或从 Git 恢复
|
|
100
|
-
|
|
101
|
-
## 追溯工具
|
|
102
|
-
|
|
103
|
-
\`\`\`bash
|
|
104
|
-
# Intent 完整追溯链(依赖+验证+哲学+叙事)
|
|
105
|
-
loom intent trace <id>
|
|
106
|
-
|
|
107
|
-
# 反向依赖(谁依赖这个 Intent → 变更影响评估)
|
|
108
|
-
loom intent reverse-dep <id>
|
|
109
|
-
|
|
110
|
-
# 反向哲学引用(哪些 Intent 引用这个锚点 → 哲学变更影响评估)
|
|
111
|
-
loom intent reverse-ref <anchor>
|
|
112
|
-
\`\`\`
|
|
113
|
-
|
|
114
|
-
## 版本控制是前提
|
|
115
|
-
|
|
116
|
-
LOOM 假设项目使用 Git。所有 .loom/ 下的文件都应纳入版本控制:
|
|
117
|
-
- 文件损坏 → 从 Git 恢复
|
|
118
|
-
- 误操作 → 从 Git 回滚
|
|
119
|
-
- 变更追溯 → Git log 就是审计日志
|
|
120
|
-
|
|
121
|
-
LOOM 不内置备份、审计、回滚——这些是版本控制的职责。
|
|
1
|
+
## 诊断与恢复
|
|
2
|
+
|
|
3
|
+
```bash
|
|
4
|
+
loom doctor
|
|
5
|
+
loom context
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
`doctor` 只检查能够机械判断的系统一致性,不假装用规则替代专业判断。
|
|
9
|
+
|
|
10
|
+
## 主要诊断
|
|
11
|
+
|
|
12
|
+
| 类型 | 严重度 | 含义 |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| `cycle` | fatal | Intent DAG 有环 |
|
|
15
|
+
| `orphan_philosophy_ref` | high | Doctrine 引用不存在 |
|
|
16
|
+
| `orphan_dependency` | high | Intent 依赖不存在 |
|
|
17
|
+
| `completed_no_record` | high | completed 没有验证记录 |
|
|
18
|
+
| `completed_verification_not_passed` | high | 最新记录不能闭合当前 revision |
|
|
19
|
+
| `stale_verification` | high | passed 记录早于当前 revision |
|
|
20
|
+
| `quality_dimension_missing` | high | 有质量契约,但缺少通过的质量维度 |
|
|
21
|
+
| `preservation_dimension_missing` | high | 启用了状态守恒门,但缺少通过的守恒维度 |
|
|
22
|
+
| `inspiration_source` | high/medium | Doctrine 证据不可追溯、缺理由或仍是模板 |
|
|
23
|
+
| `verification_method_drift` | high | 声明的验证方式与复现证据不一致 |
|
|
24
|
+
| `in_progress_no_record` | medium | 工作可能中断 |
|
|
25
|
+
| `zombie` | medium | Intent 长时间无活动 |
|
|
26
|
+
|
|
27
|
+
## Doctrine 证据
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
loom philosophy check
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
校验只要求:
|
|
34
|
+
|
|
35
|
+
- 至少有实际使用的证据条目。
|
|
36
|
+
- 每条证据有选择或转译理由。
|
|
37
|
+
- 每条证据有 URL、`file://` 或 `local:` 可追溯位置。
|
|
38
|
+
|
|
39
|
+
不要求固定数量、不排斥 Wikipedia,也不强制来源多样性。来源是否足以支持主张由 Weaver 与审阅者
|
|
40
|
+
判断;CLI 只阻止空白、装饰性名字和不可追溯引用。
|
|
41
|
+
|
|
42
|
+
## Quality Proof
|
|
43
|
+
|
|
44
|
+
有 `quality_contract` 的 Intent 若写入 `passed`:
|
|
45
|
+
|
|
46
|
+
- `dimensions.quality_achievement` 必须存在并通过。
|
|
47
|
+
- 声明相对提升时,`dimensions.quality_achievement.quality_proof_ref` 指向基线比较与稳定性证据。
|
|
48
|
+
|
|
49
|
+
快速命令:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
loom verify pass <id> --summary "<证据>" --quality-proof "<ref>"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
若只达到完成契约,写 `deviated` 或完整验证记录,不要伪造质量通过。
|
|
56
|
+
|
|
57
|
+
## 恢复
|
|
58
|
+
|
|
59
|
+
- Forge 中断:检查真实产物后继续,或把 Intent 回退到 `pending`。
|
|
60
|
+
- Intent Map 损坏:从 Git 恢复,再运行 `loom intent validate`。
|
|
61
|
+
- 验证记录丢失:重新独立验证,不从旧会话记忆补写。
|
|
62
|
+
- Preview 过期:`loom preview status` 后使用 `loom preview --regen`。
|
|
63
|
+
|
|
64
|
+
追溯入口:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
loom intent trace <id>
|
|
68
|
+
loom intent reverse-dep <id>
|
|
69
|
+
loom intent reverse-ref <anchor>
|
|
70
|
+
loom verify history <id>
|
|
71
|
+
```
|
package/cli/help/loop.md
CHANGED
|
@@ -1,135 +1,120 @@
|
|
|
1
|
-
## Intent Loop
|
|
2
|
-
|
|
3
|
-
每个 Intent
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
"intent_id": "INT-001",
|
|
58
|
-
"verdict": "passed",
|
|
59
|
-
"timestamp": "2026-
|
|
60
|
-
"summary": "
|
|
61
|
-
"reproduction_command": "
|
|
62
|
-
"dimensions": {
|
|
63
|
-
"intent_fidelity": {
|
|
64
|
-
"verdict": "passed",
|
|
65
|
-
"evidence": "
|
|
66
|
-
},
|
|
67
|
-
"philosophy_consistency": {
|
|
68
|
-
"verdict": "passed",
|
|
69
|
-
"evidence": "
|
|
70
|
-
},
|
|
71
|
-
"baseline_compliance": {
|
|
72
|
-
"verdict": "passed",
|
|
73
|
-
"evidence": "B1-B5
|
|
74
|
-
},
|
|
75
|
-
"acceptance_achievement": {
|
|
76
|
-
"verdict": "passed",
|
|
77
|
-
"evidence": "
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
默认单趟:所有 Intent 按拓扑序验证完毕且全 passed → done。
|
|
123
|
-
|
|
124
|
-
触发收敛:Pass 1 结束后还有 needs_review 的 Intent → 自动进入 Pass 2。
|
|
125
|
-
- Pass 2: 重验所有 needs_review 的 Intent
|
|
126
|
-
- deviated → 修 → 重验
|
|
127
|
-
- 修的时候又影响别的 → 标记 needs_review
|
|
128
|
-
- passed → completed
|
|
129
|
-
- Pass 2 结束还有 needs_review → Pass 3
|
|
130
|
-
- Pass 3 结束还有 needs_review → blocked,报告"无法收敛"
|
|
131
|
-
|
|
132
|
-
收敛达成 = 一趟完整 pass 没有产生任何新的 needs_review(不动点)。
|
|
133
|
-
最大 3 趟,超过判定为系统性问题,需 Architect 介入。
|
|
134
|
-
|
|
135
|
-
详细规则见 .loom/v{N}/ 下的 INTENT_LOOP.md。
|
|
1
|
+
## Intent Loop 与 Quality Engine
|
|
2
|
+
|
|
3
|
+
每个 Intent 独立运行,直到当前 revision 被证据闭合。
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
Select → Compile Expertise → Explore/Direct → Realize
|
|
7
|
+
→ Self-check → Independent Proof → Close/Reflow
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## 1. 选择与锁定
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
loom intent next
|
|
14
|
+
loom intent update <id> --status in_progress
|
|
15
|
+
loom activate forge --intent <id>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Context Pack 只注入当前角色和当前 Intent 的相关事实,但不会、也无法清除宿主会话的旧记忆。
|
|
19
|
+
Forge 必须以磁盘事实和当前 Pack 为准,发现冲突时报告。
|
|
20
|
+
|
|
21
|
+
## 2. Expertise Compiler
|
|
22
|
+
|
|
23
|
+
Forge 先形成任务级 Expertise Pack:
|
|
24
|
+
|
|
25
|
+
- 专业问题与任务类型。
|
|
26
|
+
- 卓越判断标准和反模式。
|
|
27
|
+
- 项目事实、硬约束与可变空间。
|
|
28
|
+
- 已实际加载的技能、资料、工具及其用途。
|
|
29
|
+
- Critic 视角与验证方法。
|
|
30
|
+
|
|
31
|
+
Pack 是临时认知配置,不写成新的长期规范。明显任务可以很短;高质量任务应足以解释为什么
|
|
32
|
+
某个专业手法适合这个项目。
|
|
33
|
+
|
|
34
|
+
## 3. Quality Arena
|
|
35
|
+
|
|
36
|
+
完成目标明确且不存在实质质量选择时,走直接路径。
|
|
37
|
+
|
|
38
|
+
当 `quality_contract` 要求相对提升时:
|
|
39
|
+
|
|
40
|
+
1. 记录修改前 Baseline。
|
|
41
|
+
2. 产生少量机制不同的候选。
|
|
42
|
+
3. 按完成契约、质量契约、Doctrine 和实际成本比较。
|
|
43
|
+
4. 实现最优候选并观察真实产物。
|
|
44
|
+
5. 不胜过基线就保留原方案或回流契约,不强改。
|
|
45
|
+
|
|
46
|
+
## 4. Quality Proof
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
loom activate keeper --intent <id>
|
|
50
|
+
loom verify contract <id>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Keeper 独立检查基础四维;有质量契约时增加第五维:
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"intent_id": "INT-001",
|
|
58
|
+
"verdict": "passed",
|
|
59
|
+
"timestamp": "2026-07-28T12:00:00.000Z",
|
|
60
|
+
"summary": "具体、可定位、可复现的判定摘要",
|
|
61
|
+
"reproduction_command": "npm test",
|
|
62
|
+
"dimensions": {
|
|
63
|
+
"intent_fidelity": {
|
|
64
|
+
"verdict": "passed",
|
|
65
|
+
"evidence": "对照 narrative 的用户结果,真实产物保持了目标与非目标"
|
|
66
|
+
},
|
|
67
|
+
"philosophy_consistency": {
|
|
68
|
+
"verdict": "passed",
|
|
69
|
+
"evidence": "对照引用原则与反模式,关键取舍和例外均有项目依据"
|
|
70
|
+
},
|
|
71
|
+
"baseline_compliance": {
|
|
72
|
+
"verdict": "passed",
|
|
73
|
+
"evidence": "B1-B5 与项目底线逐项检查,未发现失守"
|
|
74
|
+
},
|
|
75
|
+
"acceptance_achievement": {
|
|
76
|
+
"verdict": "passed",
|
|
77
|
+
"evidence": "完成契约的可观察行为均已复现"
|
|
78
|
+
},
|
|
79
|
+
"quality_achievement": {
|
|
80
|
+
"verdict": "passed",
|
|
81
|
+
"evidence": "相对修改前基线,目标信号达到契约阈值且回归保持稳定",
|
|
82
|
+
"quality_proof_ref": "artifacts/quality-proof.md#INT-001"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
若 Intent 声明 `continuity_required: true`,Keeper 还必须写入并通过:
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
"preservation_achievement": {
|
|
92
|
+
"verdict": "passed",
|
|
93
|
+
"evidence": "复现旧状态 → 本轮操作 → 新状态;列出保留的旧值、完成状态或可见行为。"
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
这不是第二份契约:具体保留规则和操作序列仍写在 `acceptance`。通过快捷命令闭合时,必须显式提供
|
|
98
|
+
`--preservation-evidence "..."`。
|
|
99
|
+
|
|
100
|
+
存在 `quality_contract` 时强制 `quality_achievement`;只有声明相对提升时才需要
|
|
101
|
+
`quality_proof_ref`。Quality Proof 至少说明基线、主张、候选机制、选择证据、稳定性和代价。
|
|
102
|
+
|
|
103
|
+
## 5. 判定与回流
|
|
104
|
+
|
|
105
|
+
| verdict | 动作 |
|
|
106
|
+
|---|---|
|
|
107
|
+
| `passed` | `loom intent done <id>` |
|
|
108
|
+
| `deviated` | 回到真正的问题拥有者,修正后重验 |
|
|
109
|
+
| `blocked` | 标记阻塞并报告缺失条件 |
|
|
110
|
+
| `pending_human` | 只在确需人类感知或授权时使用 |
|
|
111
|
+
|
|
112
|
+
完成通过但质量未通过时,结果可以保留为可靠完成,但不得声称质量提升;由用户决定继续 Arena、
|
|
113
|
+
降低或修订质量契约,还是接受当前结果。
|
|
114
|
+
|
|
115
|
+
Intent 语义变化必须递增 revision;任何完成态 Intent 回流也会递增验证 epoch。旧 revision 或旧 epoch 的 passed 记录都不会闭合当前 Intent;修订 Intent 时必须完整分类全部直接和传递下游,已完成下游会一并回流复验。
|
|
116
|
+
|
|
117
|
+
## 6. Goal 与闭环
|
|
118
|
+
|
|
119
|
+
把当前 Intent 视为一次 Codex goal 的可闭合单元。goal 只能在“结果、适用时的状态守恒、可复现证据、按需的质量证明”同时成立后完成;
|
|
120
|
+
goal/status 不能替代 Keeper 验证。状态型任务默认保留或合并旧内容,删除和覆盖必须在 acceptance 中显式授权。
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
## Patch 审计工作流
|
|
2
|
+
|
|
3
|
+
Patch 只处理不改变 Intent 或验收契约的实现修正。`06_CHANGELOG.json` 是唯一权威来源,`06_CHANGELOG.md` 是 CLI 确定性生成的只读投影,不要手工编辑。
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# 修改并自行运行验证后,准备输入文件
|
|
7
|
+
loom patch record --json-file patch.json
|
|
8
|
+
loom patch list
|
|
9
|
+
loom patch get PATCH-001
|
|
10
|
+
loom patch validate
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
输入格式:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"summary": "修复空输入崩溃",
|
|
18
|
+
"reason": "解析器遗漏空字符串边界",
|
|
19
|
+
"affects": ["INT-001"],
|
|
20
|
+
"files": ["src/parser.js", "test/parser.test.js"],
|
|
21
|
+
"verification": [
|
|
22
|
+
{ "command": "npm test", "result": "passed" },
|
|
23
|
+
{ "method": "agent-browser screenshot", "result": "passed", "evidence": "浅色和深色背景下均清晰可读" }
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
- `affects` 可省略;提供时每个 ID 必须存在于当前 Intent Map。
|
|
29
|
+
- `files` 必须是安全的项目相对路径。
|
|
30
|
+
- `verification` 每项提供 `command` 或 `method`,可附具体 `evidence`;至少有一个 `passed`。CLI 只记录结果,绝不执行命令。
|
|
31
|
+
- Patch 只能在当前版本全部 Intent 完成后记录;未完成的能力变化必须走 Intent Loop。
|
|
32
|
+
- `id` 和 `timestamp` 由 CLI 分配,输入中不要提供。
|
|
33
|
+
- `loom patch validate` 校验 JSON 全量记录及 Markdown 是否与 JSON 完全一致。
|