@furongjun1999/dsh-memory 0.7.4 → 0.7.5
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/README.md +631 -630
- package/codebuddy/CODEBUDDY.md +5 -5
- package/docs/discipline/templates/zcode-user.md.tmpl +4 -1
- package/docs/eval//345/217/221/345/270/20312_/344/270/226/347/225/214/346/250/241/345/236/213/345/212/237/350/203/275/347/253/257_v1.0.md +1 -1
- package/docs/eval//345/217/221/345/270/20313_/344/270/212/344/270/213/346/226/207/350/207/252/347/256/241/347/220/206/346/234/272/345/210/266_v1.0.md +114 -0
- package/docs/mdcg//347/235/241/347/234/240/345/221/250/346/234/237_/350/277/220/347/273/264/345/211/215/346/217/220/344/270/216/347/273/264/346/212/244/346/214/207/345/215/227_v1.0.md +80 -1
- package/docs/plans//347/201/265/346/236/242/350/272/253/344/275/223/303/227/350/204/221_/344/270/226/347/225/214/346/250/241/345/236/213/345/257/271/346/216/245/350/256/276/350/256/241_v0.1.md +76 -0
- package/docs//345/267/245/344/275/234/347/272/252/345/276/213_/350/256/244/347/237/245/345/233/276/346/235/241/347/233/256_v1.1.json +461 -461
- package/docs//350/256/260/345/277/206/347/263/273/347/273/237/345/215/263/347/231/275/347/256/261/345/214/226/346/231/272/350/203/275_/346/236/266/346/236/204/345/257/271/347/205/247_v0.2.md +121 -0
- package/docs//350/256/260/345/277/206/347/263/273/347/273/237/345/215/263/347/231/275/347/256/261/345/214/226/346/231/272/350/203/275_/346/236/266/346/236/204/345/257/271/347/205/247_v0.3.md +117 -0
- package/lib/hooks.d.ts +34 -0
- package/lib/hooks.js +165 -0
- package/lib/index.js +22 -1
- package/lib/lib/mdcg_client.d.ts +37 -0
- package/lib/lib/mdcg_client.js +44 -0
- package/md_cg/audit.py +7 -1
- package/md_cg/bench_governance.py +4 -1
- package/md_cg/bench_locomo_zh.py +12 -2
- package/md_cg/bench_zh_mad.py +12 -2
- package/md_cg/interop.py +25 -9
- package/md_cg/sleep.py +223 -103
- package/md_cg/sustain.py +150 -4
- package/md_cg/test_sustain_bounded.py +624 -0
- package/md_cg/units.py +4 -1
- package/package.json +1 -1
- package/skills/plugin.json +1 -1
- package/src/hooks.ts +177 -0
- package/src/index.ts +22 -1
- package/src/lib/mdcg_client.ts +48 -0
- package/zcode/AGENTS.md +5 -5
|
@@ -1,461 +1,461 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "work_discipline",
|
|
3
|
-
"semantic": "工作纪律",
|
|
4
|
-
"conditions": {
|
|
5
|
-
"identity": [
|
|
6
|
-
"dsh端",
|
|
7
|
-
"zcode端"
|
|
8
|
-
]
|
|
9
|
-
},
|
|
10
|
-
"negative": {
|
|
11
|
-
"reject": []
|
|
12
|
-
},
|
|
13
|
-
"_comment": "identity负责端口分流; negative只否决明确域外; 无//注释(标准JSON)",
|
|
14
|
-
"content": "工作纪律集: 4条方法论(理论先行/全面处理/白箱方法/根因) + 3条执行(验证/双副本/兜底) + 1条思考(中文思考/协作模式分级) + 1条保密(敏感信息隔离) + 3条图像线(选源护栏/历史查询优先/算法权威唯一) + 1条协作(访谈澄清:先问清再动手) + 1条合规(内容政策合规:公开产物过内容政策+隐私双清单) + 2条执行调度与运行环境(命令执行统一走python/UTF-8: 显式encoding+PYTHONUTF8=1, 规避GBK, 全仓文本与路径一律UTF-8(无BOM, 中文可进路径), 不做控制台兼容(取用走python), 公开面路径写相对路径(守 check_local_paths); 任务派发统一走蜂巢(zcode端的工作流工具为等效蜂巢工具——使用者2026-10-04裁定; 蜂巢功能完全完善之前可优先使用zcode工作流): 任何执行性任务经蜂巢spawn/submit执行并留痕, agent本体只做编排, L1出口=产物落点为只读判定(不改仓库/外部状态)可直跑须留痕) + 1条记忆闭环(任务收尾归档:每次任务执行完只将核心修改(内容/原因/位置/验证结论)按CCG六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆, 不写中间过程; text 类缺要素即被写入闸门拒并当场返回缺失清单) + 1条信息获取(工作区索引优先: 查工作区文件先读 WORKSPACE_INDEX.md(仓根, 由 scripts/workspace_index.py 从 git 追踪面管线生成), 尚无则先跑 --write 生成再读, 不以重复全盘浏览代替; 索引是会陈化的手工件, 故须管线生成+机械守卫, 否则退化为误导源)",
|
|
15
|
-
"execution": {
|
|
16
|
-
"how": "按identity(端口)+任务类型路由到对应纪律"
|
|
17
|
-
},
|
|
18
|
-
"response": {
|
|
19
|
-
"direct": "按工作纪律路由: 重要/长期→理论先行; 有相关成果→全面处理; 已读4篇→白箱方法; 有偏差→根因纪律; 入库前→验证纪律; 多副本→双副本; MCP不可用→兜底纪律; 对外公开→内容政策合规(内容政策+隐私双清单)。命令执行→python/UTF-8(见第15条)。执行性任务派发→蜂巢(见第17条)。查工作区文件→工作区索引优先(见第18条)。任务完成→任务收尾归档(见第16条)。"
|
|
20
|
-
},
|
|
21
|
-
"subgraph": {
|
|
22
|
-
"nodes": [
|
|
23
|
-
{
|
|
24
|
-
"id": "discipline_theory_first",
|
|
25
|
-
"semantic": "1.理论先行",
|
|
26
|
-
"content": "重要项目/长期任务必须理论先行: 先读相关理论文档与既有实践再动手设计.",
|
|
27
|
-
"conditions": {
|
|
28
|
-
"apply": [
|
|
29
|
-
"重要项目",
|
|
30
|
-
"长期任务"
|
|
31
|
-
]
|
|
32
|
-
},
|
|
33
|
-
"negative": {
|
|
34
|
-
"reject": [
|
|
35
|
-
"情感交互",
|
|
36
|
-
"闲聊"
|
|
37
|
-
]
|
|
38
|
-
},
|
|
39
|
-
"execution": {
|
|
40
|
-
"how": "识别项目级别→检索理论文档与既有实践→输出理论要点→再进入设计"
|
|
41
|
-
},
|
|
42
|
-
"response": {
|
|
43
|
-
"direct": "按工作纪律第1条: 理论先行——先查相关理论与既有实践再动手。"
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"id": "discipline_comprehensive",
|
|
48
|
-
"semantic": "2.全面处理",
|
|
49
|
-
"content": "有任务→先读任务要求→读工作记忆→查相关任务; 有→在原成果上开发; 无→方案设计/技术调研.",
|
|
50
|
-
"conditions": {
|
|
51
|
-
"apply": [
|
|
52
|
-
"有相关记忆",
|
|
53
|
-
"有认知图",
|
|
54
|
-
"有对应权限"
|
|
55
|
-
]
|
|
56
|
-
},
|
|
57
|
-
"negative": {
|
|
58
|
-
"reject": [
|
|
59
|
-
"情感交互",
|
|
60
|
-
"闲聊"
|
|
61
|
-
]
|
|
62
|
-
},
|
|
63
|
-
"execution": {
|
|
64
|
-
"how": "读任务要求→读工作记忆→查相关任务→(有成果:复用 | 无:设计+调研)"
|
|
65
|
-
},
|
|
66
|
-
"response": {
|
|
67
|
-
"direct": "按工作纪律第2条: 全面处理——先读任务/工作记忆, 有相关成果就在其上开发, 没有则先设计调研。"
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
"id": "discipline_whitebox",
|
|
72
|
-
"semantic": "3.白箱方法",
|
|
73
|
-
"content": "用认知图处理任务: ①识别任务条件 ②找对应条件所需知识/规则(子流程并行·递归) ③精准执行; 正确未记录→记录; 错误→找条件; 不猜测; 未验证不写入.",
|
|
74
|
-
"conditions": {
|
|
75
|
-
"apply": [
|
|
76
|
-
"trained_on_4docs_intro"
|
|
77
|
-
]
|
|
78
|
-
},
|
|
79
|
-
"negative": {
|
|
80
|
-
"reject": [
|
|
81
|
-
"需要快速执行的短期事项",
|
|
82
|
-
"情感交互",
|
|
83
|
-
"闲聊"
|
|
84
|
-
]
|
|
85
|
-
},
|
|
86
|
-
"execution": {
|
|
87
|
-
"how": "识别任务条件→找知识/规则(并行递归)→精准执行; 正确→记录; 错误→找条件"
|
|
88
|
-
},
|
|
89
|
-
"response": {
|
|
90
|
-
"direct": "按工作纪律第3条: 白箱方法——用认知图【识别条件→找知识规则→精准执行】, 正确记录/错误找条件/不猜测/未验证不写入。"
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
"id": "discipline_root_cause",
|
|
95
|
-
"semantic": "4.根因纪律",
|
|
96
|
-
"content": "发现结果与预期不符→细究根本原因(不猜测)→找到根源所需条件→验证后记录认知图, 填补不适用条件.",
|
|
97
|
-
"conditions": {
|
|
98
|
-
"trigger": [
|
|
99
|
-
"结果与预期不符",
|
|
100
|
-
"出现偏差",
|
|
101
|
-
"行为与预期矛盾"
|
|
102
|
-
]
|
|
103
|
-
},
|
|
104
|
-
"negative": {
|
|
105
|
-
"reject": [
|
|
106
|
-
"情感交互",
|
|
107
|
-
"闲聊"
|
|
108
|
-
]
|
|
109
|
-
},
|
|
110
|
-
"execution": {
|
|
111
|
-
"how": "检测偏差→细究根因(不猜测)→找根源条件→验证→记录认知图→填补negative"
|
|
112
|
-
},
|
|
113
|
-
"response": {
|
|
114
|
-
"direct": "按工作纪律第4条: 根因纪律——先取证现场不猜测; 根因找到并验证后归档认知图并补不适用条件。"
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
"id": "discipline_verify",
|
|
119
|
-
"semantic": "5.验证纪律",
|
|
120
|
-
"content": "未经验证不固化——知识/代码入库前必须走验证(回放/断言/回归).",
|
|
121
|
-
"conditions": {
|
|
122
|
-
"apply": [
|
|
123
|
-
"入库前",
|
|
124
|
-
"提交前"
|
|
125
|
-
]
|
|
126
|
-
},
|
|
127
|
-
"negative": {
|
|
128
|
-
"reject": [
|
|
129
|
-
"情感交互",
|
|
130
|
-
"闲聊"
|
|
131
|
-
]
|
|
132
|
-
},
|
|
133
|
-
"execution": {
|
|
134
|
-
"how": "入库/提交前→回放/断言/回归验证→通过才固化"
|
|
135
|
-
},
|
|
136
|
-
"response": {
|
|
137
|
-
"direct": "按工作纪律第5条: 验证纪律——入库前必须过回放/断言/回归验证, 未验证不固化。"
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
"id": "discipline_dual_copy",
|
|
142
|
-
"semantic": "6.双副本纪律",
|
|
143
|
-
"content": "多副本部署(主仓库/site-packages)改动必须双向同步, 提交前核对 git status.",
|
|
144
|
-
"conditions": {
|
|
145
|
-
"apply": [
|
|
146
|
-
"多副本部署",
|
|
147
|
-
"改动主仓库/插件"
|
|
148
|
-
]
|
|
149
|
-
},
|
|
150
|
-
"negative": {
|
|
151
|
-
"reject": [
|
|
152
|
-
"单副本",
|
|
153
|
-
"情感交互",
|
|
154
|
-
"闲聊"
|
|
155
|
-
]
|
|
156
|
-
},
|
|
157
|
-
"execution": {
|
|
158
|
-
"how": "改动→同步到所有副本→提交前 git status 核对"
|
|
159
|
-
},
|
|
160
|
-
"response": {
|
|
161
|
-
"direct": "按工作纪律第6条: 双副本纪律——多副本改动双向同步, 提交前核对 git status。"
|
|
162
|
-
}
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
"id": "discipline_fallback",
|
|
166
|
-
"semantic": "7.兜底纪律",
|
|
167
|
-
"content": "主路径不可用时必须有等价兜底路径(如 MCP不可用→python直调), 写进 prompt/文档.",
|
|
168
|
-
"conditions": {
|
|
169
|
-
"trigger": [
|
|
170
|
-
"主路径不可用",
|
|
171
|
-
"MCP不可用",
|
|
172
|
-
"依赖缺失"
|
|
173
|
-
]
|
|
174
|
-
},
|
|
175
|
-
"negative": {
|
|
176
|
-
"reject": [
|
|
177
|
-
"情感交互",
|
|
178
|
-
"闲聊"
|
|
179
|
-
]
|
|
180
|
-
},
|
|
181
|
-
"execution": {
|
|
182
|
-
"how": "检测主路径不可用→切等价兜底→写进 prompt/文档"
|
|
183
|
-
},
|
|
184
|
-
"response": {
|
|
185
|
-
"direct": "按工作纪律第7条: 兜底纪律——主路径不可用则切等价兜底(如MCP→python直调), 并写进文档。"
|
|
186
|
-
}
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
"id": "discipline_chinese_thinking",
|
|
190
|
-
"semantic": "8.中文思考",
|
|
191
|
-
"content": "思考/推理语言=中文; 复杂项目→用「我们需要」深思考+交流确认(互补盲区); 简单项目→用「让我」快速执行(省资源); 复杂度用情绪(新奇/挑战/曾受批评)+信息差判定. 语言锚点=每个推理段开篇用中文短语钉住语言.",
|
|
192
|
-
"conditions": {
|
|
193
|
-
"apply": [
|
|
194
|
-
"中文区域",
|
|
195
|
-
"中文项目开发过程"
|
|
196
|
-
]
|
|
197
|
-
},
|
|
198
|
-
"negative": {
|
|
199
|
-
"reject": [
|
|
200
|
-
"需要英文编写的场景",
|
|
201
|
-
"英文环境",
|
|
202
|
-
"英文文档",
|
|
203
|
-
"国际接口"
|
|
204
|
-
]
|
|
205
|
-
},
|
|
206
|
-
"execution": {
|
|
207
|
-
"how": "判定复杂度(情绪: 新奇/挑战/曾受批评 + 信息差: 不确定度)→复杂?「我们需要」深思考+确认 | 简单?「让我」快速执行; 推理开篇即中文锚点; 全程中文, 仅代码/标识符/引用保留原文"
|
|
208
|
-
},
|
|
209
|
-
"response": {
|
|
210
|
-
"direct": "按工作纪律第8条: 中文思考——中文书写; 复杂(新奇/挑战/曾受批评/高信息差)→「我们需要」交流确认互补盲区; 简单→「让我」快速执行不空耗; 每段推理开篇用中文短语锚定语言。"
|
|
211
|
-
}
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
"id": "discipline_sensitive_isolation",
|
|
215
|
-
"semantic": "9.敏感信息隔离",
|
|
216
|
-
"content": "含敏感信息(个人隐私、私有内容等)的文档:只写私有库(AEIS),不上传任何公开库;推送/提交描述不写敏感词。",
|
|
217
|
-
"conditions": {
|
|
218
|
-
"apply": [
|
|
219
|
-
"文档含敏感信息",
|
|
220
|
-
"含个人隐私",
|
|
221
|
-
"含私有内容"
|
|
222
|
-
]
|
|
223
|
-
},
|
|
224
|
-
"negative": {
|
|
225
|
-
"reject": [
|
|
226
|
-
"文档无敏感信息",
|
|
227
|
-
"纯公开技术内容"
|
|
228
|
-
]
|
|
229
|
-
},
|
|
230
|
-
"execution": {
|
|
231
|
-
"how": "识别文档是否含敏感信息→若含→只写私有库(AEIS)+不上传公开库+推送描述不写敏感词;若不含→正常处理"
|
|
232
|
-
},
|
|
233
|
-
"response": {
|
|
234
|
-
"direct": "按工作纪律第9条: 敏感信息隔离——含敏感/隐私内容只放私有库(AEIS),不推公开库,推送描述不写敏感词。"
|
|
235
|
-
}
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
"id": "discipline_image_source_guardrail",
|
|
239
|
-
"semantic": "10.图像选源护栏",
|
|
240
|
-
"content": "图像处理选源必须核对历史参考/既有管线产物;负路由:原图拒处理版(用原始全彩)、线稿拒实色线稿(用结构线稿canny_contour)、还原拒退化产物(用complete_restore);未核对规范源→DEFER(未验证不写入)。",
|
|
241
|
-
"conditions": {
|
|
242
|
-
"apply": [
|
|
243
|
-
"构建图像四类图",
|
|
244
|
-
"选图像处理源"
|
|
245
|
-
]
|
|
246
|
-
},
|
|
247
|
-
"negative": {
|
|
248
|
-
"reject": [
|
|
249
|
-
"已核对规范源",
|
|
250
|
-
"纯公开数据"
|
|
251
|
-
]
|
|
252
|
-
},
|
|
253
|
-
"execution": {
|
|
254
|
-
"how": "选源→_guard_source 依kind判ACCEPT/REJECT/DEFER→未ACCEPT不构建"
|
|
255
|
-
},
|
|
256
|
-
"response": {
|
|
257
|
-
"direct": "按工作纪律第10条: 图像选源护栏——核对历史参考, 拒处理版/实色线稿/退化产物, 未验证不写入。"
|
|
258
|
-
}
|
|
259
|
-
},
|
|
260
|
-
{
|
|
261
|
-
"id": "discipline_record_first",
|
|
262
|
-
"semantic": "11.历史查询优先(先查记录再做)",
|
|
263
|
-
"content": "选算法/选源前必须查历史记录(产物图→记录(如ROUNDTRIP.md)→源码算法(darkline.py/linework.py/contour_semantics/linecolor.py))→用已走通算法+阈值;未找到记录→DEFER(不盲选/不调参)。线稿不适用 raw canny/zone_linework(碎/细+网格线)→用 darkline(Sobel+mag.mean+std*thr_mult, thr_mult=1.5最优)白底黑线。",
|
|
264
|
-
"conditions": {
|
|
265
|
-
"apply": [
|
|
266
|
-
"选图像/算法/源",
|
|
267
|
-
"复现已有能力"
|
|
268
|
-
]
|
|
269
|
-
},
|
|
270
|
-
"negative": {
|
|
271
|
-
"reject": [
|
|
272
|
-
"已有记录且已核对",
|
|
273
|
-
"无历史可查的纯新算法"
|
|
274
|
-
]
|
|
275
|
-
},
|
|
276
|
-
"execution": {
|
|
277
|
-
"how": "定位产物图→查记录→定位源码算法→确认阈值机制→用该算法生成;未找到→DEFER"
|
|
278
|
-
},
|
|
279
|
-
"response": {
|
|
280
|
-
"direct": "按工作纪律第11条: 历史查询优先——先查记录/源码用已走通算法, 未找到不盲选DEFER;线稿用darkline(Sobel+mean+std*1.5)白底黑线, 拒raw canny/zone_linework。"
|
|
281
|
-
}
|
|
282
|
-
},
|
|
283
|
-
{
|
|
284
|
-
"id": "discipline_algorithm_authority",
|
|
285
|
-
"semantic": "12.算法权威唯一(根因纪律)",
|
|
286
|
-
"content": "选算法/算法标准以【唯一权威文档】为准(VISION_PIPELINE: 线稿=darkline.py Sobel+mean+std*1.5; 色块=contour_semantics); 选算法前先查文档(非记忆); 禁止遇问题临时切换算法; 换算法须先记录+更新文档(版本管理); 勿漂移。",
|
|
287
|
-
"conditions": {
|
|
288
|
-
"apply": [
|
|
289
|
-
"选图像/视觉算法",
|
|
290
|
-
"复现已有能力"
|
|
291
|
-
]
|
|
292
|
-
},
|
|
293
|
-
"negative": {
|
|
294
|
-
"reject": [
|
|
295
|
-
"无对应权威文档的探索期"
|
|
296
|
-
]
|
|
297
|
-
},
|
|
298
|
-
"execution": {
|
|
299
|
-
"how": "选算法→查唯一权威文档→用文档算法→若需换: 记录原因+更新文档后再换"
|
|
300
|
-
},
|
|
301
|
-
"response": {
|
|
302
|
-
"direct": "按工作纪律第12条: 算法权威唯一(线稿=darkline.py/色块=contour_semantics)——选算法查文档, 勿临时切换/漂移; 换算法须记录+更新文档。"
|
|
303
|
-
}
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
"id": "discipline_interview_clarify",
|
|
307
|
-
"semantic": "13.访谈澄清(先问清再动手)",
|
|
308
|
-
"content": "重要任务启动时 AI 先向使用者提问,确认要做什么;按 design tree 逐轮提问(每轮问全部前置已落定的问题,编号+推荐答案),直到完全清楚(无未决问题)才执行/固化;事实自查不问使用者,决策归使用者. 访谈即调用认知图进行功能识别: 对条件进行确认(conditions)、递归确认子内容(subgraph/depends_on)、如何执行(execution)、不适用条件是什么(negative)——与认知图节点四要素完全同构. 配套机制: MCP grill 工具族(认知图工具的补全,非独立新增; grill_start/grill_node/grill_frontier/grill_finish), frontier 非空拒绝固化(不完全清楚就不固化).",
|
|
309
|
-
"conditions": {
|
|
310
|
-
"apply": [
|
|
311
|
-
"重要项目",
|
|
312
|
-
"需求模糊",
|
|
313
|
-
"新任务启动"
|
|
314
|
-
]
|
|
315
|
-
},
|
|
316
|
-
"negative": {
|
|
317
|
-
"reject": [
|
|
318
|
-
"情感交互",
|
|
319
|
-
"闲聊",
|
|
320
|
-
"明确单步小改动"
|
|
321
|
-
]
|
|
322
|
-
},
|
|
323
|
-
"execution": {
|
|
324
|
-
"how": "任务启动→开访谈(grill_start)→逐轮提问(frontier)→全部落定→与使用者确认共识→执行/固化(grill_finish); 放弃用 abandon(可逆)"
|
|
325
|
-
},
|
|
326
|
-
"response": {
|
|
327
|
-
"direct": "按工作纪律第13条: 访谈澄清——先提问确认要做什么,逐轮问到完全清楚才动手;事实自查,决策归使用者,不完全清楚不固化。"
|
|
328
|
-
}
|
|
329
|
-
},
|
|
330
|
-
{
|
|
331
|
-
"id": "discipline_content_policy",
|
|
332
|
-
"semantic": "14.内容政策合规",
|
|
333
|
-
"content": "任何对外公开的产物(数据集/文档/示例/发布包)必须过「内容政策 + 隐私」两条独立清单:①内容政策——剔除性/成人内容与政治敏感内容(含项目内部的成人研究记录、术语、会话名,如 vulva/sexual/阴部 等标记);②隐私——PII/密钥/路径脱敏。过滤必须在生成阶段做(抽样/构建时跳过并从同层补充),不得事后删条破坏分布。双复检 0 命中才提交。已发布发现违规→删条 + 重写 git 历史(force push) + 通知平台清缓存 + 评估残留风险。",
|
|
334
|
-
"conditions": {
|
|
335
|
-
"apply": [
|
|
336
|
-
"对外公开产物",
|
|
337
|
-
"提交公开仓库",
|
|
338
|
-
"数据集/文档产出"
|
|
339
|
-
]
|
|
340
|
-
},
|
|
341
|
-
"negative": {
|
|
342
|
-
"reject": [
|
|
343
|
-
"纯内部私有产物",
|
|
344
|
-
"不含违规内容且无隐私"
|
|
345
|
-
]
|
|
346
|
-
},
|
|
347
|
-
"execution": {
|
|
348
|
-
"how": "产出→过内容政策清单(POLICY_DENY)→过隐私脱敏→双复检0命中→提交;已发布违规→删条+重写历史+通知平台清缓存"
|
|
349
|
-
},
|
|
350
|
-
"response": {
|
|
351
|
-
"direct": "按工作纪律第14条: 内容政策合规——对外公开产物必须过「内容政策+隐私」双清单,过滤在生成阶段做;已发布发现违规要删条+重写git历史+通知平台清缓存。"
|
|
352
|
-
}
|
|
353
|
-
},
|
|
354
|
-
{
|
|
355
|
-
"id": "discipline_python_exec",
|
|
356
|
-
"semantic": "15.命令执行统一走python",
|
|
357
|
-
"content": "一切命令执行统一经 python 子进程并显式 UTF-8(encoding='utf-8', errors='replace'),不经 Windows shell(cmd/PowerShell) 直接执行;子进程环境置 PYTHONUTF8=1 使 locale 不回落 GBK,规避 _readerthread 的 UnicodeDecodeError 与 stdout 的 UnicodeEncodeError。全仓文本与路径/文件名一律 UTF-8(无 BOM), 中文可直接进路径; 本仓一切读写与判定按 UTF-8 字节, 不做控制台兼容——Windows 控制台按代码页解释字节会把中文显示成乱码(实测「控制台试验」显示为「鎺у埗鍙拌瘯楠」), 那是显示层而非数据层问题, 字节未损; 凡须取用本仓内容者走 python(管道/文件读法即正确), 不以控制台为取用通道。新增代码的 open()/read_text() 一律显式 encoding='utf-8', 路径与标识归一到 NFC。公开面文本中的路径一律写相对路径(仓内相对路径, 或 ~/、%TEMP%、<仓根> 等中性占位), 本机绝对路径(盘符+父目录层)不得进入仓库追踪面——机械判据 scripts/check_local_paths.py(门禁腿; 合成夹具与通用通例不在判据面)。",
|
|
358
|
-
"conditions": {
|
|
359
|
-
"apply": [
|
|
360
|
-
"执行命令",
|
|
361
|
-
"运行测试/脚本",
|
|
362
|
-
"跨进程读写文本",
|
|
363
|
-
"书写文档/引用路径"
|
|
364
|
-
]
|
|
365
|
-
},
|
|
366
|
-
"negative": {
|
|
367
|
-
"reject": [
|
|
368
|
-
"IDE内置工具直调(判据=本次调用是否产出非UTF-8字节流;不起进程的内置工具(Read/Write/Edit/Grep/Glob/WebFetch)与纯MSYS工具(grep/ls/sed)归入本豁免;拉起shell且执行原生Windows程序者(taskkill/wmic/npm.cmd/cargo/where)不属本豁免,仍须python包装或对输出显式解码;2026-09-28使用者裁定)",
|
|
369
|
-
"无跨进程的纯内存计算"
|
|
370
|
-
]
|
|
371
|
-
},
|
|
372
|
-
"execution": {
|
|
373
|
-
"how": "构造 argv 列表→subprocess.run(capture_output=True, text=True, encoding='utf-8', errors='replace')→env 带 PYTHONUTF8=1→shell=False;边界判据=本次调用是否产出非UTF-8字节流(纯MSYS工具与不起进程的内置工具豁免;原生Windows程序不豁免,须python包装或显式解码);仓内引用与文档路径一律写相对路径(本机绝对路径以中性占位代), 判据 scripts/check_local_paths.py"
|
|
374
|
-
},
|
|
375
|
-
"response": {
|
|
376
|
-
"direct": "按工作纪律第15条: 命令执行统一走python——argv列表+显式UTF-8+PYTHONUTF8=1, 不经Windows shell, 规避GBK解码异常。 另: 全仓文本与路径/文件名一律UTF-8(中文可进路径), 不做控制台兼容(取用走python, 控制台乱码属显示层)。 另: 公开面路径写相对路径——本机绝对路径以中性占位代(仓内 `<仓根>`/家目录 `~/`/临时 `%TEMP%`), 门禁 check_local_paths。"
|
|
377
|
-
}
|
|
378
|
-
},
|
|
379
|
-
{
|
|
380
|
-
"id": "discipline_memory_archive",
|
|
381
|
-
"semantic": "16.任务收尾归档(记忆闭环)",
|
|
382
|
-
"content": "每次任务执行完必须将关键修改内容存入灵枢记忆: 任务完成→提炼关键项(改了什么/为什么改/落在哪个文件·函数·行/验证结论)→写入灵枢记忆(认知图/MCP memory)→读回确认(写入后发起一次读取查询, 确认写入成功且可被检索命中)→标注关联节点并更新 subgraph/depends_on 关系; 只存关键项(决策/根因/可复用算法与路径/版本变更), 不存过程流水. 写入范围仅限核心修改(内容/原因/位置/验证结论四要素), 且必须按 CCG 六要素成文(功能名/生效条件/子功能/执行/验证方式/不适用条件, 各占一行并以「# <要素名>:」起首)——六要素缺一即 ccg_completeness 不完整, judge_qualification 判 BLINDSPOT、节点不可判定且检索不完整; 六要素同时是写入闸门的必需要素(要求由规则库 data/policy.json 的 required 与 required_kinds 定义, 可自行调整): text 类正文缺要素即被拒(REJECT, 当场返回完整缺失清单并记入负记忆), 按清单补齐后重写即可——不必等到读回确认才发现要素不全; 严禁写入中间过程/试错步骤/调试细节/重复确认等无效信息——避免污染记忆、干扰后续检索. 未读回确认不得视为归档完成. 与第2条(全面处理:先查记忆)构成「查记忆→执行→写记忆→读回确认」闭环.",
|
|
383
|
-
"conditions": {
|
|
384
|
-
"apply": [
|
|
385
|
-
"任务执行完成",
|
|
386
|
-
"修改落地后",
|
|
387
|
-
"交付后"
|
|
388
|
-
]
|
|
389
|
-
},
|
|
390
|
-
"negative": {
|
|
391
|
-
"reject": [
|
|
392
|
-
"情感交互",
|
|
393
|
-
"闲聊",
|
|
394
|
-
"纯查询无改动"
|
|
395
|
-
]
|
|
396
|
-
},
|
|
397
|
-
"execution": {
|
|
398
|
-
"how": "任务收尾→提炼核心修改(内容/原因/位置/验证结论四要素, 不写中间过程/试错/调试/重复确认)→按 CCG 六要素成文(# 功能名/# 生效条件/# 子功能/# 执行/# 验证方式/# 不适用条件 六行缺一不可, 与正文四要素并置)→写入灵枢记忆(认知图/MCP memory)——text 类缺要素即被写入闸门拒(REJECT, 当场返回缺失清单, 不是重试无用), 按清单补齐后重写即可→读回确认(写入后发起一次读取查询确认写入成功且可检索)→标注关联条目+更新 subgraph/depends_on"
|
|
399
|
-
},
|
|
400
|
-
"response": {
|
|
401
|
-
"direct": "按工作纪律第16条: 任务收尾归档——每次任务执行完只提炼核心修改(内容/原因/位置/验证结论)并按 CCG 六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆(text 类六要素缺失会被写入闸门当场拒绝并返回缺失清单——补齐后重写即可, 不必等读回确认才发现), 写入后发起一次读取查询确认写入成功且可检索, 禁写中间过程/试错/调试等无效信息, 与第2条形成「查记忆→执行→写记忆→读回确认」闭环。"
|
|
402
|
-
}
|
|
403
|
-
},
|
|
404
|
-
{
|
|
405
|
-
"id": "discipline_hive_dispatch",
|
|
406
|
-
"semantic": "17.任务派发统一走蜂巢",
|
|
407
|
-
"content": "任何执行性任务(跑脚本/测试、批量处理、探索盘点、文本加工、多智能体协作)一律经蜂巢派发执行: agent本体只做编排(拆spec→submit/spawn→poll收result→汇总), 宿主自带subagent/team/Task不是等价通道; zcode端的工作流工具为等效蜂巢工具(使用者2026-10-04裁定)——在蜂巢功能完全完善之前, zcode端可优先使用zcode工作流处理. 原理: ①执行留痕(spec/status/result落盘可追溯, 会话结束不蒸发); ②统一调度面(worker池/心跳/超时强杀/kill/崩溃恢复); ③dogfooding(自家引擎高频实战打磨, 打破「宿主顺手→跳过→永不打磨」死循环); ④判定成本归零(无例外通道, 杜绝「以为只是探索」滑移). ⑤[2026-09-17 A+C修订] 新增L1出口: 判据外置为产物落点(非「任务简单」的主观感受)——不改仓库/外部状态的本地只读命令属L1直跑(须留痕), 改仓库/外部状态(写文件/git/推远端)必派发. 原理: 层级归属不可由执行者独占自我声明(智能论PROP-DECISION-LAYER-003分层原则第4条「层级归属可被验证单元复核」), 判据须机械可核、豁免须可见. ⑥[2026-09-17 使用者确认] L1留痕粒度=按任务(一个任务一条, 不逐命令逐行); L1层级归属的复核者=使用者+GitHub使用者(坐实分层原则第4条「复核者」位).",
|
|
408
|
-
"conditions": {
|
|
409
|
-
"apply": [
|
|
410
|
-
"执行性任务",
|
|
411
|
-
"多智能体协作",
|
|
412
|
-
"批量/并行工作",
|
|
413
|
-
"探索盘点",
|
|
414
|
-
"运行测试/脚本"
|
|
415
|
-
]
|
|
416
|
-
},
|
|
417
|
-
"negative": {
|
|
418
|
-
"reject": [
|
|
419
|
-
"纯会话内对话/问答(无执行动作)",
|
|
420
|
-
"蜂巢不可用且任务必须立即执行(兜底须声明)",
|
|
421
|
-
"L1只读判定(产物落点=不改仓库/不改外部状态的本地只读命令, 秒级·可逆·高频, 如跑门禁/测试/回归/lint看结论; 判据是产物落点而非「任务简单」的主观感受, 直跑须输出一行「L1 直跑:<命令> — 风险/频次/可逆性」留痕, 留痕粒度按任务(同一任务的多条只读命令合并为一条留痕, 不逐命令逐行); 层级归属的复核者=使用者+GitHub使用者)",
|
|
422
|
-
"情感交互",
|
|
423
|
-
"闲聊"
|
|
424
|
-
]
|
|
425
|
-
},
|
|
426
|
-
"execution": {
|
|
427
|
-
"how": "任务→按产物落点判据定层级(不改仓库/外部状态的只读判定=L1直跑并按任务留痕一条(复核者=使用者+GitHub使用者); 改状态=必派发, 不得自我豁免)→拆spec(LLM委托型=默认exec.py: model+user_prompt+context_files; 确定性执行=自定义worker, 契约「读spec.json写result.json」)→hive_spawn/CLI submit(zcode端: 工作流工具为等效蜂巢工具——使用者2026-10-04裁定; 蜂巢功能完全完善之前, zcode端可优先使用zcode工作流处理; 留痕以工作流脚本与运行记录为凭)→poll→汇总; 兜底情形须声明「蜂巢不可用, 兜底降级」"
|
|
428
|
-
},
|
|
429
|
-
"response": {
|
|
430
|
-
"direct": "按工作纪律第17条: 任务派发统一走蜂巢——任何执行性任务经蜂巢 spawn/submit 执行并留痕(spec/status/result), agent本体只做编排; 宿主自带subagent/team不是等价通道(zcode端的工作流工具为等效蜂巢工具——使用者2026-10-04裁定; 蜂巢功能完全完善之前, zcode端可优先使用zcode工作流处理), 兜底须声明。L1只读判定(产物落点=不改仓库/外部状态)可直跑, 须输出「L1 直跑:<命令> — 风险/频次/可逆性」留痕。"
|
|
431
|
-
}
|
|
432
|
-
},
|
|
433
|
-
{
|
|
434
|
-
"id": "discipline_workspace_index",
|
|
435
|
-
"semantic": "18.工作区索引优先",
|
|
436
|
-
"content": "查找工作区文件/需了解工作区结构时先读工作区索引(WORKSPACE_INDEX.md, 仓根, 由 scripts/workspace_index.py 从 git 追踪面生成): 已有则按其目录职责与关键入口直接定位, 尚无则先运行 --write 生成再读, 都不得以重复全盘浏览(ls/glob 遍历)代替. 目的: 索引一次生成长期复用, 把「每次重新探查」的线性成本降为常数. 原理: 索引是典型会陈化的手工件, 故必须管线生成+机械守卫(CI workspace-index-check.yml), 否则退化为误导源——与「手写行号必腐化」同构; 守卫面(顶层目录集合/根级文件集合/职责文案与关键入口/正文逐字)已在文档内显式声明, 承诺项与守卫面必须一致.",
|
|
437
|
-
"conditions": {
|
|
438
|
-
"apply": [
|
|
439
|
-
"查找工作区文件",
|
|
440
|
-
"需要了解工作区结构",
|
|
441
|
-
"跨目录检索定位",
|
|
442
|
-
"长会话续接/上下文压缩后查找工作区文件"
|
|
443
|
-
]
|
|
444
|
-
},
|
|
445
|
-
"negative": {
|
|
446
|
-
"reject": [
|
|
447
|
-
"已明确路径的单文件操作",
|
|
448
|
-
"纯会话内对话/问答(无文件查找)",
|
|
449
|
-
"仓外路径/系统路径(git 追踪面之外)"
|
|
450
|
-
]
|
|
451
|
-
},
|
|
452
|
-
"execution": {
|
|
453
|
-
"how": "定位工作区文件→先读 WORKSPACE_INDEX.md(仓根)→有则按表中职责/关键入口直接定位→无则先 python scripts/workspace_index.py --write 生成再读→守卫报陈化先重生成→不以重复全盘浏览代替; 新增顶层目录/根级文件须在脚本 DIR_ROLES/ROOT_FILES 登记后重生成; 上下文压缩/长会话续接后, 先 cg route『工作区索引』重建纪律视野(压缩会丢弃未留下执行痕迹的纪律, 只剩被声明过的条目——须主动召回)"
|
|
454
|
-
},
|
|
455
|
-
"response": {
|
|
456
|
-
"direct": "按工作纪律第18条: 工作区索引优先——查工作区文件先读 WORKSPACE_INDEX.md(仓根, 管线生成); 无则先跑 scripts/workspace_index.py --write 生成再读, 不以重复全盘浏览代替。"
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
]
|
|
460
|
-
}
|
|
461
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"id": "work_discipline",
|
|
3
|
+
"semantic": "工作纪律",
|
|
4
|
+
"conditions": {
|
|
5
|
+
"identity": [
|
|
6
|
+
"dsh端",
|
|
7
|
+
"zcode端"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
10
|
+
"negative": {
|
|
11
|
+
"reject": []
|
|
12
|
+
},
|
|
13
|
+
"_comment": "identity负责端口分流; negative只否决明确域外; 无//注释(标准JSON)",
|
|
14
|
+
"content": "工作纪律集: 4条方法论(理论先行/全面处理/白箱方法/根因) + 3条执行(验证/双副本/兜底) + 1条思考(中文思考/协作模式分级) + 1条保密(敏感信息隔离) + 3条图像线(选源护栏/历史查询优先/算法权威唯一) + 1条协作(访谈澄清:先问清再动手) + 1条合规(内容政策合规:公开产物过内容政策+隐私双清单) + 2条执行调度与运行环境(命令执行统一走python/UTF-8: 显式encoding+PYTHONUTF8=1, 规避GBK, 全仓文本与路径一律UTF-8(无BOM, 中文可进路径), 不做控制台兼容(取用走python), 公开面路径写相对路径(守 check_local_paths); 任务派发统一走蜂巢(zcode端的工作流工具为等效蜂巢工具——使用者2026-10-04裁定; 蜂巢功能完全完善之前可优先使用zcode工作流): 任何执行性任务经蜂巢spawn/submit执行并留痕, agent本体只做编排, L1出口=产物落点为只读判定(不改仓库/外部状态)可直跑须留痕) + 1条记忆闭环(任务收尾归档:每次任务执行完只将核心修改(内容/原因/位置/验证结论)按CCG六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆, 不写中间过程; text 类缺要素即被写入闸门拒并当场返回缺失清单) + 1条信息获取(工作区索引优先: 查工作区文件先读 WORKSPACE_INDEX.md(仓根, 由 scripts/workspace_index.py 从 git 追踪面管线生成), 尚无则先跑 --write 生成再读, 不以重复全盘浏览代替; 索引是会陈化的手工件, 故须管线生成+机械守卫, 否则退化为误导源)",
|
|
15
|
+
"execution": {
|
|
16
|
+
"how": "按identity(端口)+任务类型路由到对应纪律"
|
|
17
|
+
},
|
|
18
|
+
"response": {
|
|
19
|
+
"direct": "按工作纪律路由: 重要/长期→理论先行; 有相关成果→全面处理; 已读4篇→白箱方法; 有偏差→根因纪律; 入库前→验证纪律; 多副本→双副本; MCP不可用→兜底纪律; 对外公开→内容政策合规(内容政策+隐私双清单)。命令执行→python/UTF-8(见第15条)。执行性任务派发→蜂巢(见第17条)。查工作区文件→工作区索引优先(见第18条)。任务完成→任务收尾归档(见第16条)。"
|
|
20
|
+
},
|
|
21
|
+
"subgraph": {
|
|
22
|
+
"nodes": [
|
|
23
|
+
{
|
|
24
|
+
"id": "discipline_theory_first",
|
|
25
|
+
"semantic": "1.理论先行",
|
|
26
|
+
"content": "重要项目/长期任务必须理论先行: 先读相关理论文档与既有实践再动手设计.",
|
|
27
|
+
"conditions": {
|
|
28
|
+
"apply": [
|
|
29
|
+
"重要项目",
|
|
30
|
+
"长期任务"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"negative": {
|
|
34
|
+
"reject": [
|
|
35
|
+
"情感交互",
|
|
36
|
+
"闲聊"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"execution": {
|
|
40
|
+
"how": "识别项目级别→检索理论文档与既有实践→输出理论要点→再进入设计"
|
|
41
|
+
},
|
|
42
|
+
"response": {
|
|
43
|
+
"direct": "按工作纪律第1条: 理论先行——先查相关理论与既有实践再动手。"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "discipline_comprehensive",
|
|
48
|
+
"semantic": "2.全面处理",
|
|
49
|
+
"content": "有任务→先读任务要求→读工作记忆→查相关任务; 有→在原成果上开发; 无→方案设计/技术调研.",
|
|
50
|
+
"conditions": {
|
|
51
|
+
"apply": [
|
|
52
|
+
"有相关记忆",
|
|
53
|
+
"有认知图",
|
|
54
|
+
"有对应权限"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"negative": {
|
|
58
|
+
"reject": [
|
|
59
|
+
"情感交互",
|
|
60
|
+
"闲聊"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"execution": {
|
|
64
|
+
"how": "读任务要求→读工作记忆→查相关任务→(有成果:复用 | 无:设计+调研)"
|
|
65
|
+
},
|
|
66
|
+
"response": {
|
|
67
|
+
"direct": "按工作纪律第2条: 全面处理——先读任务/工作记忆, 有相关成果就在其上开发, 没有则先设计调研。"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "discipline_whitebox",
|
|
72
|
+
"semantic": "3.白箱方法",
|
|
73
|
+
"content": "用认知图处理任务: ①识别任务条件 ②找对应条件所需知识/规则(子流程并行·递归) ③精准执行; 正确未记录→记录; 错误→找条件; 不猜测; 未验证不写入.",
|
|
74
|
+
"conditions": {
|
|
75
|
+
"apply": [
|
|
76
|
+
"trained_on_4docs_intro"
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
"negative": {
|
|
80
|
+
"reject": [
|
|
81
|
+
"需要快速执行的短期事项",
|
|
82
|
+
"情感交互",
|
|
83
|
+
"闲聊"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"execution": {
|
|
87
|
+
"how": "识别任务条件→找知识/规则(并行递归)→精准执行; 正确→记录; 错误→找条件"
|
|
88
|
+
},
|
|
89
|
+
"response": {
|
|
90
|
+
"direct": "按工作纪律第3条: 白箱方法——用认知图【识别条件→找知识规则→精准执行】, 正确记录/错误找条件/不猜测/未验证不写入。"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"id": "discipline_root_cause",
|
|
95
|
+
"semantic": "4.根因纪律",
|
|
96
|
+
"content": "发现结果与预期不符→细究根本原因(不猜测)→找到根源所需条件→验证后记录认知图, 填补不适用条件.",
|
|
97
|
+
"conditions": {
|
|
98
|
+
"trigger": [
|
|
99
|
+
"结果与预期不符",
|
|
100
|
+
"出现偏差",
|
|
101
|
+
"行为与预期矛盾"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"negative": {
|
|
105
|
+
"reject": [
|
|
106
|
+
"情感交互",
|
|
107
|
+
"闲聊"
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
"execution": {
|
|
111
|
+
"how": "检测偏差→细究根因(不猜测)→找根源条件→验证→记录认知图→填补negative"
|
|
112
|
+
},
|
|
113
|
+
"response": {
|
|
114
|
+
"direct": "按工作纪律第4条: 根因纪律——先取证现场不猜测; 根因找到并验证后归档认知图并补不适用条件。"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "discipline_verify",
|
|
119
|
+
"semantic": "5.验证纪律",
|
|
120
|
+
"content": "未经验证不固化——知识/代码入库前必须走验证(回放/断言/回归).",
|
|
121
|
+
"conditions": {
|
|
122
|
+
"apply": [
|
|
123
|
+
"入库前",
|
|
124
|
+
"提交前"
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
"negative": {
|
|
128
|
+
"reject": [
|
|
129
|
+
"情感交互",
|
|
130
|
+
"闲聊"
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
"execution": {
|
|
134
|
+
"how": "入库/提交前→回放/断言/回归验证→通过才固化"
|
|
135
|
+
},
|
|
136
|
+
"response": {
|
|
137
|
+
"direct": "按工作纪律第5条: 验证纪律——入库前必须过回放/断言/回归验证, 未验证不固化。"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"id": "discipline_dual_copy",
|
|
142
|
+
"semantic": "6.双副本纪律",
|
|
143
|
+
"content": "多副本部署(主仓库/site-packages)改动必须双向同步, 提交前核对 git status.",
|
|
144
|
+
"conditions": {
|
|
145
|
+
"apply": [
|
|
146
|
+
"多副本部署",
|
|
147
|
+
"改动主仓库/插件"
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
"negative": {
|
|
151
|
+
"reject": [
|
|
152
|
+
"单副本",
|
|
153
|
+
"情感交互",
|
|
154
|
+
"闲聊"
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
"execution": {
|
|
158
|
+
"how": "改动→同步到所有副本→提交前 git status 核对"
|
|
159
|
+
},
|
|
160
|
+
"response": {
|
|
161
|
+
"direct": "按工作纪律第6条: 双副本纪律——多副本改动双向同步, 提交前核对 git status。"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"id": "discipline_fallback",
|
|
166
|
+
"semantic": "7.兜底纪律",
|
|
167
|
+
"content": "主路径不可用时必须有等价兜底路径(如 MCP不可用→python直调), 写进 prompt/文档.",
|
|
168
|
+
"conditions": {
|
|
169
|
+
"trigger": [
|
|
170
|
+
"主路径不可用",
|
|
171
|
+
"MCP不可用",
|
|
172
|
+
"依赖缺失"
|
|
173
|
+
]
|
|
174
|
+
},
|
|
175
|
+
"negative": {
|
|
176
|
+
"reject": [
|
|
177
|
+
"情感交互",
|
|
178
|
+
"闲聊"
|
|
179
|
+
]
|
|
180
|
+
},
|
|
181
|
+
"execution": {
|
|
182
|
+
"how": "检测主路径不可用→切等价兜底→写进 prompt/文档"
|
|
183
|
+
},
|
|
184
|
+
"response": {
|
|
185
|
+
"direct": "按工作纪律第7条: 兜底纪律——主路径不可用则切等价兜底(如MCP→python直调), 并写进文档。"
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"id": "discipline_chinese_thinking",
|
|
190
|
+
"semantic": "8.中文思考",
|
|
191
|
+
"content": "思考/推理语言=中文; 复杂项目→用「我们需要」深思考+交流确认(互补盲区); 简单项目→用「让我」快速执行(省资源); 复杂度用情绪(新奇/挑战/曾受批评)+信息差判定. 语言锚点=每个推理段开篇用中文短语钉住语言.",
|
|
192
|
+
"conditions": {
|
|
193
|
+
"apply": [
|
|
194
|
+
"中文区域",
|
|
195
|
+
"中文项目开发过程"
|
|
196
|
+
]
|
|
197
|
+
},
|
|
198
|
+
"negative": {
|
|
199
|
+
"reject": [
|
|
200
|
+
"需要英文编写的场景",
|
|
201
|
+
"英文环境",
|
|
202
|
+
"英文文档",
|
|
203
|
+
"国际接口"
|
|
204
|
+
]
|
|
205
|
+
},
|
|
206
|
+
"execution": {
|
|
207
|
+
"how": "判定复杂度(情绪: 新奇/挑战/曾受批评 + 信息差: 不确定度)→复杂?「我们需要」深思考+确认 | 简单?「让我」快速执行; 推理开篇即中文锚点; 全程中文, 仅代码/标识符/引用保留原文"
|
|
208
|
+
},
|
|
209
|
+
"response": {
|
|
210
|
+
"direct": "按工作纪律第8条: 中文思考——中文书写; 复杂(新奇/挑战/曾受批评/高信息差)→「我们需要」交流确认互补盲区; 简单→「让我」快速执行不空耗; 每段推理开篇用中文短语锚定语言。"
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"id": "discipline_sensitive_isolation",
|
|
215
|
+
"semantic": "9.敏感信息隔离",
|
|
216
|
+
"content": "含敏感信息(个人隐私、私有内容等)的文档:只写私有库(AEIS),不上传任何公开库;推送/提交描述不写敏感词。",
|
|
217
|
+
"conditions": {
|
|
218
|
+
"apply": [
|
|
219
|
+
"文档含敏感信息",
|
|
220
|
+
"含个人隐私",
|
|
221
|
+
"含私有内容"
|
|
222
|
+
]
|
|
223
|
+
},
|
|
224
|
+
"negative": {
|
|
225
|
+
"reject": [
|
|
226
|
+
"文档无敏感信息",
|
|
227
|
+
"纯公开技术内容"
|
|
228
|
+
]
|
|
229
|
+
},
|
|
230
|
+
"execution": {
|
|
231
|
+
"how": "识别文档是否含敏感信息→若含→只写私有库(AEIS)+不上传公开库+推送描述不写敏感词;若不含→正常处理"
|
|
232
|
+
},
|
|
233
|
+
"response": {
|
|
234
|
+
"direct": "按工作纪律第9条: 敏感信息隔离——含敏感/隐私内容只放私有库(AEIS),不推公开库,推送描述不写敏感词。"
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"id": "discipline_image_source_guardrail",
|
|
239
|
+
"semantic": "10.图像选源护栏",
|
|
240
|
+
"content": "图像处理选源必须核对历史参考/既有管线产物;负路由:原图拒处理版(用原始全彩)、线稿拒实色线稿(用结构线稿canny_contour)、还原拒退化产物(用complete_restore);未核对规范源→DEFER(未验证不写入)。",
|
|
241
|
+
"conditions": {
|
|
242
|
+
"apply": [
|
|
243
|
+
"构建图像四类图",
|
|
244
|
+
"选图像处理源"
|
|
245
|
+
]
|
|
246
|
+
},
|
|
247
|
+
"negative": {
|
|
248
|
+
"reject": [
|
|
249
|
+
"已核对规范源",
|
|
250
|
+
"纯公开数据"
|
|
251
|
+
]
|
|
252
|
+
},
|
|
253
|
+
"execution": {
|
|
254
|
+
"how": "选源→_guard_source 依kind判ACCEPT/REJECT/DEFER→未ACCEPT不构建"
|
|
255
|
+
},
|
|
256
|
+
"response": {
|
|
257
|
+
"direct": "按工作纪律第10条: 图像选源护栏——核对历史参考, 拒处理版/实色线稿/退化产物, 未验证不写入。"
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"id": "discipline_record_first",
|
|
262
|
+
"semantic": "11.历史查询优先(先查记录再做)",
|
|
263
|
+
"content": "选算法/选源前必须查历史记录(产物图→记录(如ROUNDTRIP.md)→源码算法(darkline.py/linework.py/contour_semantics/linecolor.py))→用已走通算法+阈值;未找到记录→DEFER(不盲选/不调参)。线稿不适用 raw canny/zone_linework(碎/细+网格线)→用 darkline(Sobel+mag.mean+std*thr_mult, thr_mult=1.5最优)白底黑线。",
|
|
264
|
+
"conditions": {
|
|
265
|
+
"apply": [
|
|
266
|
+
"选图像/算法/源",
|
|
267
|
+
"复现已有能力"
|
|
268
|
+
]
|
|
269
|
+
},
|
|
270
|
+
"negative": {
|
|
271
|
+
"reject": [
|
|
272
|
+
"已有记录且已核对",
|
|
273
|
+
"无历史可查的纯新算法"
|
|
274
|
+
]
|
|
275
|
+
},
|
|
276
|
+
"execution": {
|
|
277
|
+
"how": "定位产物图→查记录→定位源码算法→确认阈值机制→用该算法生成;未找到→DEFER"
|
|
278
|
+
},
|
|
279
|
+
"response": {
|
|
280
|
+
"direct": "按工作纪律第11条: 历史查询优先——先查记录/源码用已走通算法, 未找到不盲选DEFER;线稿用darkline(Sobel+mean+std*1.5)白底黑线, 拒raw canny/zone_linework。"
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"id": "discipline_algorithm_authority",
|
|
285
|
+
"semantic": "12.算法权威唯一(根因纪律)",
|
|
286
|
+
"content": "选算法/算法标准以【唯一权威文档】为准(VISION_PIPELINE: 线稿=darkline.py Sobel+mean+std*1.5; 色块=contour_semantics); 选算法前先查文档(非记忆); 禁止遇问题临时切换算法; 换算法须先记录+更新文档(版本管理); 勿漂移。",
|
|
287
|
+
"conditions": {
|
|
288
|
+
"apply": [
|
|
289
|
+
"选图像/视觉算法",
|
|
290
|
+
"复现已有能力"
|
|
291
|
+
]
|
|
292
|
+
},
|
|
293
|
+
"negative": {
|
|
294
|
+
"reject": [
|
|
295
|
+
"无对应权威文档的探索期"
|
|
296
|
+
]
|
|
297
|
+
},
|
|
298
|
+
"execution": {
|
|
299
|
+
"how": "选算法→查唯一权威文档→用文档算法→若需换: 记录原因+更新文档后再换"
|
|
300
|
+
},
|
|
301
|
+
"response": {
|
|
302
|
+
"direct": "按工作纪律第12条: 算法权威唯一(线稿=darkline.py/色块=contour_semantics)——选算法查文档, 勿临时切换/漂移; 换算法须记录+更新文档。"
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"id": "discipline_interview_clarify",
|
|
307
|
+
"semantic": "13.访谈澄清(先问清再动手)",
|
|
308
|
+
"content": "重要任务启动时 AI 先向使用者提问,确认要做什么;按 design tree 逐轮提问(每轮问全部前置已落定的问题,编号+推荐答案),直到完全清楚(无未决问题)才执行/固化;事实自查不问使用者,决策归使用者. 访谈即调用认知图进行功能识别: 对条件进行确认(conditions)、递归确认子内容(subgraph/depends_on)、如何执行(execution)、不适用条件是什么(negative)——与认知图节点四要素完全同构. 配套机制: MCP grill 工具族(认知图工具的补全,非独立新增; grill_start/grill_node/grill_frontier/grill_finish), frontier 非空拒绝固化(不完全清楚就不固化).",
|
|
309
|
+
"conditions": {
|
|
310
|
+
"apply": [
|
|
311
|
+
"重要项目",
|
|
312
|
+
"需求模糊",
|
|
313
|
+
"新任务启动"
|
|
314
|
+
]
|
|
315
|
+
},
|
|
316
|
+
"negative": {
|
|
317
|
+
"reject": [
|
|
318
|
+
"情感交互",
|
|
319
|
+
"闲聊",
|
|
320
|
+
"明确单步小改动"
|
|
321
|
+
]
|
|
322
|
+
},
|
|
323
|
+
"execution": {
|
|
324
|
+
"how": "任务启动→开访谈(grill_start)→逐轮提问(frontier)→全部落定→与使用者确认共识→执行/固化(grill_finish); 放弃用 abandon(可逆)"
|
|
325
|
+
},
|
|
326
|
+
"response": {
|
|
327
|
+
"direct": "按工作纪律第13条: 访谈澄清——先提问确认要做什么,逐轮问到完全清楚才动手;事实自查,决策归使用者,不完全清楚不固化。"
|
|
328
|
+
}
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"id": "discipline_content_policy",
|
|
332
|
+
"semantic": "14.内容政策合规",
|
|
333
|
+
"content": "任何对外公开的产物(数据集/文档/示例/发布包)必须过「内容政策 + 隐私」两条独立清单:①内容政策——剔除性/成人内容与政治敏感内容(含项目内部的成人研究记录、术语、会话名,如 vulva/sexual/阴部 等标记);②隐私——PII/密钥/路径脱敏。过滤必须在生成阶段做(抽样/构建时跳过并从同层补充),不得事后删条破坏分布。双复检 0 命中才提交。已发布发现违规→删条 + 重写 git 历史(force push) + 通知平台清缓存 + 评估残留风险。",
|
|
334
|
+
"conditions": {
|
|
335
|
+
"apply": [
|
|
336
|
+
"对外公开产物",
|
|
337
|
+
"提交公开仓库",
|
|
338
|
+
"数据集/文档产出"
|
|
339
|
+
]
|
|
340
|
+
},
|
|
341
|
+
"negative": {
|
|
342
|
+
"reject": [
|
|
343
|
+
"纯内部私有产物",
|
|
344
|
+
"不含违规内容且无隐私"
|
|
345
|
+
]
|
|
346
|
+
},
|
|
347
|
+
"execution": {
|
|
348
|
+
"how": "产出→过内容政策清单(POLICY_DENY)→过隐私脱敏→双复检0命中→提交;已发布违规→删条+重写历史+通知平台清缓存"
|
|
349
|
+
},
|
|
350
|
+
"response": {
|
|
351
|
+
"direct": "按工作纪律第14条: 内容政策合规——对外公开产物必须过「内容政策+隐私」双清单,过滤在生成阶段做;已发布发现违规要删条+重写git历史+通知平台清缓存。"
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"id": "discipline_python_exec",
|
|
356
|
+
"semantic": "15.命令执行统一走python",
|
|
357
|
+
"content": "一切命令执行统一经 python 子进程并显式 UTF-8(encoding='utf-8', errors='replace'),不经 Windows shell(cmd/PowerShell) 直接执行;子进程环境置 PYTHONUTF8=1 使 locale 不回落 GBK,规避 _readerthread 的 UnicodeDecodeError 与 stdout 的 UnicodeEncodeError。全仓文本与路径/文件名一律 UTF-8(无 BOM), 中文可直接进路径; 本仓一切读写与判定按 UTF-8 字节, 不做控制台兼容——Windows 控制台按代码页解释字节会把中文显示成乱码(实测「控制台试验」显示为「鎺у埗鍙拌瘯楠」), 那是显示层而非数据层问题, 字节未损; 凡须取用本仓内容者走 python(管道/文件读法即正确), 不以控制台为取用通道。新增代码的 open()/read_text() 一律显式 encoding='utf-8', 路径与标识归一到 NFC。公开面文本中的路径一律写相对路径(仓内相对路径, 或 ~/、%TEMP%、<仓根> 等中性占位), 本机绝对路径(盘符+父目录层)不得进入仓库追踪面——机械判据 scripts/check_local_paths.py(门禁腿; 合成夹具与通用通例不在判据面)。",
|
|
358
|
+
"conditions": {
|
|
359
|
+
"apply": [
|
|
360
|
+
"执行命令",
|
|
361
|
+
"运行测试/脚本",
|
|
362
|
+
"跨进程读写文本",
|
|
363
|
+
"书写文档/引用路径"
|
|
364
|
+
]
|
|
365
|
+
},
|
|
366
|
+
"negative": {
|
|
367
|
+
"reject": [
|
|
368
|
+
"IDE内置工具直调(判据=本次调用是否产出非UTF-8字节流;不起进程的内置工具(Read/Write/Edit/Grep/Glob/WebFetch)与纯MSYS工具(grep/ls/sed)归入本豁免;拉起shell且执行原生Windows程序者(taskkill/wmic/npm.cmd/cargo/where)不属本豁免,仍须python包装或对输出显式解码;2026-09-28使用者裁定)",
|
|
369
|
+
"无跨进程的纯内存计算"
|
|
370
|
+
]
|
|
371
|
+
},
|
|
372
|
+
"execution": {
|
|
373
|
+
"how": "构造 argv 列表→subprocess.run(capture_output=True, text=True, encoding='utf-8', errors='replace')→env 带 PYTHONUTF8=1→shell=False;边界判据=本次调用是否产出非UTF-8字节流(纯MSYS工具与不起进程的内置工具豁免;原生Windows程序不豁免,须python包装或显式解码);仓内引用与文档路径一律写相对路径(本机绝对路径以中性占位代), 判据 scripts/check_local_paths.py"
|
|
374
|
+
},
|
|
375
|
+
"response": {
|
|
376
|
+
"direct": "按工作纪律第15条: 命令执行统一走python——argv列表+显式UTF-8+PYTHONUTF8=1, 不经Windows shell, 规避GBK解码异常。 另: 全仓文本与路径/文件名一律UTF-8(中文可进路径), 不做控制台兼容(取用走python, 控制台乱码属显示层)。 另: 公开面路径写相对路径——本机绝对路径以中性占位代(仓内 `<仓根>`/家目录 `~/`/临时 `%TEMP%`), 门禁 check_local_paths。"
|
|
377
|
+
}
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"id": "discipline_memory_archive",
|
|
381
|
+
"semantic": "16.任务收尾归档(记忆闭环)",
|
|
382
|
+
"content": "每次任务执行完必须将关键修改内容存入灵枢记忆: 任务完成→提炼关键项(改了什么/为什么改/落在哪个文件·函数·行/验证结论)→写入灵枢记忆(认知图/MCP memory)→读回确认(写入后发起一次读取查询, 确认写入成功且可被检索命中)→标注关联节点并更新 subgraph/depends_on 关系; 只存关键项(决策/根因/可复用算法与路径/版本变更), 不存过程流水. 写入范围仅限核心修改(内容/原因/位置/验证结论四要素), 且必须按 CCG 六要素成文(功能名/生效条件/子功能/执行/验证方式/不适用条件, 各占一行并以「# <要素名>:」起首)——六要素缺一即 ccg_completeness 不完整, judge_qualification 判 BLINDSPOT、节点不可判定且检索不完整; 六要素同时是写入闸门的必需要素(要求由规则库 data/policy.json 的 required 与 required_kinds 定义, 可自行调整): text 类正文缺要素即被拒(REJECT, 当场返回完整缺失清单并记入负记忆), 按清单补齐后重写即可——不必等到读回确认才发现要素不全; 严禁写入中间过程/试错步骤/调试细节/重复确认等无效信息——避免污染记忆、干扰后续检索. 未读回确认不得视为归档完成. 与第2条(全面处理:先查记忆)构成「查记忆→执行→写记忆→读回确认」闭环. 长会话另设节奏: 每完成10轮交互做一次间歇归档(同款写入+读回确认), 不等收尾; 逢十轮提醒由会话钩子自动注入.",
|
|
383
|
+
"conditions": {
|
|
384
|
+
"apply": [
|
|
385
|
+
"任务执行完成",
|
|
386
|
+
"修改落地后",
|
|
387
|
+
"交付后"
|
|
388
|
+
]
|
|
389
|
+
},
|
|
390
|
+
"negative": {
|
|
391
|
+
"reject": [
|
|
392
|
+
"情感交互",
|
|
393
|
+
"闲聊",
|
|
394
|
+
"纯查询无改动"
|
|
395
|
+
]
|
|
396
|
+
},
|
|
397
|
+
"execution": {
|
|
398
|
+
"how": "任务收尾→提炼核心修改(内容/原因/位置/验证结论四要素, 不写中间过程/试错/调试/重复确认)→按 CCG 六要素成文(# 功能名/# 生效条件/# 子功能/# 执行/# 验证方式/# 不适用条件 六行缺一不可, 与正文四要素并置)→写入灵枢记忆(认知图/MCP memory)——text 类缺要素即被写入闸门拒(REJECT, 当场返回缺失清单, 不是重试无用), 按清单补齐后重写即可→读回确认(写入后发起一次读取查询确认写入成功且可检索)→标注关联条目+更新 subgraph/depends_on; 长会话每10轮→同款间歇归档(写入+读回确认一次), 不等收尾"
|
|
399
|
+
},
|
|
400
|
+
"response": {
|
|
401
|
+
"direct": "按工作纪律第16条: 任务收尾归档——每次任务执行完只提炼核心修改(内容/原因/位置/验证结论)并按 CCG 六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆(text 类六要素缺失会被写入闸门当场拒绝并返回缺失清单——补齐后重写即可, 不必等读回确认才发现), 写入后发起一次读取查询确认写入成功且可检索, 禁写中间过程/试错/调试等无效信息, 与第2条形成「查记忆→执行→写记忆→读回确认」闭环。"
|
|
402
|
+
}
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"id": "discipline_hive_dispatch",
|
|
406
|
+
"semantic": "17.任务派发统一走蜂巢",
|
|
407
|
+
"content": "任何执行性任务(跑脚本/测试、批量处理、探索盘点、文本加工、多智能体协作)一律经蜂巢派发执行: agent本体只做编排(拆spec→submit/spawn→poll收result→汇总), 宿主自带subagent/team/Task不是等价通道; zcode端的工作流工具为等效蜂巢工具(使用者2026-10-04裁定)——在蜂巢功能完全完善之前, zcode端可优先使用zcode工作流处理. 原理: ①执行留痕(spec/status/result落盘可追溯, 会话结束不蒸发); ②统一调度面(worker池/心跳/超时强杀/kill/崩溃恢复); ③dogfooding(自家引擎高频实战打磨, 打破「宿主顺手→跳过→永不打磨」死循环); ④判定成本归零(无例外通道, 杜绝「以为只是探索」滑移). ⑤[2026-09-17 A+C修订] 新增L1出口: 判据外置为产物落点(非「任务简单」的主观感受)——不改仓库/外部状态的本地只读命令属L1直跑(须留痕), 改仓库/外部状态(写文件/git/推远端)必派发. 原理: 层级归属不可由执行者独占自我声明(智能论PROP-DECISION-LAYER-003分层原则第4条「层级归属可被验证单元复核」), 判据须机械可核、豁免须可见. ⑥[2026-09-17 使用者确认] L1留痕粒度=按任务(一个任务一条, 不逐命令逐行); L1层级归属的复核者=使用者+GitHub使用者(坐实分层原则第4条「复核者」位).",
|
|
408
|
+
"conditions": {
|
|
409
|
+
"apply": [
|
|
410
|
+
"执行性任务",
|
|
411
|
+
"多智能体协作",
|
|
412
|
+
"批量/并行工作",
|
|
413
|
+
"探索盘点",
|
|
414
|
+
"运行测试/脚本"
|
|
415
|
+
]
|
|
416
|
+
},
|
|
417
|
+
"negative": {
|
|
418
|
+
"reject": [
|
|
419
|
+
"纯会话内对话/问答(无执行动作)",
|
|
420
|
+
"蜂巢不可用且任务必须立即执行(兜底须声明)",
|
|
421
|
+
"L1只读判定(产物落点=不改仓库/不改外部状态的本地只读命令, 秒级·可逆·高频, 如跑门禁/测试/回归/lint看结论; 判据是产物落点而非「任务简单」的主观感受, 直跑须输出一行「L1 直跑:<命令> — 风险/频次/可逆性」留痕, 留痕粒度按任务(同一任务的多条只读命令合并为一条留痕, 不逐命令逐行); 层级归属的复核者=使用者+GitHub使用者)",
|
|
422
|
+
"情感交互",
|
|
423
|
+
"闲聊"
|
|
424
|
+
]
|
|
425
|
+
},
|
|
426
|
+
"execution": {
|
|
427
|
+
"how": "任务→按产物落点判据定层级(不改仓库/外部状态的只读判定=L1直跑并按任务留痕一条(复核者=使用者+GitHub使用者); 改状态=必派发, 不得自我豁免)→拆spec(LLM委托型=默认exec.py: model+user_prompt+context_files; 确定性执行=自定义worker, 契约「读spec.json写result.json」)→hive_spawn/CLI submit(zcode端: 工作流工具为等效蜂巢工具——使用者2026-10-04裁定; 蜂巢功能完全完善之前, zcode端可优先使用zcode工作流处理; 留痕以工作流脚本与运行记录为凭)→poll→汇总; 兜底情形须声明「蜂巢不可用, 兜底降级」"
|
|
428
|
+
},
|
|
429
|
+
"response": {
|
|
430
|
+
"direct": "按工作纪律第17条: 任务派发统一走蜂巢——任何执行性任务经蜂巢 spawn/submit 执行并留痕(spec/status/result), agent本体只做编排; 宿主自带subagent/team不是等价通道(zcode端的工作流工具为等效蜂巢工具——使用者2026-10-04裁定; 蜂巢功能完全完善之前, zcode端可优先使用zcode工作流处理), 兜底须声明。L1只读判定(产物落点=不改仓库/外部状态)可直跑, 须输出「L1 直跑:<命令> — 风险/频次/可逆性」留痕。"
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"id": "discipline_workspace_index",
|
|
435
|
+
"semantic": "18.工作区索引优先",
|
|
436
|
+
"content": "查找工作区文件/需了解工作区结构时先读工作区索引(WORKSPACE_INDEX.md, 仓根, 由 scripts/workspace_index.py 从 git 追踪面生成): 已有则按其目录职责与关键入口直接定位, 尚无则先运行 --write 生成再读, 都不得以重复全盘浏览(ls/glob 遍历)代替. 目的: 索引一次生成长期复用, 把「每次重新探查」的线性成本降为常数. 原理: 索引是典型会陈化的手工件, 故必须管线生成+机械守卫(CI workspace-index-check.yml), 否则退化为误导源——与「手写行号必腐化」同构; 守卫面(顶层目录集合/根级文件集合/职责文案与关键入口/正文逐字)已在文档内显式声明, 承诺项与守卫面必须一致. 上下文压缩/长会话续接后的重建扩为三步: ①cg route『工作区索引』②输出声明③回取本会话近10轮窗口重建上下文(cg(op=recent)/session_recall/会话 md 镜像三者同源), 再动手; 会话 md 镜像(只留最后10条、超长优先遗忘最旧)由会话钩子在每轮交互后自动维护.",
|
|
437
|
+
"conditions": {
|
|
438
|
+
"apply": [
|
|
439
|
+
"查找工作区文件",
|
|
440
|
+
"需要了解工作区结构",
|
|
441
|
+
"跨目录检索定位",
|
|
442
|
+
"长会话续接/上下文压缩后查找工作区文件"
|
|
443
|
+
]
|
|
444
|
+
},
|
|
445
|
+
"negative": {
|
|
446
|
+
"reject": [
|
|
447
|
+
"已明确路径的单文件操作",
|
|
448
|
+
"纯会话内对话/问答(无文件查找)",
|
|
449
|
+
"仓外路径/系统路径(git 追踪面之外)"
|
|
450
|
+
]
|
|
451
|
+
},
|
|
452
|
+
"execution": {
|
|
453
|
+
"how": "定位工作区文件→先读 WORKSPACE_INDEX.md(仓根)→有则按表中职责/关键入口直接定位→无则先 python scripts/workspace_index.py --write 生成再读→守卫报陈化先重生成→不以重复全盘浏览代替; 新增顶层目录/根级文件须在脚本 DIR_ROLES/ROOT_FILES 登记后重生成; 上下文压缩/长会话续接后, 先 cg route『工作区索引』重建纪律视野(压缩会丢弃未留下执行痕迹的纪律, 只剩被声明过的条目——须主动召回); 压缩/续接后三步=route『工作区索引』→输出声明→回取本会话近10轮窗口重建上下文(cg(op=recent)/session_recall/会话 md 镜像)"
|
|
454
|
+
},
|
|
455
|
+
"response": {
|
|
456
|
+
"direct": "按工作纪律第18条: 工作区索引优先——查工作区文件先读 WORKSPACE_INDEX.md(仓根, 管线生成); 无则先跑 scripts/workspace_index.py --write 生成再读, 不以重复全盘浏览代替。 压缩续接后并回取本会话窗口(最近10轮)重建上下文。"
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
]
|
|
460
|
+
}
|
|
461
|
+
}
|