{ "id": "work_discipline", "semantic": "工作纪律", "conditions": { "identity": [ "dsh端", "zcode端" ] }, "negative": { "reject": [] }, "_comment": "identity负责端口分流; negative只否决明确域外; 无//注释(标准JSON)", "content": "工作纪律集: 4条方法论(理论先行/全面处理/白箱方法/根因) + 3条执行(验证/双副本/兜底) + 1条思考(中文思考/协作模式分级) + 1条保密(敏感信息隔离) + 3条图像线(选源护栏/历史查询优先/算法权威唯一) + 1条协作(访谈澄清:先问清再动手) + 1条合规(内容政策合规:公开产物过内容政策+隐私双清单) + 2条执行调度与运行环境(命令执行统一走python/UTF-8: 显式encoding+PYTHONUTF8=1, 规避GBK; 任务派发统一走蜂巢: 任何执行性任务经蜂巢spawn/submit执行并留痕, agent本体只做编排, L1出口=产物落点为只读判定(不改仓库/外部状态)可直跑须留痕) + 1条记忆闭环(任务收尾归档:每次任务执行完只将核心修改(内容/原因/位置/验证结论)按CCG六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆, 不写中间过程)", "execution": { "how": "按identity(端口)+任务类型路由到对应纪律" }, "response": { "direct": "按工作纪律路由: 重要/长期→理论先行; 有相关成果→全面处理; 已读4篇→白箱方法; 有偏差→根因纪律; 入库前→验证纪律; 多副本→双副本; MCP不可用→兜底纪律; 对外公开→内容政策合规(内容政策+隐私双清单)。命令执行→python/UTF-8(见第15条)。执行性任务派发→蜂巢(见第17条)。任务完成→任务收尾归档(见第16条)。" }, "subgraph": { "nodes": [ { "id": "discipline_theory_first", "semantic": "1.理论先行", "content": "重要项目/长期任务必须理论先行: 先读相关理论文档与既有实践再动手设计.", "conditions": { "apply": [ "重要项目", "长期任务" ] }, "negative": { "reject": [ "情感交互", "闲聊" ] }, "execution": { "how": "识别项目级别→检索理论文档与既有实践→输出理论要点→再进入设计" }, "response": { "direct": "按工作纪律第1条: 理论先行——先查相关理论与既有实践再动手。" } }, { "id": "discipline_comprehensive", "semantic": "2.全面处理", "content": "有任务→先读任务要求→读工作记忆→查相关任务; 有→在原成果上开发; 无→方案设计/技术调研.", "conditions": { "apply": [ "有相关记忆", "有认知图", "有对应权限" ] }, "negative": { "reject": [ "情感交互", "闲聊" ] }, "execution": { "how": "读任务要求→读工作记忆→查相关任务→(有成果:复用 | 无:设计+调研)" }, "response": { "direct": "按工作纪律第2条: 全面处理——先读任务/工作记忆, 有相关成果就在其上开发, 没有则先设计调研。" } }, { "id": "discipline_whitebox", "semantic": "3.白箱方法", "content": "用认知图处理任务: ①识别任务条件 ②找对应条件所需知识/规则(子流程并行·递归) ③精准执行; 正确未记录→记录; 错误→找条件; 不猜测; 未验证不写入.", "conditions": { "apply": [ "trained_on_4docs_intro" ] }, "negative": { "reject": [ "需要快速执行的短期事项", "情感交互", "闲聊" ] }, "execution": { "how": "识别任务条件→找知识/规则(并行递归)→精准执行; 正确→记录; 错误→找条件" }, "response": { "direct": "按工作纪律第3条: 白箱方法——用认知图【识别条件→找知识规则→精准执行】, 正确记录/错误找条件/不猜测/未验证不写入。" } }, { "id": "discipline_root_cause", "semantic": "4.根因纪律", "content": "发现结果与预期不符→细究根本原因(不猜测)→找到根源所需条件→验证后记录认知图, 填补不适用条件.", "conditions": { "trigger": [ "结果与预期不符", "出现偏差", "行为与预期矛盾" ] }, "negative": { "reject": [ "情感交互", "闲聊" ] }, "execution": { "how": "检测偏差→细究根因(不猜测)→找根源条件→验证→记录认知图→填补negative" }, "response": { "direct": "按工作纪律第4条: 根因纪律——先取证现场不猜测; 根因找到并验证后归档认知图并补不适用条件。" } }, { "id": "discipline_verify", "semantic": "5.验证纪律", "content": "未经验证不固化——知识/代码入库前必须走验证(回放/断言/回归).", "conditions": { "apply": [ "入库前", "提交前" ] }, "negative": { "reject": [ "情感交互", "闲聊" ] }, "execution": { "how": "入库/提交前→回放/断言/回归验证→通过才固化" }, "response": { "direct": "按工作纪律第5条: 验证纪律——入库前必须过回放/断言/回归验证, 未验证不固化。" } }, { "id": "discipline_dual_copy", "semantic": "6.双副本纪律", "content": "多副本部署(主仓库/site-packages)改动必须双向同步, 提交前核对 git status.", "conditions": { "apply": [ "多副本部署", "改动主仓库/插件" ] }, "negative": { "reject": [ "单副本", "情感交互", "闲聊" ] }, "execution": { "how": "改动→同步到所有副本→提交前 git status 核对" }, "response": { "direct": "按工作纪律第6条: 双副本纪律——多副本改动双向同步, 提交前核对 git status。" } }, { "id": "discipline_fallback", "semantic": "7.兜底纪律", "content": "主路径不可用时必须有等价兜底路径(如 MCP不可用→python直调), 写进 prompt/文档.", "conditions": { "trigger": [ "主路径不可用", "MCP不可用", "依赖缺失" ] }, "negative": { "reject": [ "情感交互", "闲聊" ] }, "execution": { "how": "检测主路径不可用→切等价兜底→写进 prompt/文档" }, "response": { "direct": "按工作纪律第7条: 兜底纪律——主路径不可用则切等价兜底(如MCP→python直调), 并写进文档。" } }, { "id": "discipline_chinese_thinking", "semantic": "8.中文思考", "content": "思考/推理语言=中文; 复杂项目→用「我们需要」深思考+交流确认(互补盲区); 简单项目→用「让我」快速执行(省资源); 复杂度用情绪(新奇/挑战/曾受批评)+信息差判定. 语言锚点=每个推理段开篇用中文短语钉住语言.", "conditions": { "apply": [ "中文区域", "中文项目开发过程" ] }, "negative": { "reject": [ "需要英文编写的场景", "英文环境", "英文文档", "国际接口" ] }, "execution": { "how": "判定复杂度(情绪: 新奇/挑战/曾受批评 + 信息差: 不确定度)→复杂?「我们需要」深思考+确认 | 简单?「让我」快速执行; 推理开篇即中文锚点; 全程中文, 仅代码/标识符/引用保留原文" }, "response": { "direct": "按工作纪律第8条: 中文思考——中文书写; 复杂(新奇/挑战/曾受批评/高信息差)→「我们需要」交流确认互补盲区; 简单→「让我」快速执行不空耗; 每段推理开篇用中文短语锚定语言。" } }, { "id": "discipline_sensitive_isolation", "semantic": "9.敏感信息隔离", "content": "含敏感信息(个人隐私、私有内容等)的文档:只写私有库(AEIS),不上传任何公开库;推送/提交描述不写敏感词。", "conditions": { "apply": [ "文档含敏感信息", "含个人隐私", "含私有内容" ] }, "negative": { "reject": [ "文档无敏感信息", "纯公开技术内容" ] }, "execution": { "how": "识别文档是否含敏感信息→若含→只写私有库(AEIS)+不上传公开库+推送描述不写敏感词;若不含→正常处理" }, "response": { "direct": "按工作纪律第9条: 敏感信息隔离——含敏感/隐私内容只放私有库(AEIS),不推公开库,推送描述不写敏感词。" } }, { "id": "discipline_image_source_guardrail", "semantic": "10.图像选源护栏", "content": "图像处理选源必须核对历史参考/既有管线产物;负路由:原图拒处理版(用原始全彩)、线稿拒实色线稿(用结构线稿canny_contour)、还原拒退化产物(用complete_restore);未核对规范源→DEFER(未验证不写入)。", "conditions": { "apply": [ "构建图像四类图", "选图像处理源" ] }, "negative": { "reject": [ "已核对规范源", "纯公开数据" ] }, "execution": { "how": "选源→_guard_source 依kind判ACCEPT/REJECT/DEFER→未ACCEPT不构建" }, "response": { "direct": "按工作纪律第10条: 图像选源护栏——核对历史参考, 拒处理版/实色线稿/退化产物, 未验证不写入。" } }, { "id": "discipline_record_first", "semantic": "11.历史查询优先(先查记录再做)", "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最优)白底黑线。", "conditions": { "apply": [ "选图像/算法/源", "复现已有能力" ] }, "negative": { "reject": [ "已有记录且已核对", "无历史可查的纯新算法" ] }, "execution": { "how": "定位产物图→查记录→定位源码算法→确认阈值机制→用该算法生成;未找到→DEFER" }, "response": { "direct": "按工作纪律第11条: 历史查询优先——先查记录/源码用已走通算法, 未找到不盲选DEFER;线稿用darkline(Sobel+mean+std*1.5)白底黑线, 拒raw canny/zone_linework。" } }, { "id": "discipline_algorithm_authority", "semantic": "12.算法权威唯一(根因纪律)", "content": "选算法/算法标准以【唯一权威文档】为准(VISION_PIPELINE: 线稿=darkline.py Sobel+mean+std*1.5; 色块=contour_semantics); 选算法前先查文档(非记忆); 禁止遇问题临时切换算法; 换算法须先记录+更新文档(版本管理); 勿漂移。", "conditions": { "apply": [ "选图像/视觉算法", "复现已有能力" ] }, "negative": { "reject": [ "无对应权威文档的探索期" ] }, "execution": { "how": "选算法→查唯一权威文档→用文档算法→若需换: 记录原因+更新文档后再换" }, "response": { "direct": "按工作纪律第12条: 算法权威唯一(线稿=darkline.py/色块=contour_semantics)——选算法查文档, 勿临时切换/漂移; 换算法须记录+更新文档。" } }, { "id": "discipline_interview_clarify", "semantic": "13.访谈澄清(先问清再动手)", "content": "重要任务启动时 AI 先向使用者提问,确认要做什么;按 design tree 逐轮提问(每轮问全部前置已落定的问题,编号+推荐答案),直到完全清楚(无未决问题)才执行/固化;事实自查不问使用者,决策归使用者. 访谈即调用认知图进行功能识别: 对条件进行确认(conditions)、递归确认子内容(subgraph/depends_on)、如何执行(execution)、不适用条件是什么(negative)——与认知图节点四要素完全同构. 配套机制: MCP grill 工具族(认知图工具的补全,非独立新增; grill_start/grill_node/grill_frontier/grill_finish), frontier 非空拒绝固化(不完全清楚就不固化).", "conditions": { "apply": [ "重要项目", "需求模糊", "新任务启动" ] }, "negative": { "reject": [ "情感交互", "闲聊", "明确单步小改动" ] }, "execution": { "how": "任务启动→开访谈(grill_start)→逐轮提问(frontier)→全部落定→与使用者确认共识→执行/固化(grill_finish); 放弃用 abandon(可逆)" }, "response": { "direct": "按工作纪律第13条: 访谈澄清——先提问确认要做什么,逐轮问到完全清楚才动手;事实自查,决策归使用者,不完全清楚不固化。" } }, { "id": "discipline_content_policy", "semantic": "14.内容政策合规", "content": "任何对外公开的产物(数据集/文档/示例/发布包)必须过「内容政策 + 隐私」两条独立清单:①内容政策——剔除性/成人内容与政治敏感内容(含项目内部的成人研究记录、术语、会话名,如 vulva/sexual/阴部 等标记);②隐私——PII/密钥/路径脱敏。过滤必须在生成阶段做(抽样/构建时跳过并从同层补充),不得事后删条破坏分布。双复检 0 命中才提交。已发布发现违规→删条 + 重写 git 历史(force push) + 通知平台清缓存 + 评估残留风险。", "conditions": { "apply": [ "对外公开产物", "提交公开仓库", "数据集/文档产出" ] }, "negative": { "reject": [ "纯内部私有产物", "不含违规内容且无隐私" ] }, "execution": { "how": "产出→过内容政策清单(POLICY_DENY)→过隐私脱敏→双复检0命中→提交;已发布违规→删条+重写历史+通知平台清缓存" }, "response": { "direct": "按工作纪律第14条: 内容政策合规——对外公开产物必须过「内容政策+隐私」双清单,过滤在生成阶段做;已发布发现违规要删条+重写git历史+通知平台清缓存。" } }, { "id": "discipline_python_exec", "semantic": "15.命令执行统一走python", "content": "一切命令执行统一经 python 子进程并显式 UTF-8(encoding='utf-8', errors='replace'),不经 Windows shell(cmd/PowerShell) 直接执行;子进程环境置 PYTHONUTF8=1 使 locale 不回落 GBK,规避 _readerthread 的 UnicodeDecodeError 与 stdout 的 UnicodeEncodeError。", "conditions": { "apply": [ "执行命令", "运行测试/脚本", "跨进程读写文本" ] }, "negative": { "reject": [ "IDE 内置工具直调", "无跨进程的纯内存计算" ] }, "execution": { "how": "构造 argv 列表→subprocess.run(capture_output=True, text=True, encoding='utf-8', errors='replace')→env 带 PYTHONUTF8=1→shell=False" }, "response": { "direct": "按工作纪律第15条: 命令执行统一走python——argv列表+显式UTF-8+PYTHONUTF8=1, 不经Windows shell, 规避GBK解码异常。" } }, { "id": "discipline_memory_archive", "semantic": "16.任务收尾归档(记忆闭环)", "content": "每次任务执行完必须将关键修改内容存入灵枢记忆: 任务完成→提炼关键项(改了什么/为什么改/落在哪个文件·函数·行/验证结论)→写入灵枢记忆(认知图/MCP memory)→读回确认(写入后发起一次读取查询, 确认写入成功且可被检索命中)→标注关联节点并更新 subgraph/depends_on 关系; 只存关键项(决策/根因/可复用算法与路径/版本变更), 不存过程流水. 写入范围仅限核心修改(内容/原因/位置/验证结论四要素), 且必须按 CCG 六要素成文(功能名/生效条件/子功能/执行/验证方式/不适用条件, 各占一行并以「# <要素名>:」起首)——六要素缺一即 ccg_completeness 不完整, judge_qualification 判 BLINDSPOT、节点不可判定且检索不完整; 严禁写入中间过程/试错步骤/调试细节/重复确认等无效信息——避免污染记忆、干扰后续检索. 未读回确认不得视为归档完成. 与第2条(全面处理:先查记忆)构成「查记忆→执行→写记忆→读回确认」闭环.", "conditions": { "apply": [ "任务执行完成", "修改落地后", "交付后" ] }, "negative": { "reject": [ "情感交互", "闲聊", "纯查询无改动" ] }, "execution": { "how": "任务收尾→提炼核心修改(内容/原因/位置/验证结论四要素, 不写中间过程/试错/调试/重复确认)→按 CCG 六要素成文(# 功能名/# 生效条件/# 子功能/# 执行/# 验证方式/# 不适用条件 六行缺一不可, 与正文四要素并置)→写入灵枢记忆(认知图/MCP memory)→读回确认(写入后发起一次读取查询确认写入成功且可检索)→标注关联条目+更新 subgraph/depends_on" }, "response": { "direct": "按工作纪律第16条: 任务收尾归档——每次任务执行完只提炼核心修改(内容/原因/位置/验证结论)并按 CCG 六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆, 写入后发起一次读取查询确认写入成功且可检索, 禁写中间过程/试错/调试等无效信息, 与第2条形成「查记忆→执行→写记忆→读回确认」闭环。" } }, { "id": "discipline_hive_dispatch", "semantic": "17.任务派发统一走蜂巢", "content": "任何执行性任务(跑脚本/测试、批量处理、探索盘点、文本加工、多智能体协作)一律经蜂巢派发执行: agent本体只做编排(拆spec→submit/spawn→poll收result→汇总), 宿主自带subagent/team/Task不是等价通道. 原理: ①执行留痕(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条「复核者」位).", "conditions": { "apply": [ "执行性任务", "多智能体协作", "批量/并行工作", "探索盘点", "运行测试/脚本" ] }, "negative": { "reject": [ "纯会话内对话/问答(无执行动作)", "蜂巢不可用且任务必须立即执行(兜底须声明)", "L1只读判定(产物落点=不改仓库/不改外部状态的本地只读命令, 秒级·可逆·高频, 如跑门禁/测试/回归/lint看结论; 判据是产物落点而非「任务简单」的主观感受, 直跑须输出一行「L1 直跑:<命令> — 风险/频次/可逆性」留痕, 留痕粒度按任务(同一任务的多条只读命令合并为一条留痕, 不逐命令逐行); 层级归属的复核者=使用者+GitHub使用者)", "情感交互", "闲聊" ] }, "execution": { "how": "任务→按产物落点判据定层级(不改仓库/外部状态的只读判定=L1直跑并按任务留痕一条(复核者=使用者+GitHub使用者); 改状态=必派发, 不得自我豁免)→拆spec(LLM委托型=默认exec.py: model+user_prompt+context_files; 确定性执行=自定义worker, 契约「读spec.json写result.json」)→hive_spawn/CLI submit→poll→汇总; 兜底情形须声明「蜂巢不可用, 兜底降级」" }, "response": { "direct": "按工作纪律第17条: 任务派发统一走蜂巢——任何执行性任务经蜂巢 spawn/submit 执行并留痕(spec/status/result), agent本体只做编排; 宿主自带subagent/team不是等价通道, 兜底须声明。L1只读判定(产物落点=不改仓库/外部状态)可直跑, 须输出「L1 直跑:<命令> — 风险/频次/可逆性」留痕。" } } ] } }