G12 治理件强制交付物断言技术标准
C:/Users/xub/.workbuddy/spec/3.行政法规/范式/G12_治理件强制交付物断言技术标准_V1.1.0_2026-09-25_1520.md版本:V1.1.0 | 编制日期:2026-08-26 | 本次修订:2026-09-25 | 状态:正式基准(已发布)· 全域强制
文件路径:C:\Users\xub\.workbuddy\spec\3.行政法规\范式\G12_治理件强制交付物断言技术标准_V1.1.0_2026-09-25_1520.md
文件路径:C:\Users\xub\.workbuddy\spec\3.行政法规\范式\G12_治理件强制交付物断言技术标准_V1.1.0_2026-09-25_1520.md
题名与文件名变更(2026-09-25):随受控对象由「四件套」改为「1 件套治理件」(单文件离线 HTML · 四分区合体,见 §1),本标准题名同步由《四件套强制交付物断言技术标准》改为《治理件强制交付物断言技术标准》,文件名同步改为G12_治理件强制交付物断言技术标准_V1.1.0_2026-09-25_1520.md。全域引用(S06 两处闸门段、逻辑图生成器两处、工作流架构图 SKILL.md、《文档登记表》)已同步。
适用范围:全域所有触发「skill/专家迭代升版治理件」交付的场景——含 B1 更新 Skill、B2 更新专家(Agent)、S06 skill专家迭代SOP 闭环,以及 MEMORY §三.4 单报告配套治理件兜底路由。
上位关系:本标准与《全域文件工作流规则技术标准》(W1)第 3.4 节「工具链硬闸门」原则一致,为其治理件存在性断言的实现基准;W1 为顶层框架,本标准独立受控于spec\3.行政法规\范式\,冲突时以 W1 总则为准。
权威实现:~/.workbuddy/_tools/assert_onefile.py(全域硬闸门工具,拒绝静默失败);旧名assert_fourpiece.py保留为兼容转发件,断言口径与本标准完全一致。
配套规范:命名约束见《全域文件命名规则技术标准》(N1);字体与版式约束见《HTML 治理件版式》(G22);生成约束见 W1/W2 + S06 迭代 SOP(fourpiece.emit_onefile())。
1 目的与定位
1.1 改前(V1.0.0 口径 · 已废)
四件套(技术规范要求 Word / 摘要 Word / 变更履历 Excel / 版本清单 Excel)是 W1/W2 全域文件规范 + S06 迭代 SOP 施加给 B1/B2 的外部强制交付物。四件(2 docx + 2 xlsx)分装同一批信息,生成与校验链路长、依赖重(python-docx + openpyxl)、失败面大。
1.2 改后(V1.1.0 口径 · 现行)
1 件套治理件=单文件离线 HTML,四类内容以「四分区」合体于同一文件:
| 分区 id | 承载内容 | 对应改前四件 |
|---|---|---|
sec-spec |
技术规范要求(所依据范式文件名与要点/新增规则/升级要求/迭代 SOP) | 技术规范要求 Word |
sec-summary |
当前进展 + 遗留问题摘要(进展/已完成/遗留/下一步) | 摘要 Word |
sec-changelog |
变更履历表(日期时间/变更文件/变更类型/变更说明/遗留问题) | 变更履历 Excel |
sec-version |
版本清单表(交付物/类型/版本/状态) | 版本清单 Excel |
壳层四件(缺一不合规):header.docmeta(页眉)/nav.toc(目次)/main.article(正文)/footer.doc-foot(页脚)。
命名:<主题>_<YYYY-MM-DD_HHMM>_治理件.html(原「类型」四值合一为单值 治理件)。
本标准将「治理件存在性+四分区齐备+结构合规+字体声明合规」从一个隐含、可被跳过的约定,升级为可被工具链自动校验、不合规即拦截的硬闸门,纳入 W1 统一管控。
依据:炳哥 2026-09-25 裁定①(批准「四件套 → 1 件套」结构性改造 · 含双认期 1 轮)+《S06改单件_定标请求件_2026-09-25_1418》。
2 问题场景(明确化)
| 编号 | 场景 | 现象 |
|---|---|---|
| S1 | 存在性不可见 | 在专家包/技能包业务上下文里天然查不到治理件,易误判"无需处理" |
| S2 | 静默失败 | 闭环仅判"产出目录存在"即放行,治理件未生成/未合规却无声过关 |
| S3 | 异步时序差 | 治理件由生成器异步生成,可能晚于断言时机,被误判缺失 |
| S4 | 双端漂移 | workspace 端有、canonical 端无(或反向),单侧通过掩盖不一致 |
| S5 | 静默空转(2026-09-25 新增) | 字体闸对非 docx 对象(如 HTML)经 except 路返回 None,被调用侧读作「通过」——失去对象却不报错、也不干活 |
3 根因分析方向
| 方向 | 表现 | 本标准对策 |
|---|---|---|
| 异步加载时序 | 生成晚于校验时机 → 误判缺失 | 生成侧同步落盘 + 断言侧显式报「不存在」 |
| 条件判断错误 | 仅判目录存在 → 漏检分区/命名/空文件 | 分区存在性 + 命名正则 + 非空 + 列头逐字 + 时间戳唯一 |
| 权限过滤 | 只读致落盘失败但无异常上抛 | 读取包 try,权限异常显式报错 |
| 查询条件不匹配 | 命名未走 deliverable 正则 → "有文件但类型不对" | 复用 deliverable 同款命名正则 ONEFILE_RE |
| 契约三态混淆 | None 同时表示「通过」与「不适用」 |
契约三态化:错误串 | None(通过)| NotApplicable(不适用);判读走 gb_font_state() |
4 适用场景(触发边界)
满足任一即触发本标准断言:
- T1:B1 更新 Skill 完成升版,准备 register / 发布前;
- T2:B2 更新专家(Agent)完成升版,准备
register_expert.py前; - T3:S06 skill专家迭代SOP 闭环进入「治理件生成→校验→注册」环节;
- T4:MEMORY §三.4 单报告配套治理件兜底路由完成生成后。
触发后必须在下游动作(register / 发布 / 归档)之前运行本标准断言,非零退出即阻断下游。
5 核心规则(断言六要素)
对任意产出目录,硬闸门按以下顺序断言,任一不过即失败:
- 目录合规(双认期):有 Class B 件则该主题须「四件套齐全(存量口径)」或「治理件 1 件套(新制口径)」二者之一;由
deliverable.check_dir()判。切勿写成「有 A/B 件则 1 件套必齐全」——那会让全部历史产出目录瞬间判不合规。 - 命名合规:治理件须命中
<主题>_<YYYY-MM-DD_HHMM>_治理件.html(与deliverable.ONEFILE_RE同款正则)。 - 分区齐备:
sec-spec/sec-summary/sec-changelog/sec-version四个section[id]必现,缺一即不合规(等价原「4 件必齐」)。 - 列头逐字:变更履历 5 列头、版本清单 4 列头逐字比对(等价原 Excel 列约束)。
- 非空 + 时间戳唯一:分区去标签后仍含正文;页眉
docmeta标注时间戳 = 文件名时间戳,且页眉内不出现第二个时间戳(等价原「同批时间戳一致」)。 - 结构合规 + 字体声明合规:过
html_onefile_gate.py(零外链/零脚本/壳层四件/目次锚点对账/标签良构);字体层判「存在内联font-family声明 且 中文字体 ∈ 白名单」(白名单见 G22)。
双端一致(可选):canonical 端与 workspace 端同名件 sha256 相等;不一致即失败。载体为 _tools/check_dual_end.py(原 assert_fourpiece.py --dual 口径已随改造收窄)。
6 约束条件
- C1(强制闸门位):断言必须置于
register_expert.py/ 发布 / 归档之前串联,不得后置或省略。 - C2(非零即阻断):退出码 ≠ 0 必须阻断下游并修复重跑,禁止以"目录存在"或"历史曾过"替代本次断言。
- C3(禁止静默):任何缺失/不合规必须显式 ERROR 日志 + 非零退出,严禁吞异常、严禁空状态默认通过;禁以「返回
None即通过」读字体闸(须走gb_font_state()三态判读)。 - C4(命名唯一权威):治理件命名须由
deliverable.build_paths(..., onefile=True)生成,不得手敲;本断言正则与deliverable同源。 - C5(双端同源):Agent 型专家/跨端交付必须校验 canonical 端,根除 S4 漂移。
- C6(闸门不自备标准):字体/版式判据真源在 G22《HTML 治理件版式》,脚本只实现、不自备标准(宪法第 16 条)。
7 执行要求
调用命令(B2 示例,建议串接 register):
python ~/.workbuddy/_tools/assert_onefile.py "<产出目录>" \
&& python ~/.workbuddy/plugins/marketplaces/workbuddy-builtin/skills/expert-manager/scripts/register_expert.py <expert-dir>
参数:
| 参数 | 必填 | 说明 |
|---|---|---|
<产出目录> ... |
是 | 一个或多个 workspace 端产出目录(位置参数,可多传) |
--root <工作区根> |
否 | 递归该根下所有「产出」目录(跳过 .git/.workbuddy/.sync_snapshots/_archive) |
旧名兼容:
assert_fourpiece.py为转发件,旧的命令行用法与import用法一律照旧可用,断言口径与assert_onefile.py完全一致。
8 可观测性与错误处理
日志层级:INFO 逐目录状态(✓/✗)、ERROR 含原因 + 现场文件。绝不静默。
退出码语义(V1.1.0 收窄:原 2/3/4/5 分级码随实现收窄为 1):
| 退出码 | 含义 | 处置 |
|---|---|---|
| 0 | 断言全部通过(含 --root 下全部目录) |
放行下游 |
| 1 | 存在缺失:目录不合规 / 缺分区 / 列头不符 / 时间戳不唯一 / 未过结构闸 / 字体声明不合规 | 按打印的具体条目逐项修复后重跑 |
| 2 | 用法错误(未给目标目录) | 补参数 |
边界覆盖清单:目录不存在、空目录、缺分区、命名错、列头不符、时间戳混装、结构闸不过、字体声明缺失或字体不在白名单——均已显式覆盖,无盲区。
9 与 W1 关系(统一管控)
- 本标准与 W1 第 3.4 节「工具链硬闸门」 原则一致,为 W1 治理件断言的工具实现基准;本标准独立受控于
spec\3.行政法规\范式\,由 S06 迭代 SOP / B2 闭环脚本串联生效,不反向绑定 W1 具体条款号。 - 工具链归属:本标准实现脚本
assert_onefile.py(+转发件assert_fourpiece.py)与naming_audit.py/check_deliverables.py/check_dual_end.py/expert_spec_gate.py同列 W1 第 3.4 节"工具链硬闸门",为全域唯一权威。 - 版本联动:本标准随 W1 工具链硬闸门相关修订而同步更新说明;变更在本文「版本变更记录」登记。
10 存量历史件与迁移策略
- 读旧兼容:
deliverable.check_dir()保留对存量四件套(docx/xlsx)的识别,历史产出目录不因改制而误报「不合规」。 - 写新统一:新制只出 1 件套治理件 HTML;不得再新增四件套。
- 不追溯改写:不批量转换历史四件套为 HTML(避免二次风险与巨大改动面);如需,另立专项。
- 过渡期:双认期 1 轮(读旧认 4 件、写新出 1 件),收窄时点由脑定。
版本变更记录
| 版本 | 日期 | 变更说明 | 编制人 |
|---|---|---|---|
| V1.0.0 | 2026-08-26 | 首版发布:针对四件套"看不到/静默失败"问题,确立存在性硬闸门标准,绑定 assert_fourpiece.py,受 W1 3.4 工具链硬闸门管控(独立受控于 spec\3.行政法规\范式\,不反向绑定具体条款号) | 全域文件治理工作组 |
| V1.1.0 | 2026-09-25 | 「四件套 → 1 件套」改造:受控对象由四件套(2 Word + 2 Excel)改为 1 件套治理件(单文件离线 HTML · 四分区合体);断言内核改为「目录合规(双认期)+ 命名合规 + 四分区齐备 + 列头逐字 + 时间戳唯一 + 过结构闸 + 字体声明合规」;权威实现迁 assert_onefile.py(旧名转发);新增 S5「静默空转」场景与契约三态化(NotApplicable);退出码收窄为 0/1/2;字体判据真源外置至 G22《HTML 治理件版式》。依据:炳哥 2026-09-25 裁定① +《S06改单件_定标请求件_2026-09-25_1418》。题名与文件名同步改为《治理件强制交付物断言技术标准》(2026-09-25 炳哥裁定 · 原「改名另案待裁」已销项) |
手(施工)· 裁定:炳哥 |
本轮同步(2026-10-01 · PP03 落地)
依据 PP03 M4(闸门语义)与 §8.3,治理件强制交付物断言增两项:
- 交付报告四字段断言:报告头必须含
标准版本/工具SHA256/成件SHA256/产物闸状态(PASS|FAIL(n)|SKIP(附理由));缺任一即判断言不通过。 - 双结论断言:交付报告必须分列「任务完成度」与「产物合格度」两个独立结论;合并为一句「全部通过」即判不通过。
- 批次新引入项断言:每批次收尾须报「本批自己引入的新缺陷数」,目标值为 0;非 0 须逐条说明。
宪法 > 基本法 > 行政法规 > 地方法规 > 地方规章