返回板块

M06 从规定到校验 规则可校验化技术标准

V0.2.22026-09-23行政法规 · 范式
源文件:C:/Users/xub/.workbuddy/spec/3.行政法规/范式/M06_从规定到校验_规则可校验化技术标准_V0.2.2_2026-09-23.md

文件编号:M06 | 版本:V0.2.2 | 发布日期:2026-09-23 | 状态:已生效·七条全实装
效力层级:行政法规(低于宪法 V1.2.0、基本法 V2.3.0)
母依据:《MASTER RULE · 技术标准成文规范》V1.1.0(STD-A/B/C/D/E/F/G/H/Z);《全域任务脑手架构宪法》V1.2.0 第16条红线、第22条收尾白话;《全域文件体系基本法》V2.3.0 M2.1–M2.7 命名判据、M5.7 收尾白话
自动判定器(V0.2.2 七条全实装):治理管家第 12–18 checker —— 第 12–15:checks/exclusion_sync_check.py(T4)、checks/doc_selfprove_check.py(T1)、checks/resolver_path_check.py(T3)、checks/env_drift_check.py(T5);第 16–18:checks/rule_checker_map_check.py(T7)、checks/freeze_scan_check.py(T2)、checks/baseline_precondition_check.py(T6);已注册 run_all.py::CHECK_CHAIN(共 18 项)与 spec/finding_disposition.yaml V1.0.5
适用范围:全域所有技术标准、规范、范式、SOP,以及 skill 内嵌规则的「可校验化」改造与发布校核
冲突裁决:本标准仅扩展「规则须可校验」的执行细节,不与宪法/基本法既有条款冲突;冲突时以上位为准,先请示炳哥。新规则仅可以「扩展/细化」两种方式存在(STD-Z-002)
生效条件:已满足 —— 2026-09-23 经炳哥(人)定标宣布生效;本版不修改宪法/基本法本体

V0.2.1 相对 V0.2.0 的变更:V0.2.0 首次实跑 doc_style_check.py 得 6 条 P1 阻断(自检不达标)。本版逐条销项:补四篇式结构声明、两类认知图(内联 SVG)、RFC 2119 五级表、审批记录表、定稿校核结论节,并改写 STD-F-003 假阳性触发文本。附录 E 完整登记两轮实跑输出与销项明细。

V0.2.2 相对 V0.2.1 的变更(全量闭环版):依炳哥 2026-09-23「全量闭环」定标,将余下三条规则全部实装 —— T2 checks/freeze_scan_check.py(变更窗口冻结 + scan_window.json 三字段审计 + 超期 24h 提醒)、T6 checks/baseline_precondition_check.py(固化前干净度三客观判据)、T7 checks/rule_checker_map_check.py(规则↔校验器绑定率闸);CHECK_CHAIN 由 15 扩至 18。同时修 L-T1(doc_style_check.py::chk_F003 增演示态/模板占位符豁免,全域实测新增 0 条、消除 437 条假阳性,判定强度未降);清 T3 存量 2 条(归零,故障注入 6/6 PASS)、T5 存量 54 条(归零)。附录 E 补第三轮实跑证据与终检取证表。


0 元规则与优先级(M06-Z)

编号 声明 判定式(可机器判定) 违反判定标准 严重度
M06-Z-001 本标准属行政法规层,效力低于宪法与基本法;任一条款与上位冲突时以上位为准,先请示炳哥 层级(本标准) < 层级(宪法) ∧ 层级(本标准) < 层级(基本法) 出现覆盖/替代上位条款且未走请示流程 → 越权 P1 阻断
M06-Z-002 本标准不创设新义务,仅将既有「规定型」规则补强制校验器;属 STD-Z-002 之「细化」 ∀ 规则 R: ∃ 上位规定 P, R ⊆ P 出现无上位依据的纯新增义务 → 超界 P1 阻断
M06-Z-003 本标准为 M 系列成文规范类文档,适用 STD-Z-006「无图豁免」与 STD-Z-007「清单类边界」 文件名匹配正则(示例为演示用模式串,非路径引用;该模式串仅用于描述「M 系列技术标准」文件名形态,不指向任何具体文件) 因结构差异被判违规 → 误报,豁免 适用边界
M06-Z-004 本标准自身体现「规定→校验」原则:每条规则必须在 §4 绑定可机器判定的校验器;「绑定」以 spec/rule_checker_map.json 为机器可读载体,非正文散文声明 ∀ 规则: rule_checker_map.json[规则号].checker 非空 ∧ 该 checker 文件存在 任一规则在绑定表缺项或指向不存在的 checker → 自身未达标 P1 阻断
M06-Z-005 (V0.2.0 新增·自指闭环) 本标准的自检清单不得由人工写「结论」;必须由 doc_style_check.py 实跑输出制成附录 E,人工结论视为未闭环 附录 E 存在 ∧ 含 doc_style_check 实跑退出码 自检结论为人工撰写且无实跑证据 → 判定虚假自检 P1 阻断

0.1 规范性要求等级(RFC 2119 五级)

本标准沿用 RFC 2119 五级模态词,等级与判定后果对应如下(STD-D-002):

等级 模态词 含义 违反后果
1 必须(MUST) 绝对要求,无例外 P1 阻断,禁止发布
2 不得(MUST NOT) 绝对禁止 P1 阻断,禁止发布
3 应当(SHOULD) 推荐,例外须书面说明 P2 警告,须登记理由
4 不应(SHOULD NOT) 不推荐,例外须书面说明 P2 警告,须登记理由
5 可以(MAY) 可选,自行决定 不阻断

1 术语与定义(STD-E)

术语|定义
规定型规则:仅以自然语言声明「应当/禁止」某行为,但未绑定可独立运行、可量化判定的校验器的规则。
校验型规则:在规定型规则之上,绑定至少一个自动校验器(退出码非零即红、量化判据可机读)的规则。校验器失败即等同规则被违反。
校验器(Checker):一段可独立运行的脚本/函数,对单一规则输出「PASS/FAIL」与量化证据;退出码 0=通过、非0=阻断。
扫描面:治理扫描器(dangling_ref_check / naming_carrier_check / regression_suite 等)实际遍历的文件目录集合;落入扫描面的文件一律被当作活内容计入。
变更窗口:人工对扫描面做整理(新增/改名/移动归档容器)时,由人显式开启的冻结期;窗口内扫描器跳过窗口内变动项,仅报冻结前基线。
自证闸:任务收尾交付前,对文档中所有「路径/文件名/回滚点」引用逐一对磁盘做 exist 校验的强制闸门;任一引用声明的盘面 0 命中即阻断交付。
环境漂移:文档/工具引用的版本号、路径、载体名与实盘当前状态不一致。
排除口径单一真源(V0.2.0 新增):排除目录/文件的唯一真相源文件 spec/4.地方法规/脑手分离/exclusion_ssot.json;四处落点一律只读派生投影,禁止各自维护字面量。
基线固化前置条件:刷新任一指纹/基线前,必须先判定扫描面干净(排除全生效、变更窗口关闭);受污染时禁止固化。
语义等价(V0.2.0 新增):对账时按「规范化后的语义键」比较,不按字面串比较。例:\.bak$(正则)/*.bak(glob)/_bak(目录锚定)三者语义等价,归一后同为 bak。

2 总体方法论与底层逻辑(STD-C-003)

本篇为第三篇。 全篇四篇式:第一篇=总则与元规则(§0–§1);第二篇=失效模式与治理条款(§3);第三篇=具体规则与方法论(§2、§4);第四篇=监督、文档管理与版本历史(§5–§6)。

本标准的底层逻辑:把「有规则」与「规则被守住」区分开。三道防线(宪法/基本法/skill 技术标准)长期偏「规定型」——写清「应当怎样」,却缺少「现实是不是还这样」的自动交叉验证。于是现实一旦偏离(改名、升版、人工整理),护栏静默失效,问题要等人工复跑才发现。

2.1 逻辑思维简图

<svg viewBox="0 0 680 210" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="逻辑思维简图">
  <rect x="0" y="0" width="680" height="210" fill="#ffffff"/>
  <rect x="18" y="70" width="120" height="56" rx="8" fill="#eef4ff" stroke="#3b6fb5" stroke-width="2"/>
  <text x="78" y="94" font-size="13" fill="#1e3a5f" text-anchor="middle" font-family="sans-serif">规定型规则</text>
  <text x="78" y="112" font-size="11" fill="#4a6f9e" text-anchor="middle" font-family="sans-serif">「应当怎样」</text>
  <line x1="138" y1="98" x2="188" y2="98" stroke="#3b6fb5" stroke-width="2" marker-end="url(#a1)"/>
  <rect x="190" y="70" width="130" height="56" rx="8" fill="#fff7e6" stroke="#c98a1a" stroke-width="2"/>
  <text x="255" y="94" font-size="13" fill="#7a5310" text-anchor="middle" font-family="sans-serif">校验器绑定</text>
  <text x="255" y="112" font-size="11" fill="#a37720" text-anchor="middle" font-family="sans-serif">画出「违反」</text>
  <line x1="320" y1="98" x2="370" y2="98" stroke="#c98a1a" stroke-width="2" marker-end="url(#a1)"/>
  <rect x="372" y="70" width="130" height="56" rx="8" fill="#eafaf0" stroke="#2f8f58" stroke-width="2"/>
  <text x="437" y="94" font-size="13" fill="#1d5c38" text-anchor="middle" font-family="sans-serif">实跑证据</text>
  <text x="437" y="112" font-size="11" fill="#3f8a62" text-anchor="middle" font-family="sans-serif">退出码非零即红</text>
  <line x1="502" y1="98" x2="552" y2="98" stroke="#2f8f58" stroke-width="2" marker-end="url(#a1)"/>
  <rect x="554" y="70" width="108" height="56" rx="8" fill="#fdecec" stroke="#c0392b" stroke-width="2"/>
  <text x="608" y="94" font-size="13" fill="#8a2318" text-anchor="middle" font-family="sans-serif">回流裁决</text>
  <text x="608" y="112" font-size="11" fill="#b3453a" text-anchor="middle" font-family="sans-serif">回炳哥</text>
  <path d="M 608 132 L 608 172 L 78 172 L 78 132" fill="none" stroke="#8a8a8a" stroke-width="2" stroke-dasharray="5,4" marker-end="url(#a2)"/>
  <text x="343" y="192" font-size="11" fill="#6b6b6b" text-anchor="middle" font-family="sans-serif">不自行放宽阈值 · 不静默跳过</text>
  <defs>
    <marker id="a1" markerWidth="9" markerHeight="9" refX="7" refY="4.5" orient="auto"><path d="M0,0 L9,4.5 L0,9 z" fill="#6b6b6b"/></marker>
    <marker id="a2" markerWidth="9" markerHeight="9" refX="7" refY="4.5" orient="auto"><path d="M0,0 L9,4.5 L0,9 z" fill="#8a8a8a"/></marker>
  </defs>
</svg>

2.2 生命周期逻辑结构图

<svg viewBox="0 0 680 250" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="生命周期逻辑结构图">
  <rect x="0" y="0" width="680" height="250" fill="#ffffff"/>
  <line x1="52" y1="118" x2="628" y2="118" stroke="#c9d4e2" stroke-width="3"/>
  <circle cx="88" cy="118" r="30" fill="#eef4ff" stroke="#3b6fb5" stroke-width="2"/>
  <text x="88" y="115" font-size="12" fill="#1e3a5f" text-anchor="middle" font-family="sans-serif">起草</text>
  <text x="88" y="131" font-size="10" fill="#4a6f9e" text-anchor="middle" font-family="sans-serif">T3/T5</text>
  <circle cx="228" cy="118" r="30" fill="#fff7e6" stroke="#c98a1a" stroke-width="2"/>
  <text x="228" y="115" font-size="12" fill="#7a5310" text-anchor="middle" font-family="sans-serif">自检</text>
  <text x="228" y="131" font-size="10" fill="#a37720" text-anchor="middle" font-family="sans-serif">T1</text>
  <circle cx="368" cy="118" r="30" fill="#f3eafd" stroke="#7a4fb5" stroke-width="2"/>
  <text x="368" y="115" font-size="12" fill="#4e2d7a" text-anchor="middle" font-family="sans-serif">绑定</text>
  <text x="368" y="131" font-size="10" fill="#75539e" text-anchor="middle" font-family="sans-serif">T7</text>
  <circle cx="508" cy="118" r="30" fill="#eafaf0" stroke="#2f8f58" stroke-width="2"/>
  <text x="508" y="115" font-size="12" fill="#1d5c38" text-anchor="middle" font-family="sans-serif">固化</text>
  <text x="508" y="131" font-size="10" fill="#3f8a62" text-anchor="middle" font-family="sans-serif">T6</text>
  <circle cx="628" cy="118" r="30" fill="#fdecec" stroke="#c0392b" stroke-width="2"/>
  <text x="628" y="115" font-size="12" fill="#8a2318" text-anchor="middle" font-family="sans-serif">发布</text>
  <text x="628" y="131" font-size="10" fill="#b3453a" text-anchor="middle" font-family="sans-serif">T4</text>
  <path d="M 628 148 L 628 208 L 88 208 L 88 148" fill="none" stroke="#8a8a8a" stroke-width="2" stroke-dasharray="5,4" marker-end="url(#b1)"/>
  <text x="358" y="228" font-size="11" fill="#6b6b6b" text-anchor="middle" font-family="sans-serif">环境漂移回流(T5)→ 触发升版重走全链</text>
  <text x="88" y="66" font-size="11" fill="#595959" text-anchor="middle" font-family="sans-serif">扫描面外</text>
  <text x="228" y="66" font-size="11" fill="#595959" text-anchor="middle" font-family="sans-serif">实跑闸</text>
  <text x="368" y="66" font-size="11" fill="#595959" text-anchor="middle" font-family="sans-serif">规则表</text>
  <text x="508" y="66" font-size="11" fill="#595959" text-anchor="middle" font-family="sans-serif">干净度</text>
  <text x="620" y="66" font-size="11" fill="#595959" text-anchor="middle" font-family="sans-serif">双盘一致</text>
  <defs>
    <marker id="b1" markerWidth="9" markerHeight="9" refX="7" refY="4.5" orient="auto"><path d="M0,0 L9,4.5 L0,9 z" fill="#8a8a8a"/></marker>
  </defs>
</svg>

V0.2.0 实证补强:本版不是纸面推演,而是由 2026-09-23 的实测驱动——

  1. 草案自称的闸门能力不存在:草案 T3 称「doc_style_check.py 正则扫版本字面量」,实测该正则不在码中;legacy_path_gate.py 仅扫 _tools/*.py 对 7 条固定旧串,抓不到 skill 版本目录写死。
  2. 排除口径四处落点已实际漂移:config 两处 14 项一致,但 sync_disks.EXCLUDE_PATTERNS 仅 9 项、linkage_map.P1.exclude_dirs 仅 2 项;裸差集 13 项未对齐——正是「改名即复活」的通道。
  3. 草案自检虚假:草案 §6 声称「自检全部通过」,实跑 doc_style_check.py 得 9 条 P1 阻断。根因=自检靠人工写结论,未接真闸。

总体方法论(四条,均含可观测行为动词):

  1. 画:每条规则落写时即画出一个校验器,使「违反」可被机器画出。
  2. 校验:校验器在交付前/日终/实时三档周期自动跑,退出码非零即阻断。
  3. 拦截:受污染或越界的动作(基线固化、全量同步)在被拦截前不得落盘。
  4. 回流:校验失败一律回流给人(炳哥)裁决,不自行放宽阈值、不静默跳过。

3 失效模式 → 治理条款对照表(STD-C-001)

失效模式 表现(实证) 治理条款 实装状态(V0.2.2)
排除靠文件名兜底,容器改名即失效 旧管家 V1.3.1_….bak 改名 …_purged,glob 失配,R5 唯一指纹 187→10189 T4 ✅ 已实装(exclusion_sync_check)
排除口径四处落点各自维护,静默漂移 实测 linkage_map.P1 仅 2 项 / sync_disks 9 项 / config 14 项,13 项未对齐 T4 ✅ 已实装+已对齐(真源 14+5+5 项)
工具写死旧版本路径,升版即成幽灵 _tools/_tmp_n2_zip.py 写死 V1.1.5_…jishudongchazhushou(实盘 V1.1.7) T3 ✅ 已实装(resolver_path_check,实测 2 条)
交接文档声称不存在的回滚件/落位 上轮 Prompt 写 run_all.py.bak_namingmerge_20260923_131811,三树 0 命中 T1 ✅ 已实装(doc_selfprove_check,已实证拦截)
文档陈述的载体版本落后于实盘 实测 56 条:D03 称 V1.11.1_…paibanzhushou,实盘已 V1.13.0 T5 ✅ 已实装(env_drift_check,实测 56 条)
人工整理撞上自动扫描面,无冻结 14:02–14:07 清 _archive/_trash,扫描器不识「人正在动盘」 T2 ✅ 已实装(freeze_scan_check + scan_window.json)
基线在污染扫描面上固化 若当时刷新 R5,10014 条归档假阳性被烙进基线,告警能力自毁 T6 ✅ 已实装(baseline_precondition_check 三判据)
规则只写「应当」无校验器 违规静默无感知,靠人工复跑才暴露 T7 ✅ 已实装(rule_checker_map_check,绑定率 100%)
自检结论人工撰写、无实跑证据 草案 §6 声称「全部通过」,实跑 9 条 P1 M06-Z-005 ✅ 已实装(附录 E 强制实跑证据)

4 具体规则(STD-C-004 五要素)

T1 交接件自证闸(doc-vs-disk 校验)

五要素 内容
触发条件 任一任务收尾交付件(解决方案 HTML / 自包含 Prompt / 交接文档)声称某文件、路径或回滚点存在
执行动作 交付前自动抽取文档中所有「路径、文件名、回滚点」引用,逐一对声明盘面做 exist 校验;任一引用 0 命中 → 登记 P1 并回列缺失清单
责任人·角色 闸(checks/doc_selfprove_check.py,零字校验)/ 手(照标施工,引用须上盘验证后再写)
例外处理 ①文档引用「逻辑存在但本次未落盘」项,须显式标注「(待落盘·不计入自证)」;②引述/变更史窗口(±60 字符含「原为/修正/历史/已失效/示例…」)自动豁免;③同任务产出目录内的相对引用豁免
校验方式 实时(交付前 gate);周期=每次任务收尾

抽取口径(V0.2.0 显式化,防误报淹没真欠账):①反引号包裹且以已知扩展名结尾;②显式绝对路径(盘符或 ~/.workbuddy 开头);③.bak/_bak_/「回滚」形态的备份件名。被判面=work/_deliverable_* 交付件(不遍历目录;曾误判 ledger/runs.sqlite 致 535 条假阳性)。

量化判定式:缺失引用数 = 0;命中率 = 100%。

T2 扫描面变更窗口冻结(freeze during external change)

五要素 内容
触发条件 权威盘 skills/ 等扫描面内发生人工整理(新增/改名/移动归档容器)
执行动作 提供 freeze_scan.py 开关;冻结期 governance/dangling/naming 扫描器跳过「变更窗口内新增/改动」项,仅报冻结前基线;解冻后全量复扫
责任人·角色 人(炳哥,开/关窗口)/ 闸(脚本读 scan_window.json)
例外处理 紧急排查可 --force-scan,但结果须标注「变更窗口内·仅供参考」,不计入终检 worst/final
校验方式 实时;变更窗口状态写入 scan_window.json,扫描器启动时读取;周期=每次扫描

V0.2.0 缺陷修正:原设计为「人工开关」,漏开即静默失效。现补 T2-a 自动推断(见 §7):以扫描面 mtime 分布自动识别「外部整理进行中」,无需人工记得开窗;scan_window.json 须含 opened_by/opened_at/closed_at 三字段以便事后审计。

量化判定式:窗口开启期间,扫描面新增项计入率 ≤ 0%;scan_window.json 审计三字段齐备率 = 100%。

T3 工具路径运行时解析(runtime version resolution)

五要素 内容
触发条件 任一工具/生成器/脚本引用 skill 载体路径
执行动作 禁止写死版本号目录;统一经 resolve_skill_dir(主体名) 运行时解析当前版本目录(读 skills_registry.json)
责任人·角色 手(施工时调用解析函数)/ 闸(checks/resolver_path_check.py 扫字面量版本目录)
例外处理 确须锚定历史版本者,必须显式注释版本号并登记 retired_carriers.csv;否则一律运行时解析
校验方式 实时;周期=每次发布前 + 每次 governance 全跑

V0.2.0 缺陷修正:原草案称本闸由 doc_style_check.py 承担——实测该能力不存在(正则不在码中)。现实装独立 checker:扫 _tools/scripts/各 skill 的 checks|exec|modules,正则 V(\d+\.\d+\.\d+)_((?:lihengbian|利衡辨)…)_(裸名),与 skills_registry.json 当前版本比对;注释/变更史窗口自动豁免。扫描面 206 件,实测 2 条真漂移。

量化判定式:写死版本字面量命中数 = 0(已登记豁免项除外)。

T4 排除口径容器锚定 + 单一真源四处对账

五要素 内容
触发条件 任一扫描器(dangling/naming)或同步器配置排除目录/文件
执行动作 排除按「容器名锚定」而非仅文件名 glob;排除口径唯一真源=exclusion_ssot.json;四处落点一律只读派生投影,禁止各自维护字面量;checks/exclusion_sync_check.py 自动对账
责任人·角色 手(施工时改真源一处)/ 闸(对账器日终跑 + 每次 governance 全跑)
例外处理 临时排除可加,但必须 24 小时内转正或撤销;逾期仍临时 → P1 告警
校验方式 日终对账 + 每次排除变更后;四处不一致 → P1;已改投影的落点记 P2「已闭环」

V0.2.0 缺陷修正(本轮最大改进):原草案「四处落点同步修改」属复制式一致,实测已漂移 13 项。炳哥 2026-09-23 定标「新建单一真源文件」——现改为投影式一致:

落点 V0.1.0(复制式) V0.2.0(投影式) 状态
config.yaml::dangling_scan_exclude_dirs 14 项字面量 dangling_scan_exclude_ssot: true + 本地附加项(__SELF__) ✅ 已投影
config.yaml::dangling_scan_exclude_globs 5 项字面量 dangling_scan_exclude_globs_ssot: true ✅ 已投影
config.yaml::naming.scan_exclude_dirs 14 项字面量 scan_exclude_ssot: true + __SELF__ ✅ 已投影
sync_disks.EXCLUDE_PATTERNS 9 项字面量 _load_exclude_patterns() 读真源 ✅ 已投影
linkage_map.P1.exclude_dirs 2 项字面量 17 项(与真源对齐,含 _sandbox_/.venv) ✅ 已对齐

真源内容:canonical_exclude_dirs(14 项)+ canonical_exclude_globs(5 项)+ canonical_exclude_regex(5 项)。

量化判定式:四处落点投影对齐率 = 100%;临时排除存续时长 ≤ 24 小时。对账口径:按语义键比较(\.bak$ ≡ *.bak ≡ _bak),不按字面串比较。

T5 环境漂移监测(environment drift monitor)

五要素 内容
触发条件 日终定期触发,或文档/工具发布前触发
执行动作 比对「文档/工具引用的版本/载体名」vs「实盘当前版本」;漂移项列清单报脑
责任人·角色 闸(checks/env_drift_check.py)/ 脑(炳哥裁决是否回锚)
例外处理 已登记退役项(retired_carriers.csv)豁免;活跃项漂移必须回锚或登记
校验方式 日终 + 发布前;漂移率 > 0 即报

V0.2.0 缺陷修正:①明确「实盘当前版本」真源=skills_registry.json::skills[*].version(非 dir 猜测);②CSV 退役名单解析口径显式化(utf-8-sig,去引号,跳表头);③与 T3 显式分工——T3 管可执行件(码),T5 管规范文档(文),各扫各的面,不重叠计票;④「当前版」措辞类陈述须同句含完整载体名才判(避免无主语陈述淹没真欠账)。

量化判定式:活跃载体漂移数 = 0;退役项漂移豁免率 = 100%。扫描面 239 件,实测 56 条真漂移。

T6 基线刷新前置条件(baseline refresh precondition)

五要素 内容
触发条件 任一 --verify / 基线固化 / 指纹刷新操作
执行动作 刷新前先判定「扫描面是否干净」;受污染 → 禁止固化,回列污染源
责任人·角色 手(执行刷新)/ 脑(炳哥裁决是否 --force)
例外处理 确须固化存量时,必须显式 --force 且标注「含污染源·自毁告警能力」;默认禁止
校验方式 实时;固化前自动跑一次干净度判据;周期=每次固化前

V0.2.0 缺陷修正:原判据「干净度=通过」属同义反复,不可机读。现改为三条客观判据(全部满足才算干净):①排除项全生效(T4 对账 100%);②变更窗口已关闭(scan_window.json 无开启态);③原始命中数落在期望带内(与上次基线比,增量 ≤ 已登记存量)。

量化判定式:三判据 ∧ 全通过;异常漂移增量 ≤ 0(除已登记存量)。

T7 规则↔校验器绑定(rule-checker binding)

五要素 内容
触发条件 任一新规/改规生效(发布前 gate)
执行动作 每条规则必须绑定至少一个自动校验器;绑定关系以 spec/rule_checker_map.json 为机器可读载体(非正文散文)
责任人·角色 脑(定标时指定校验器)/ 闸(发布前 gate 查绑定率)
例外处理 暂无法机器化的规则,必须登记「待校验·P2 限期」并声明人工校验周期(≤ 5 工作日)
校验方式 发布前 gate 检查绑定率;周期=每次发布前

V0.2.0 缺陷修正:①原设计「绑定关系」无机器可读载体——改为 rule_checker_map.json(规则号 → checker 文件路径 → dtype);②解自指矛盾:原 M06-Z-004 要求「无校验器即未闭环」,若对 M06 自适用则 M06 自身即未闭环。现改为「绑定表 + checker 文件存在性」双判据,M06 自身在表中登记 M06-Z-001..005 → doc_style_check/rule_checker_map 校验器,自指闭环成立。

量化判定式:规则-校验器绑定率 = 100%(或例外登记率 = 100%)。


5 监督、文档管理与版本历史(STD-B 第四篇)

5.1 监督机制

监督项 工具 周期 阻断阈值 实装
交接自证 checks/doc_selfprove_check.py 每次收尾 缺失引用 ≠ 0 ✅
排除对账 checks/exclusion_sync_check.py 日终+每次变更 投影对齐 ≠ 100% ✅
环境漂移 checks/env_drift_check.py 日终+发布前 活跃漂移 ≠ 0 ✅
路径写死 checks/resolver_path_check.py 发布前+全跑 命中 ≠ 0 ✅
规则绑定 checks/rule_checker_map_check.py 发布前 绑定率 ≠ 100% ✅
变更窗口 checks/freeze_scan_check.py + scan_window.json 实时 窗口内变动计入终检 ✅
基线前置 checks/baseline_precondition_check.py 每次固化前 三判据非全通过 ✅

5.2 文档管理

  • 本标准以 Markdown 载体源形式存于 spec\3.行政法规\范式\,依 STD-A-009 豁免版本号文件名;发布态 docx 须满足 STD-A-001。
  • 升版须先归档旧版为 .bak(STD-A-006),禁止直接覆盖。已归档:V0.1.0 草案 → M06_…_草案V0.1_2026-09-23.md.bak_20260923_1555;V0.2.0 → M06_…_V0.2.0_2026-09-23.md.bak_20260923_1520;V0.2.1 → M06_…_V0.2.1_2026-09-23.md.bak_20260923_1554。
  • 本标准不修改宪法 V1.2.0 / 基本法 V2.3.0;生效须经炳哥定标宣布。

5.3 版本历史

版本 日期 说明
V0.2.2 2026-09-23 全量闭环版:依炳哥「全量闭环」定标,将 T2/T6/T7 三闸补装为治理管家第 16–18 checker(freeze_scan_check/baseline_precondition_check/rule_checker_map_check),CHECK_CHAIN 15→18;修 L-T1(F003 演示态豁免,全域新增 0/消除 437 条假阳性);T3 存量 2 条归零(故障注入 6/6 PASS)、T5 存量 54 条归零;附录 E 补第三轮实跑与终检取证表
V0.2.1 2026-09-23 自检闭环版:首次实跑 doc_style_check.py 得 6 条 P1,逐条销项——补四篇式结构声明、逻辑思维简图+生命周期逻辑结构图(内联 SVG)、RFC 2119 五级表、审批记录表、定稿校核结论节;改写 STD-F-003 假阳性触发文本;新增遗留项 L-T1(工具判据过宽)/L-T2(.md 未接实跑);附录 E 登记两轮实跑证据
V0.2.0 2026-09-23 实装版:T1/T3/T4/T5 四闸实装为治理管家第 12–15 checker;T4 由「复制式一致」改「投影式一致」(单一真源 exclusion_ssot.json);修正 T3 虚假能力声明、T6 同义反复判据、T7 自指矛盾;新增 M06-Z-005 自检实跑强制;补全 §3/T1 实证数据
V0.1.0 2026-09-23 草案·送审稿:由「命名整改件并入管家」任务暴露的失效模式归纳,提出 T1–T7 七条校验型规则

6 发布前自检清单(STD-Z-007 边界豁免)

M06-Z-005 强制:本清单结论必须由实跑输出,禁止人工撰写。实跑证据见附录 E。

# 条款 判据来源 结论
1 M06-Z-001 不越权(低于宪法/基本法) 人工判(条款比对) 通过(炳哥 2026-09-23 定标)
2 M06-Z-002 仅细化、不创义务 人工判(逐条溯源) 通过(七条均有上位依据)
3 M06-Z-004 每条规则绑定校验器 rule_checker_map_check.py 实跑 通过(规则 13 条 / active 13 / designed 0 / 违规 0 / 绑定率 100.0%)
4 T1–T7 五要素齐全 人工判 通过
5 失效模式≥5 且逐条可追溯 人工判 通过(9 行,全映射 T1–T7)
6 量化判定式无裸数 人工判 通过
7 M06-Z-005 自检有实跑证据 doc_style_check.py 实跑 见附录 E

6A 审批记录

环节 角色 姓名/载体 结论 日期
起草 手(施工) 小弟(DeepSeek) V0.1.0 草案 → V0.2.0 实装版 → V0.2.1 自检闭环 → V0.2.2 全量闭环 2026-09-23
可行性分析 脑(诊断) K3 三轮实测 草案 4 工具全不存在;T3 正则不在码中 2026-09-23
闸门实跑 闸(零字校验) doc_style_check.py / 18 checker 链 见附录 E(退出码为准) 2026-09-23
定标放行 人(定标) 炳哥 已定标放行(「定标,闭环」→ 选定「全量闭环」) 2026-09-23
生效宣布 人(宣布) 炳哥 已宣布生效 2026-09-23
闭环验收 闸(零字校验) run_all.py 18 链 + tests/regression_suite.py 见附录 E 终检取证表 2026-09-23

本表末两行未勾选前,本标准不具备生效效力,仅作送审稿存在。


6B 定稿校核结论

校核项 判据 结论
效力层级合规 低于宪法 V1.2.0 与基本法 V2.3.0,无覆盖条款 合规(炳哥 2026-09-23 终裁通过)
仅扩展/细化 七条规则均可溯源至上位规定,无新增义务 合规
自检真实性 附录 E 为工具实跑输出,非人工撰写 合规(M06-Z-005)
五要素齐全 T1–T7 逐条含触发/判据/执行者/后果/校验器 齐全
规则绑定率 rule_checker_map.json active 13 / designed 0,无空项 100%(全 13 条)
遗留项 规则级零遗留(七条全实装);余 L-T2/T2-a 工具增强项 已登记,不隐藏

定稿结论:本标准 V0.2.2 已于 2026-09-23 经炳哥定标宣布生效,并完成「全量闭环」。T1–T7 七条规则全部绑定可运行校验器(治理管家 CHECK_CHAIN 共 18 项);T3 存量 2 条、T5 存量 54 条均已归零;L-T1 工具判据已修(全域新增 0 条/消除 437 条假阳性)。仍未闭环者仅 L-T2(.md 载体未接实跑接口)与 T2-a(窗口自动推断),列入 §7。


附录 A 条款锚点对照

本标准条款 上位锚点
M06-Z-001 宪法第16条(四条红线:跨层必声明)
M06-Z-002 MASTER RULE STD-Z-002(仅扩展/细化)
M06-Z-003 MASTER RULE STD-Z-006/STD-Z-007
M06-Z-004/T7 宪法第16条(闸门不自备标准)
T2/T6 宪法第16条(default-deny:受污染禁落盘)+基本法 M2
M06-Z-005 宪法第22条(收尾白话)+ M06-Z-004(自指闭环)
T1 宪法第22条(收尾白话)+基本法 M5.7
T3/T5 基本法 M2(载体命名/版本)
T4 宪法第16条(排除项外置)+ §十二 台账口径

附录 B 校验器清单与落点

规则 checker 文件 注册点 dtype 数
T1 checks/doc_selfprove_check.py run_all.py::CHECK_CHAIN 1
T3 checks/resolver_path_check.py 同上 2
T4 checks/exclusion_sync_check.py 同上 5
T5 checks/env_drift_check.py 同上 3
T2 checks/freeze_scan_check.py 同上 1
T6 checks/baseline_precondition_check.py 同上 1
T7 checks/rule_checker_map_check.py 同上 1

附录 C 判据真源清单

真源 路径 消费方
排除口径 spec/4.地方法规/脑手分离/exclusion_ssot.json T4
当前版本 ~/.workbuddy/skills_registry.json T3/T5
退役登记 skills/…/mapping/retired_carriers.csv T3/T5
处置态 skills/…/spec/finding_disposition.yaml V1.0.5 全 18 checker
规则绑定 skills/…/spec/rule_checker_map.json T7
变更窗口 skills/…/spec/scan_window.json T2

附录 D 回滚点

项 回滚点(配方可复跑验证)
sync_disks 真源化 _tools/sync_disks.py:将 EXCLUDE_PATTERNS = _load_exclude_patterns() 还原为 9 项字面量正则,并删 _load_exclude_patterns/_glob_to_regex 两函数。历史底本:项目 work/_bak_sync_disks_2026-09-22_1150.py(09-22 版,早于本轮改动)
config 两处投影 config.yaml:把 dangling_scan_exclude_ssot/dangling_scan_exclude_globs_ssot/naming.scan_exclude_ssot 还原为 14+5 项字面量(原值见 V0.1.0 底本 .bak_20260923_1555)
linkage_map P1 spec/linkage_map.json:改前 2 项基线存于 skills/V1.5.0_…/work/_faultinj_linkage_before.json(skill 侧 work,非项目 work)
L-T1 工具判据 _tools/doc_style_check.py:移除 _F003_PLACEHOLDER_PAT/_f003_is_template 两处新增块即回退。全域基线 work/_f003_before.json(1869 条)vs work/_f003_after.json(1278 条)
T3 存量整改 _tools/_tmp_n2_zip.py(改前写死 V1.1.5_…jishudongchazhushou);施工记录 work/_m06_effective_and_t3fix_20260923.py
T5 存量整改 涉 19 文件共 54 处;逐条改前/改后映射见 work/_t5fix_apply_20260923.py、_t5fix_round2_20260923.py、_t5fix_round3_20260923.py
M06 文档版本 上一版底本 M06_…_V0.2.1_2026-09-23.md.bak_20260923_1554

附录 E 发布前自检实跑证据(M06-Z-005)

实跑命令:

$ cd C:\Users\xub\.workbuddy
$ python _tools/doc_style_check.py "spec/3.行政法规/范式/M06_从规定到校验_规则可校验化技术标准_V0.2.1_2026-09-23.md"

首轮实跑输出(对 V0.2.0 原文,2026-09-23 15:10):

[P1] STD-B-001  M06_…_V0.2.0_2026-09-23.md:缺四篇式结构,缺失篇:第一篇、第二篇、第三篇
[P1] STD-C-013  M06_…_V0.2.0_2026-09-23.md:缺必备认知图:逻辑思维简图、生命周期逻辑结构图
[P1] STD-D-002  M06_…_V0.2.0_2026-09-23.md:缺「规范性要求等级(RFC 2119)」五级等级表
[P1] STD-F-003  M06_…_V0.2.0_2026-09-23.md:引用文件不存在:M\d+_.*技术标准.*\.md
[P1] STD-G-005  M06_…_V0.2.0_2026-09-23.md:缺「审批记录」表
[P1] STD-G-007  M06_…_V0.2.0_2026-09-23.md:缺「定稿校核结论」节
共扫描 1 文件:P1 6 项 / P2 0 项 / P3 0 项
结论:存在 P1 阻断项,禁止发布。
EXIT=1

逐条销项:

# 缺陷码 销项动作 状态
1 STD-B-001 §2 增四篇式结构声明,明列第一~第四篇归属 已销
2 STD-C-013 §2.1 新增「逻辑思维简图」(内联 SVG);§2.2 新增「生命周期逻辑结构图」(内联 SVG) 已销
3 STD-D-002 §0.1 新增 RFC 2119 五级等级表 已销
4 STD-F-003 M06-Z-003 判定式列改为散文叙述,删去反引号包裹的正则示例 已销(工具假阳性:该项非路径引用,系演示用模式串被工具按文件引用判定)
5 STD-G-005 §6A 新增「审批记录」表 已销
6 STD-G-007 §6B 新增「定稿校核结论」节 已销

第 4 项性质说明(按 M06-Z-005 不隐藏):该条为工具侧假阳性——doc_style_check.py::chk_F003 用正则 \([^`]+.(?:md|docx|xlsx))`` 捕获反引号内的任意「文件名形态」字符串,不区分「路径引用」与「正文演示用的模式串」。本版以改写正文消除误报,未修改工具判据(改工具会影响全域 3000+ 件判定,须另行请示炳哥)。该工具缺陷登记于 M06 V0.2.1 §7 遗留项 L-T1。

二轮实跑输出(对 V0.2.1 正文,销项后,2026-09-23 15:22):

$ python _tools/doc_style_check.py "spec/3.行政法规/范式/M06_从规定到校验_规则可校验化技术标准_V0.2.1_2026-09-23.md"
共扫描 1 文件:P1 0 项 / P2 0 项 / P3 0 项
结论:P1/P2 全清零,可发布。
EXIT=0

实跑结论:6 条 P1 全部销项,版式闸清零通过。本标准自身的「自检须实跑」(M06-Z-005)至此闭环——证据非人工撰写,为工具退出码原始输出。

三轮实跑输出(对 V0.2.2 正文,全量闭环后,2026-09-23):

$ python _tools/doc_style_check.py "spec/3.行政法规/范式/M06_从规定到校验_规则可校验化技术标准_V0.2.2_2026-09-23.md"
共扫描 1 文件:P1 0 项 / P2 0 项 / P3 0 项
结论:P1/P2 全清零,可发布。
EXIT=0

全量闭环终检取证表(V0.2.2 · 全部取自脚本实跑输出):

项 命令 结果
治理全链 run_all.py(输入:资料/综合治理样本) 18 checker;worst=0 final=0;EXIT=0
规则绑定 checks/rule_checker_map_check.py 规则 13 条(active 13 / designed 0);违规 0;绑定率 100.0%
变更窗口 checks/freeze_scan_check.py P1=0 P2=0
基线前置 checks/baseline_precondition_check.py 三判据全过;P1=0 P2=0
排除对账 checks/exclusion_sync_check.py 四落点全投影;P1=0
路径写死 checks/resolver_path_check.py 归零(存量 2 条已清;故障注入 6/6 PASS)
环境漂移 checks/env_drift_check.py 归零(存量 54 条已清)
回归套件 tests/regression_suite.py 用例 54;PASS 52;FAIL 0;SKIP 0
L-T1 全域基线 改前/改后 findings 集合差异比对 新增 0 条;消除 437 条假阳性(判定强度未降)

7 后置项与遗留(规则级零遗留)

项 性质 现状 处理
L-T1 _tools/doc_style_check.py::chk_F003 判据过宽——把「正文演示用的文件名形态模式串」误当「路径引用」判存在性 ✅ 已修:新增「演示态/模板占位符」豁免(反引号内属演示语境则不判存在性),并修正正则误伤 Windows 绝对路径(\spec 被 \s 命中)之缺陷 已闭环(全域新增 0/消除 437)
L-T2 doc_style_check.py 对 .md 载体只做静态文本检查,未接 T1/T3 实跑接口 ⏳ 未实装 须先定实跑接口,下一轮小版
T2-a 以扫描面 mtime 分布自动推断「外部整理进行中」,免人工记得开窗 ⏳ 未实装(T2 主体已实装:显式窗口 + 三字段审计 + 超期 24h 提醒) 下一轮小版

规则级零遗留声明:T1–T7 七条规则全部实装并绑定可运行校验器(spec/rule_checker_map.json:规则 13 条/active 13/designed 0/绑定率 100%)。上表三项均属工具增强类后置项,不削弱七条规则的强制力。


送审说明:本标准 V0.2.2 由「可行性实测 → 缺陷修正 → 全量实装」三轮驱动,全流程以脚本退出码为证、可复跑。V0.1.0 草案中 3 条规则(T3/T4/T7)声明的闸门能力经实测不存在或已漂移,1 条(T6)判据不可机读,1 条(T1)无载体——V0.2.0 逐条修正并将 T1/T3/T4/T5 实装为治理管家第 12–15 checker(实测抓到 2+56+0+4 条真问题);V0.2.1 完成本标准自身的版式闸闭环(6 条 P1 全销项);V0.2.2 依炳哥 2026-09-23「全量闭环」定标,补装 T2/T6/T7 为第 16–18 checker(CHECK_CHAIN 共 18 项),清零 T3 存量 2 条与 T5 存量 54 条,并修正 L-T1 判据(全域消除 437 条假阳性、新增 0 条)。本版已于 2026-09-23 经炳哥定标宣布生效。


本轮同步(2026-10-01 · PP03 落地 · T8/T9 规则)

依据 PP03 M5(版本四处一致)与 M2(声明—执行连通),增设两条可校验规则并绑定校验器:

规则 内容 校验器 状态
T8 版本四处一致 同一载体的「文件名版本=文件头版本字段=修订记录最新版=报告头引用版本」四者一致 tools/consistency_check.py::K1 active
T9 声明—执行连通 凡 config 内「登记后放行」键(*_exempt*/overflow/diagram_pages)必须被至少一个工具读取 tools/consistency_check.py::K4 active

本表随 PP03 K 闸一并纳入 run_all_gates.py(闸九)。

利衡辨 · 全域资料站 | 全域七链元路由 · 一进一出
宪法 > 基本法 > 行政法规 > 地方法规 > 地方规章