@haaaiawd/loom 0.9.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 +438 -149
- 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/auto.js +41 -18
- package/cli/src/diagnostics.js +223 -50
- package/cli/src/guide.js +127 -38
- 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 +181 -156
- 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 +204 -51
- 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
|
@@ -1,203 +1,42 @@
|
|
|
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
|
-
**用户提到的特殊类型**:上面这张表只列了常见类型。用户可能提出表里没有的系统——编译器、数据库、操作系统内核、游戏引擎、实时渲染管线、分布式共识系统、密码学库、嵌入式固件、区块链协议、消息队列、时序数据库……遇到表里没有的类型,按 Step 2 的三个问题自己拆,不要硬套。`examples/` 目录下有参考案例的才几个,没参考案例的类型更要认真走搜索漏斗——这类系统的实践知识往往在论文、标准文档、源码注释里,不在博客里。
|
|
44
|
-
|
|
45
|
-
### Step 2:拆解实现部分
|
|
46
|
-
|
|
47
|
-
对项目类型,问三个问题,每个答案是一个"实现部分":
|
|
48
|
-
|
|
49
|
-
**问题 A:用户接触面是什么?**
|
|
50
|
-
- CLI 工具 → 终端输出、参数解析、帮助信息、错误呈现
|
|
51
|
-
- Agent 系统 → 对话格式、工具调用展示、状态反馈、进度提示
|
|
52
|
-
- Web 前端 → 页面布局、交互反馈、视觉风格、动效
|
|
53
|
-
|
|
54
|
-
**问题 B:内部由哪些子系统组成?**
|
|
55
|
-
- CLI 工具 → 转换引擎、文件 IO、配置管理(如果有)
|
|
56
|
-
- Agent 系统 → 编排器、工具调度、上下文管理、提示词构造、验证器
|
|
57
|
-
- Web 前端 → 路由、状态管理、组件层、数据获取、样式系统
|
|
58
|
-
|
|
59
|
-
**问题 C:每个子系统的职责边界在哪?**
|
|
60
|
-
- 问的是"每个模块该怎么做、什么标准"——"有哪些模块"是架构的事,不是哲学的事
|
|
61
|
-
- 职责边界 = 这个部分"做什么"和"不做什么"的划分
|
|
62
|
-
|
|
63
|
-
**拆解原则**:
|
|
64
|
-
1. **按职责拆,不按文件拆**——"CLI 输出美学"是一个部分,"cli.js 这个文件"不是
|
|
65
|
-
2. **粒度适中**——太粗("整个 CLI")没有约束力,太细("每个函数")变成架构了
|
|
66
|
-
3. **每个部分能独立回答"该怎么做"**——如果一个部分的"怎么做"完全依赖另一个部分,合并它们
|
|
67
|
-
4. **用户接触面优先**——用户能看到、能感知的部分,哲学约束最重要
|
|
68
|
-
|
|
69
|
-
### Step 3:对每个部分走搜索漏斗
|
|
70
|
-
|
|
71
|
-
每个识别出的实现部分,独立走"搜索 → 萃取 → 转译 → 落地"漏斗(见 PHILOSOPHY_WEAVER.md "织造漏斗"章节)。
|
|
72
|
-
|
|
73
|
-
搜索时问的问题要具体:**"这个部分该怎么做、什么标准、有什么好实践"**。别问"这个领域的哲学是什么"——实践领域的知识很少叫"哲学"。
|
|
74
|
-
|
|
75
|
-
例如对 CLI 工具的"帮助信息"部分:
|
|
76
|
-
- 搜 "CLI help text design best practices"
|
|
77
|
-
- 搜 "ripgrep --help output design"
|
|
78
|
-
- 搜 "clap help formatting conventions"
|
|
79
|
-
- 搜 "POSIX utility argument syntax conventions"
|
|
80
|
-
- 从结果中萃取:帮助信息的结构、示例的放法、链接的放法、退出码的说明
|
|
81
|
-
|
|
82
|
-
### Step 4:产出部分哲学文档
|
|
83
|
-
|
|
84
|
-
每个实现部分产出一个哲学文档(或融入通用层文档的对应章节)。文档必须包含:
|
|
85
|
-
|
|
86
|
-
1. **部分北极星**:这个部分的判断基准——"遇到冲突时,拿这句话量一下"
|
|
87
|
-
2. **该做什么**:可执行原则,不是口号
|
|
88
|
-
3. **不该做什么**:反模式清单,每条有"为什么"
|
|
89
|
-
4. **参考实践**:至少 2 个真实工具/系统是怎么做这个部分的(要一手实践——源码、文档、工程博客,不要 Wikipedia)
|
|
90
|
-
5. **灵感来源**:满足 LOOM 的源多样性校验
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## 拆解示例
|
|
95
|
-
|
|
96
|
-
### 示例 1:CLI 工具(md2html)
|
|
97
|
-
|
|
98
|
-
```
|
|
99
|
-
项目类型:CLI 工具
|
|
100
|
-
用户接触面:终端
|
|
101
|
-
|
|
102
|
-
拆解出的实现部分:
|
|
103
|
-
├── CLI 交互设计 — 参数解析、--help、--version、用法提示
|
|
104
|
-
├── CLI 输出美学 — 成功反馈格式、颜色策略、Rule of Silence 的正确理解
|
|
105
|
-
├── CLI 错误呈现 — 错误结构、修复建议、退出码语义
|
|
106
|
-
├── 转换引擎 — 纯函数、子集策略、透传 vs 报错
|
|
107
|
-
└── 产物设计 — HTML 结构、CSS 内联、可预测性
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
每个部分独立搜索:
|
|
111
|
-
- CLI 交互设计 → 搜 POSIX 参数约定、clap/cobra 设计、ripgrep/fd 的 --help
|
|
112
|
-
- CLI 输出美学 → 搜 "CLI output design color"、bat/exa 的输出风格、Unix Rule of Silence 原文
|
|
113
|
-
- CLI 错误呈现 → 搜 "CLI error message design"、Rust 的 error message 传统、Go 的 error-as-value
|
|
114
|
-
- 转换引擎 → 搜 Markdown 解析策略、纯函数设计、子集 vs 全集
|
|
115
|
-
- 产物设计 → 搜 "self-contained HTML"、CSS 内联策略、可预测输出
|
|
116
|
-
|
|
117
|
-
### 示例 2:Agent 系统
|
|
118
|
-
|
|
119
|
-
```
|
|
120
|
-
项目类型:Agent 系统
|
|
121
|
-
用户接触面:对话 + 工具调用结果
|
|
122
|
-
|
|
123
|
-
拆解出的实现部分:
|
|
124
|
-
├── 系统架构 — 编排 vs 控制、进程边界、IPC 机制
|
|
125
|
-
├── 工具调用哲学 — 委托边界、失控收回、工具描述怎么写
|
|
126
|
-
├── 上下文压缩 — 什么时候压缩、压缩什么、保留什么
|
|
127
|
-
├── 提示词工程 — 角色激活、约束注入、上下文窗口管理
|
|
128
|
-
├── 验证哲学 — 怎么信、怎么验、自动化 vs 人类
|
|
129
|
-
└── 失败与恢复 — 崩溃恢复、状态一致性、回滚策略
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
每个部分独立搜索:
|
|
133
|
-
- 系统架构 → 搜 "agent orchestration architecture"、LangChain/AutoGPT/CrewAI 架构设计
|
|
134
|
-
- 工具调用 → 搜 "tool calling philosophy"、OpenAI function calling 设计、MCP 协议
|
|
135
|
-
- 上下文压缩 → 搜 "LLM context window management"、conversation summarization 策略
|
|
136
|
-
- 提示词工程 → 搜 "prompt engineering philosophy"、system prompt 设计、role activation
|
|
137
|
-
- 验证哲学 → 搜 "AI agent verification"、human-in-the-loop 设计、automated verification
|
|
138
|
-
- 失败与恢复 → 搜 "agent failure recovery"、state management、checkpoint 设计
|
|
139
|
-
|
|
140
|
-
### 示例 3:Web 前端
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
项目类型:Web 前端
|
|
144
|
-
用户接触面:浏览器
|
|
145
|
-
|
|
146
|
-
拆解出的实现部分:
|
|
147
|
-
├── 视觉设计哲学 — 排版、色彩、留白、层次
|
|
148
|
-
├── 交互反馈哲学 — 加载状态、错误提示、成功反馈、动效
|
|
149
|
-
├── 数据获取哲学 — 缓存策略、乐观更新、错误重试、loading 边界
|
|
150
|
-
├── 组件设计哲学 — 组件粒度、状态边界、复用策略
|
|
151
|
-
└── 性能哲学 — 首屏速度、包体积、渲染策略
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## 拆解的元原则
|
|
157
|
-
|
|
158
|
-
1. **不预设结果**——拆解出的部分由 Agent 根据项目特征判断,不是查表
|
|
159
|
-
2. **用户接触面优先**——用户能看到的部分,哲学约束最重要
|
|
160
|
-
3. **每个部分独立可搜索**——"CLI 输出美学"能独立搜到好实践,"整个 CLI 的哲学"太泛搜不到有用的
|
|
161
|
-
4. **部分之间可以有依赖**——"CLI 错误呈现"依赖"CLI 交互设计"的参数约定,这是正常的
|
|
162
|
-
5. **部分数量适中**——小项目 3-5 个部分,大项目 6-10 个,超过 10 个考虑合并
|
|
163
|
-
6. **拆解结果要记录**——在哲学文档里显式列出"本项目拆解出哪些实现部分",供 Architect 和 Forge 引用
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## 与通用层的关系
|
|
168
|
-
|
|
169
|
-
通用层(产品哲学 / 工程哲学 / 协作哲学)回答"**为什么**"——产品为什么存在、代码怎么写、团队怎么协作。
|
|
170
|
-
|
|
171
|
-
实现部分层回答"**怎么做**"——CLI 的帮助信息怎么做、Agent 的工具调用怎么做、前端的交互反馈怎么做。
|
|
172
|
-
|
|
173
|
-
两层正交,缺一不可:
|
|
174
|
-
- 通用层是地基。没有产品哲学,实现部分的哲学就没有判断基准
|
|
175
|
-
- 实现部分层是落地。没有部分哲学,通用层就飘在空中,Forge 实现时不知道该对照什么
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
## 与 Architect 的接口
|
|
180
|
-
|
|
181
|
-
Weaver 拆解出的实现部分,是 Architect 设计架构的输入:
|
|
182
|
-
|
|
183
|
-
1. Weaver 产出"实现部分清单"(在哲学文档里显式列出)
|
|
184
|
-
2. Architect 读这个清单,为每个部分设计对应的模块/子系统
|
|
185
|
-
3. 每个模块的接口设计,对照该部分的哲学约束
|
|
186
|
-
4. Forge 实现某个模块时,引用该部分的哲学文档作为约束
|
|
187
|
-
|
|
188
|
-
从哲学到架构到实现,每个环节都有约束传递链。
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
## 搜索时的关键提醒
|
|
193
|
-
|
|
194
|
-
对每个实现部分搜索时,别只搜"哲学"——实践领域的知识很少叫"哲学",但就是哲学:
|
|
195
|
-
|
|
196
|
-
- 搜 "best practices"
|
|
197
|
-
- 搜 "design conventions"
|
|
198
|
-
- 搜 具体工具名 + "design"(如 "ripgrep output design")
|
|
199
|
-
- 搜 具体库的文档(如 clap 的 README、cobra 的 design doc)
|
|
200
|
-
- 搜 标准文档(如 POSIX、IEEE)
|
|
201
|
-
- 搜 工程博客(如 Stripe engineering blog、Cloudflare blog)
|
|
202
|
-
|
|
203
|
-
实践驱动的领域,知识在工具和标准里,在论文里的反而少。按 `SEARCH_METHODOLOGY.md` 的领域形态判断走对应路径。
|
|
1
|
+
# Responsibility and Intent Slicing
|
|
2
|
+
|
|
3
|
+
> 这是 Architect 的按需方法,不是 Weaver 的必填清单,也不是 CLI 通过条件。
|
|
4
|
+
|
|
5
|
+
## 何时使用
|
|
6
|
+
|
|
7
|
+
只有在以下情况使用拆分:
|
|
8
|
+
|
|
9
|
+
- 一个目标跨越多个独立系统责任。
|
|
10
|
+
- 不同部分可以单独验证或具有明确依赖。
|
|
11
|
+
- 一次实现会产生过大风险、上下文或回滚成本。
|
|
12
|
+
|
|
13
|
+
如果拆分不会改善边界、验证或交付顺序,就保持一个 Intent。
|
|
14
|
+
|
|
15
|
+
## 三种不能混淆的结构
|
|
16
|
+
|
|
17
|
+
1. **Doctrine 领域**:会反复影响未来决策的长期判断,由 Weaver 负责。
|
|
18
|
+
2. **系统责任**:模块、数据、接口与依赖边界,由 Architect 负责。
|
|
19
|
+
3. **Intent 切片**:能够独立保护和验证的用户结果,由 Architect 负责。
|
|
20
|
+
|
|
21
|
+
不要从技术目录直接推导 Intent,也不要让 Doctrine 文档变成模块清单。
|
|
22
|
+
|
|
23
|
+
## 最小拆分法
|
|
24
|
+
|
|
25
|
+
对候选切片逐一询问:
|
|
26
|
+
|
|
27
|
+
- 它保护的用户结果能否独立描述。
|
|
28
|
+
- 它是否有独立的完成契约。
|
|
29
|
+
- 它失败时能否独立回流或回滚。
|
|
30
|
+
- 它与其他切片的依赖是否单向且必要。
|
|
31
|
+
- 合并后是否更简单,且不会模糊验证。
|
|
32
|
+
|
|
33
|
+
只有前三项明确、依赖可解释时才创建独立 Intent。
|
|
34
|
+
|
|
35
|
+
## 输出
|
|
36
|
+
|
|
37
|
+
拆分结果只进入:
|
|
38
|
+
|
|
39
|
+
- `02_ARCHITECTURE.md` 的系统责任与依赖说明。
|
|
40
|
+
- `04_INTENT_MAP.json` 的 Intent DAG。
|
|
41
|
+
|
|
42
|
+
它不进入 Project Doctrine,也不以“数量足够多”作为质量信号。
|
|
@@ -1,97 +1,101 @@
|
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
1
|
+
# Decision-Relevant Research
|
|
2
|
+
|
|
3
|
+
研究的目的不是展示看过多少资料,而是减少一个真实决定中的错误与平庸。
|
|
4
|
+
|
|
5
|
+
## 触发条件
|
|
6
|
+
|
|
7
|
+
满足任一条件才外部研究:
|
|
8
|
+
|
|
9
|
+
- 当前事实不足以支持高影响或不可逆决定。
|
|
10
|
+
- 任务需要专门领域知识、质量判断或安全边界。
|
|
11
|
+
- 已有方案“合格但普通”,需要寻找不同机制。
|
|
12
|
+
- 证据互相冲突,需要确定适用条件。
|
|
13
|
+
|
|
14
|
+
低风险、可逆、项目内已有充分事实的决定可以直接实验。
|
|
15
|
+
|
|
16
|
+
## 搜索回路
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
Decision Question
|
|
20
|
+
→ Project Grounding
|
|
21
|
+
→ Targeted Search
|
|
22
|
+
→ Extract Mechanism
|
|
23
|
+
→ Translate to Project Consequence
|
|
24
|
+
→ Test or Record
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 1. Decision Question
|
|
28
|
+
|
|
29
|
+
把未知写成会改变行动的问题,例如:
|
|
30
|
+
|
|
31
|
+
- 哪一种交互机制能让首次使用者更快建立正确心智模型?
|
|
32
|
+
- 该库在当前数据规模下的失败边界是什么?
|
|
33
|
+
- 什么信号能区分视觉新鲜感与长期可用性?
|
|
34
|
+
|
|
35
|
+
“了解行业最佳实践”不是问题。
|
|
36
|
+
|
|
37
|
+
### 2. Project Grounding
|
|
38
|
+
|
|
39
|
+
先读真实仓库、用户反馈、现有产物、约束和历史决策。外部资料不能替代项目事实。
|
|
40
|
+
|
|
41
|
+
### 3. Targeted Search
|
|
42
|
+
|
|
43
|
+
选择与主张匹配的来源:
|
|
44
|
+
|
|
45
|
+
- 协议、行为、接口 → 官方规范与实现文档。
|
|
46
|
+
- 风险、效果、因果 → 原始研究、测量或真实案例。
|
|
47
|
+
- 品味与作品质量 → 代表作品、设计批评、成熟实践者的可验证方法。
|
|
48
|
+
- 当前工具能力 → 当前官方文档和真实运行结果。
|
|
49
|
+
|
|
50
|
+
来源数量不设下限或配额。一个直接原始证据可以足够;多个间接来源也可能仍不够。
|
|
51
|
+
|
|
52
|
+
### 4. Extract Mechanism
|
|
53
|
+
|
|
54
|
+
不要只抄结论或名字,提取:
|
|
55
|
+
|
|
56
|
+
- 在什么条件下成立。
|
|
57
|
+
- 通过什么机制产生结果。
|
|
58
|
+
- 可能在哪些条件下失败。
|
|
59
|
+
- 它能否迁移到当前项目。
|
|
60
|
+
|
|
61
|
+
### 5. Translate
|
|
62
|
+
|
|
63
|
+
每条保留证据都要落成项目后果:
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
Evidence → Mechanism → Project Decision → Verification Signal
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
无法改变决定、候选或验证方式的资料不进入正式上下文。
|
|
70
|
+
|
|
71
|
+
### 6. Stop
|
|
72
|
+
|
|
73
|
+
满足以下任一条件停止:
|
|
74
|
+
|
|
75
|
+
- 新证据不再改变候选排序或边界。
|
|
76
|
+
- 一个低成本实验比继续阅读更有信息量。
|
|
77
|
+
- 已有证据足够支持可逆决定。
|
|
78
|
+
- 不确定性只能由用户授权或真实反馈消除。
|
|
79
|
+
|
|
80
|
+
## Evidence Map
|
|
81
|
+
|
|
82
|
+
长期判断写入 Doctrine 的 Evidence Map;任务级专业资料进入临时 Expertise Pack;实现后的比较结果进入
|
|
83
|
+
Quality Proof。三者不要互相复制成第二真相源。
|
|
84
|
+
|
|
85
|
+
最低记录:
|
|
86
|
+
|
|
87
|
+
- 来源或项目事实。
|
|
88
|
+
- 为什么与当前问题相关。
|
|
89
|
+
- 提取的机制或边界。
|
|
90
|
+
- 它改变了什么决定。
|
|
91
|
+
- 可追溯位置。
|
|
92
|
+
|
|
93
|
+
## 失败模式
|
|
94
|
+
|
|
95
|
+
- 固定凑来源数量。
|
|
96
|
+
- 用权威名字代替适用性。
|
|
97
|
+
- 先搜索后定义问题。
|
|
98
|
+
- 把“大家都这样做”当证据。
|
|
99
|
+
- 搜到熟悉答案就停止。
|
|
100
|
+
- 把任务级技巧永久写入 Doctrine。
|
|
101
|
+
- 只有结论,没有基线、反例或验证信号。
|
|
@@ -1,77 +1,28 @@
|
|
|
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
|
-
- **Google"Design Docs"** — 搜 "Google design doc culture"。核心:设计先行、文档驱动决策、异议记录在文档里。
|
|
30
|
-
- **RFC 文化** — Rust/IETF 的 RFC 流程。搜 "Rust RFC process"。核心:提案-评审-决策的显式流程。
|
|
31
|
-
|
|
32
|
-
### 代码审查哲学
|
|
33
|
-
|
|
34
|
-
- **Linux Kernel Review 文化** — Linus Torvalds 的 review 风格(有争议,批判性阅读)。搜 "Linux kernel code review philosophy"。
|
|
35
|
-
- **Google Code Review Guidelines** — 搜 "Google code review guide"。核心:事实 > 偏好、 kindness + technical rigor。
|
|
36
|
-
- **Conventional Comments** — https://conventionalcomments.org/。核心:评论带标签(praise/nitpick/question/issue)。
|
|
37
|
-
|
|
38
|
-
### 冲突处理
|
|
39
|
-
|
|
40
|
-
- **Crucial Conversations** — Patterson 等(2011)。核心:安全氛围、事实先行、共同目标。
|
|
41
|
-
- **Nonviolent Communication (NVC)** — Marshall Rosenberg。核心:观察-感受-需要-请求。适用于团队冲突。
|
|
42
|
-
|
|
43
|
-
### 文档哲学
|
|
44
|
-
|
|
45
|
-
- **Docs as Code** — 搜 "docs as code philosophy"。核心:文档和代码同生命周期、同审查流程。
|
|
46
|
-
- **The Bitter Lesson of Documentation** — 搜 "documentation bitter lesson"。核心:文档过时比没有文档更危险。
|
|
47
|
-
|
|
48
|
-
### ADR(架构决策记录)
|
|
49
|
-
|
|
50
|
-
- **Michael Nygard"Documenting Architecture Decisions"** — 原文:https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions。ADR 的原始定义。
|
|
51
|
-
- **ADR GitHub Organization** — https://adr.github.io/。ADR 的变体和实践。
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## 落地要求
|
|
56
|
-
|
|
57
|
-
织造出的协作哲学融入 DECISION_RUBRIC.md 或独立文档,必须包含:
|
|
58
|
-
|
|
59
|
-
1. **决策权限矩阵**:哪些决策由谁做(单人/共识/权威)
|
|
60
|
-
2. **冲突处理规则**:分歧升级路径、仲裁机制
|
|
61
|
-
3. **变更管理流程**:变更发起、审批、影响评估
|
|
62
|
-
4. **代码审查标准**:审查看什么、不通过怎么办
|
|
63
|
-
5. **维度冲突取舍规则**:当产品哲学和工程哲学冲突时,谁优先?什么条件下可以覆盖?
|
|
64
|
-
6. **灵感来源**:至少 2 个独立源,每个源说明"为什么选它"
|
|
65
|
-
|
|
66
|
-
### DECISION_RUBRIC.md 的特殊要求
|
|
67
|
-
|
|
68
|
-
- 维度冲突的取舍规则(如"性能 vs 体验冲突时,体验优先")
|
|
69
|
-
- 取舍规则的适用条件(什么时候规则生效)
|
|
70
|
-
- 例外条件(什么时候规则可以被覆盖)
|
|
71
|
-
- 覆盖规则需要什么(如"需要用户显式批准")
|
|
72
|
-
|
|
73
|
-
### 禁止
|
|
74
|
-
|
|
75
|
-
- 禁止"共识决策"这种没有操作性的规则——必须说明"共识达不成怎么办"
|
|
76
|
-
- 禁止冲突处理只有"讨论解决"——必须有升级路径和仲裁机制
|
|
77
|
-
- 禁止维度冲突取舍规则没有例外条件——所有规则都应有可覆盖的场景
|
|
1
|
+
# Doctrine Lens — Collaboration and Decision Rights
|
|
2
|
+
|
|
3
|
+
> 按需使用。单人、低冲突项目不需要制造一套治理制度。
|
|
4
|
+
|
|
5
|
+
## 触发
|
|
6
|
+
|
|
7
|
+
- 多个角色或团队对同一决定拥有不同责任。
|
|
8
|
+
- 重要分歧反复拖慢或破坏交付。
|
|
9
|
+
- 变更需要明确授权、影响评估或审计。
|
|
10
|
+
- 人类与 Agent 的决策边界不清晰。
|
|
11
|
+
|
|
12
|
+
## 决策问题
|
|
13
|
+
|
|
14
|
+
1. 哪类决定由谁负责,谁提供意见,谁最终批准?
|
|
15
|
+
2. 事实分歧、价值分歧和授权分歧分别如何解决?
|
|
16
|
+
3. 什么变更需要影响评估,什么可以直接可逆实验?
|
|
17
|
+
4. 何时必须升级给人类,何时 Agent 应自主推进?
|
|
18
|
+
5. 哪些协作行为会制造虚假共识、责任漂移或文档表演?
|
|
19
|
+
|
|
20
|
+
## 输出标准
|
|
21
|
+
|
|
22
|
+
- 只覆盖真实存在的决策类型。
|
|
23
|
+
- 权限与升级条件清楚。
|
|
24
|
+
- 评审标准关注结果、契约和风险,不管理个人风格。
|
|
25
|
+
- 规则包含例外和退出条件。
|
|
26
|
+
- Evidence Map 记录导致规则产生的真实冲突或外部依据。
|
|
27
|
+
|
|
28
|
+
协作 Doctrine 不复制角色提示词;角色权限由 LOOM System Boundary 管理。
|