返回板块

W03 全域文件生命周期工具链技术标准

2026-09-19行政法规 · 范式
源文件:C:/Users/xub/.workbuddy/spec/3.行政法规/范式/W03_全域文件生命周期工具链技术标准.md

历史条款出处:本文上位依据原属已废止的宪法体系(正文条款出处锚点原样保留、未改写);二次引用前须核对 产出\旧新条款映射表.json。

版本:V1.2.0 | 编制日期:2026-08-26 | 状态:正式基准(已发布)· 全域强制 | 最近修订:2026-09-23(V1.2.0 · 新增重放闸口径条款段;完整沿革见 §六 版本记录,本行 V1.0.0→V1.2.0 滞后订正)
性质:本文是《全域文件工作流规则技术标准》V2.0.0(W1)的配套实现规范,对 W1 尚未工具化的规则 R2、R4–R15 给出可编码、可校验、可集成闸门的技术规格(数据模型、字段 schema、落盘格式、校验逻辑、合格阈值)。
权威关系:本文与 MEMORY.md §三/§十二、W1/N1 一致、互为备份;冲突时按《全域任务脑手架构宪法》V1.2.0 效力层级裁决(2026-09-03 P0 用户裁定:宪法 > MEMORY.md > 台账 > 引用国家标准)
上位关系:本文实现 W1 的 L4 治理底座层工具链;与既有 4 工具(naming_audit / check_deliverables / check_dual_end / expert_spec_gate)同属 _tools/ 工具链,按「规则 → 工具链 → 闸门 → 反馈」四阶闭环编码
覆盖范围:R2(产生·元数据检查器)+ R4–R6(流转)+ R7–R9(审批)+ R10–R12(归档)+ R13–R15(销毁)= 13 项工具;R1/R3 已由 naming_audit.py / deliverable.py 承载,不在本文范围

一、总则

1.1 目的与适用范围

本文把 W1 §3.3 中尚未工具化的 13 条规则(R2、R4–R15)落写为可实现的工具链技术规格,使每一条规则都能被脚本自动校验,补齐「产生—流转—审批—归档—销毁」全生命周期的工程闭环。凡涉及这 13 类治理动作的脚本/系统/集成,一律以本文为唯一实现依据。

1.2 术语定义

  • 元数据检查器:R2 定义的落盘前 5 字段元数据校验器(缺字段 0% 落盘)。
  • 流转单 / 流转日志:R4 定义的跨部门传递结构化单据与其日志。
  • 系统对账:R5 定义的跨系统中转来源/目的地标识与转换记录的日终交叉对账。
  • SLA 时效:R6 定义的流转时限(一般 3 工作日 / 紧急 4 小时)与超时自动升级。
  • 审批留痕 / 电子签章:R7 定义的 1–3 级审批日志与签章完整度。
  • 驳回记录:R8 定义的必含原因字段的驳回单。
  • 升级日志:R9 定义的 72 小时未审批自动升级留痕。
  • 目录审计:R10 定义的归档目录结构(业务域+年度+项目)审计。
  • 保存期 / 期限表:R12 定义的按文件类型分档保存期与到期前 90 天提醒。
  • 销毁四件:R13 申请单 / R14 双人见证记录 / R15 抽样复核报告。

1.3 权威关系

层级 文件 定位
最高裁决 spec/1.宪法/全域任务脑手架构宪法_V1.2.0 宪法 > MEMORY.md > 台账 > 引用国家标准
机器级执行权威 C:\Users\xub\.workbuddy\MEMORY.md §三 / §十二 宪法之下的执行细则权威
上位规则 spec/3.行政法规/范式/W02_全域文件工作流规则范式.md §3.3 本文所实现规则的母文
命名基准 spec/3.行政法规/范式/N03_全域文件命名规则范式.md 工具落盘命名、时间戳、版本号
工具链 ~/.workbuddy/_tools/ 本文工具落位(与既有 4 工具同目录)

1.4 工具链总体架构

本文工具链是 W1「规则 → 工具链 → 闸门 → 反馈」四阶闭环在流转之后阶段的落地,与既有「产生阶段」工具链(命名/四件套/双端/专家闸门)衔接:

产生(Create) ──┐  naming_audit.py(R1) + metadata_checker.py(R2)+ deliverable.py(R3)
流转(Circulate)─┤  circulation_log.py(R4)+ transfer_recon.py(R5)+ sla_monitor.py(R6)
审批(Approve) ──┤  approval_log.py(R7)+ rejection_log.py(R8)+ escalation_log.py(R9)
归档(Archive) ──┤  archive_audit.py(R10)+ metadata_audit.py(R11)+ retention_check.py(R12)
销毁(Destroy) ──┘  destruction_request.py(R13)+ destruction_record.py(R14)+ destruction_report.py(R15)

各工具输出统一落 ~/.workbuddy/_data/lifecycle/(新增治理数据目录),格式约定见 §二。

二、统一数据模型与落盘约定

2.1 存储根

  • 治理数据统一落 C:\Users\xub\.workbuddy\_data\lifecycle\,按工具分子目录:metadata/、circulation/、approval/、archive/、destruction/。
  • 每条记录采用追加式 JSONL(一行一条,便于增量追加与日终对账),关键字段见各工具 schema。

2.2 时间戳与标识约定

  • 所有时间字段统一 YYYY-MM-DD_HHMM(与 N1 §3.1 一致)。
  • 文件指纹 hash 用 SHA-256,取前 16 位十六进制作为记录键 file_hash。
  • 记录唯一键 = <业务类型>_<file_hash>_<动作时间戳>,保证可追溯、可对账。

2.3 元数据字段模型(R2 / R11 共用)

字段 键名 类型 R2(5字段) R11(12字段)
发起人 author str ✅ ✅
创建时间 created_at ts ✅ ✅
业务类型 biz_type enum ✅ ✅
所属项目 project str ✅ ✅
保密等级 classification enum(公开/内部/秘密/机密) ✅ ✅
审批人 approver str — ✅
归档时间 archived_at ts — ✅
保存期 retention str — ✅
关键字 keywords list — ✅
关联文件 refs list — ✅
变更历史 changelog list — ✅
销毁期限 destroy_deadline ts — ✅

三、各工具技术规格(R2、R4–R15)

3.1 R2 · metadata_checker.py(元数据检查器)

  • 触发:文件落盘前。
  • 动作:校验文件头或独立元数据文件至少含 5 字段;缺任一字段拒绝落盘(0% 落盘)。
  • schema:{author, created_at, biz_type, project, classification}。
  • 落盘格式:元数据优先写文件头(docx 自定义属性 / xlsx 自定义属性 / md frontmatter);无法写入头时写同名 .meta.json 侧车文件。
  • 校验逻辑:all(k in meta for k in REQUIRED5),否则 exit 1。
  • 例外:内部参考文件可省 classification,但 7 日内补齐(记录 classification_deferred_until)。
  • 闸门:落盘前置闸门,与 deliverable.save_doc/save_wb 串联。

3.2 R4 · circulation_log.py(流转日志)

  • 触发:文件跨部门流转。
  • 动作:写一条流转单日志。
  • schema:{sender, receiver, ts, file_hash, biz_purpose}。
  • 校验逻辑:5 字段缺一 = 未流转(exit 1)。
  • 例外:同部门内流转可简化为日志记录(scope=internal,字段可省 biz_purpose)。

3.3 R5 · transfer_recon.py(系统日志对账)

  • 触发:文件跨系统(资料库/网盘/邮箱)流转;日终跑批。
  • 动作:通过统一中转 API/中间件记录 {src_system, dst_system, convert_record};日终交叉对账。
  • 校验逻辑:日终 src 出账 = dst 入账,不一致项 0 容忍。
  • 例外:离线交换(纸质+U盘)走双签通道,48 小时内补登。

3.4 R6 · sla_monitor.py(SLA 时效)

  • 触发:文件进入流转后计时;每日发超时报告。
  • 动作:记录 {deadline, urgent_flag};一般 3 工作日 / 紧急 4 小时;超时自动升级。
  • 校验逻辑:SLA 达成率 ≥ 95%(周报)。
  • 例外:涉密/复杂审批可申请延期,必须记录原因。

3.5 R7 · approval_log.py(审批留痕 + 电子签章)

  • 触发:文件到达审批节点。
  • 动作:按文件类型/金额/影响范围走 1–3 级审批,每级留痕 + 签章。
  • schema:{level, approver, ts, verdict, signature}。
  • 校验逻辑:审批日志 + 签章 100% 完整,缺签 = 未批准。
  • 例外:标准模板文件走免审通道(exempt=true)。

3.6 R8 · rejection_log.py(驳回记录)

  • 触发:审批人判定不通过。
  • 动作:写驳回记录,必含 reason + suggestion;退回发起人/上一步。
  • 校验逻辑:reason 空 = 无效驳回(exit 1)。
  • 版本联动:仅流程退回不修改内容 → 版本号不变;修改内容重提 → 按 R3 升版本号。

3.7 R9 · escalation_log.py(升级日志)

  • 触发:审批到达节点 72 小时未审批。
  • 动作:自动升级至上一级 + 短信/邮件通知,写升级日志。
  • schema:{from_role, to_role, ts, overdue_hours}。
  • 校验逻辑:升级日志每日复核,异常冻结须有书面依据。

3.8 R10 · archive_audit.py(归档目录审计)

  • 触发:审批通过且流程结束,文件移入归档目录;月度审计。
  • 动作:归档分类按 业务域/年度/项目/,命名沿用合规名。
  • 校验逻辑:目录结构 100% 符合标准,目录名 0 错误。
  • 例外:跨年度项目按项目结束年度归档。

3.9 R11 · metadata_audit.py(元数据完整度)

  • 触发:归档时;日终扫描。
  • 动作:校验至少含 12 字段元数据(见 §2.3)。
  • 校验逻辑:元数据完整度 ≥ 98%,缺字段自动告警。
  • 例外:历史遗留文件可分阶段补齐,补齐率纳入月度考核。

3.10 R12 · retention_check.py(保存期交叉校验)

  • 触发:归档时确定保存期;季度复核。
  • 动作:按文件类型分档(合同 10 年 / 财务 15 年 / 技术文档 5 年 / 临时 1 年),到期前 90 天提醒。
  • 校验逻辑:期限表与归档目录交叉校验,到期未处理率 = 0%。
  • 例外:法律/合规特殊要求可延长,须有书面依据。

3.11 R13 · destruction_request.py(销毁申请单)

  • 触发:文件到期 / 合规要求 / 主动申请。
  • 动作:填销毁申请单 {reason, scope, method, ts, supervisor},经档案负责人批准。
  • 校验逻辑:申请单 100% 留档,无单不销。
  • 例外:涉密文件须经保密办 + 法务双签。

3.12 R14 · destruction_record.py(双人见证销毁记录)

  • 触发:销毁申请获批。
  • 动作:双人见证执行(电子:不可恢复擦除+日志;纸质:碎纸+焚烧+视频记录)。
  • schema:{method, witness, ts},缺一 = 未销毁。
  • 例外:委托第三方销毁需第三方资质 + 销毁证明。

3.13 R15 · destruction_report.py(抽样复核报告)

  • 触发:销毁执行完毕。
  • 动作:抽样复核确认不可恢复,出销毁报告归档。
  • 抽样规则:常规抽 5%;批量(>1000 件)抽 1% 且绝对抽样量 ≥ 5 件。
  • 校验逻辑:销毁报告 100% 归档,季度审计复核 0 差错。

四、校验标准与闸门集成

4.1 判定标准(量化锚点,与 W1 §3.5 一致)

维度 指标 合格阈值 校验周期
元数据完整 元数据缺字段率 ≤ 2% 日终扫描
流转时效 SLA 达成率 ≥ 95% 周报
审批留痕 审批日志+签章完整度 100% 实时(节点闸门)
归档目录 归档目录结构正确率 100% 月度审计
保存期限 到期未处理率 0% 季度复核
销毁准确 销毁报告完整度 + 抽样复核差错 100% / 0% 季度审计

4.2 闸门清单与集成点

闸门 工具 拦截动作 集成点
落盘前置闸门 metadata_checker.py 缺 5 字段拒绝落盘 deliverable.save_doc/save_wb
流转完整性闸门 circulation_log.py 缺字段 = 未流转 跨部门流转入口
审批完整性闸门 approval_log.py 缺签 = 未批准 审批节点
驳回有效性闸门 rejection_log.py 空原因 = 无效驳回 驳回动作
销毁前置闸门 destruction_request.py 无单不销 销毁入口

4.3 与既有工具链的分工

  • 本文工具专注流转之后阶段(元数据/流转/审批/归档/销毁);既有 4 工具专注产生阶段(命名/四件套/双端/专家闸门)。
  • 二者共享同一套 N1 命名基准与 deliverable.py 落盘真相源;新增工具落盘同样经 deliverable 校验,禁止手敲文件名。

五、实施优先级与分期

期次 工具 规则 依据
P0(先建,与产生阶段直接衔接) metadata_checker.py R2 落盘前置,与 R1/R3 同属产生阶段硬闸门
P1(流转+审批) circulation_log / sla_monitor / approval_log / rejection_log / escalation_log R4/R6/R7/R8/R9 高频动作,先实现留痕与时效
P2(归档+跨系统) archive_audit / metadata_audit / retention_check / transfer_recon R10/R11/R12/R5 周期性对账,可批跑
P3(销毁) destruction_request / destruction_record / destruction_report R13/R14/R15 不可逆环节,最后实现、从严校验

重放闸口径(V2.0.0 · 2026-09-23 L1 修复)

判据真源:本段是 ~/.workbuddy/scripts/skill_upgrade.py 重放闸的唯一口径真源;脚本内 REPLAY_POLICY_VERSION 常量须与本段同步。改口径=改本段;脚本只实现、不自备标准(宪法第16条「闸门不自备标准」)。

一、问题定性

同一条升版命令在沙箱放行后可能被重放执行两次(先受限沙箱跑一次、再放行态跑第二次),第二次在第一次产物上再 bump 一级 ⇒ 版本连跳两级、产出「内容与前版无差异的空版本」。2026-09-23 第四次实测(lihengbian_DIY_供应链评价 V1.9.0 → V1.10.0 → V1.11.0)暴露初版闸门(口径 1.0.0:单相落痕 + 三判据)存在结构性盲区,根因三条:

编号 缺陷 后果
D1 落痕后置:唯一落痕点在 upgrade() 最末(四件套之后) 中断即零痕迹,journal 不可作唯一判据
D2 判据收窄:要求 to_ver == 当前版本,且只考察最近一条同指纹记录 中断产生的中间态无从命中
D3 兜底静默:registry.dir 失效时按 bare 名扫最高版目录静默续升 「registry 与实盘不一致」这一铁证被用来自愈,而非拦截

二、新口径(口径版本 2.0.0)

最高位原则:registry 与实盘不一致必须拦截,不得静默续升。 判据主源=文件系统自身的不一致(即使 journal 被清空,亦能独立拦下重放);journal 退为辅证。

① 双相落痕(根治 D1)
- 相位一 intent:任何写动作之前(shutil.copytree 之前)落 stage='intent',记 (skill, kind, note) 指纹与预期 to_ver,返回 rec_id(由 指纹 + 时间戳 派生)。
- 相位二 done:升版成功收尾时把同 rec_id 那条改为 stage='done'。
- 落痕函数以脚本 record_intent() / record_done() 为准;record_upgrade() 保留为「intent + 立即 done」的兼容包装(供 --resume-fourpiece 使用)。dry-run 不落痕。

② 一致性硬闸 LD-R1(判据主源)
resolve_skill_dir_ex() 在 registry.dir 缺失/不存在时按 bare 名兜底扫描,并回传 via_fallback=True。upgrade() 在解析目录之后、任何写动作之前执行本闸:

若 via_fallback 为真:
    reg_ver  = registry[skill].version
    disk_ver = 实盘最高非 .bak 目录的版本号(disk_max_version)
    若 disk_ver != reg_ver → 抛 SystemExit,报「未登记的升版中间态」
    若 disk_ver == reg_ver → 仅目录名漂移,放行(保留既有自愈能力)

③ 判重放判据 A/B/C(辅助判据)
遍历全部同指纹记录(不再只查首条),任一成立即判重放,取最新命中一条返回:

判据 条件 语义
A 同指纹且 stage=='intent' 前次未收尾 → 命中,不论窗口(根治 D1)
B 同指纹且 age <= 900s 且 to_ver == 当前版本 保留旧判据③
C 同指纹且 age <= 900s 且 from_ver == 当前版本 版本被回正后重放

窗口真源 REPLAY_WINDOW_SEC = 900(秒)。旧记录无 stage 键 → 不命中 A,仍走 B/C(向后兼容)。

④ 两个放行口语义分离(不可互相替代)

放行口 放行对象 适用场景
--allow-replay 判据 A/B/C(重放闸) 确需「同名同参」连升两级时
--allow-resume LD-R1 一致性闸 确认是升版中断续跑时

二者语义不同、不可互相替代;误用时的提示互相指路。

⑤ --reconcile 四方自洽核对入口(默认 dry-run,--apply 才写盘)
逐条报告:① registry[skill].dir 在 skills/ 下是否存在;② registry.version 与 SKILL.md frontmatter version 是否一致;③ 同一 bare 名下是否存在多个非 .bak 目录;④ journal 中 stage=='intent' 的未收尾记录;⑤ 孤立非 .bak 目录(存在但不在 registry)。
--apply 的写盘范围严格限定为「把 registry 的 dir/version 回正到实盘」这一种可逆动作(且仅在实盘该 bare 名下唯一目录时);③④⑤ 三类只报不改(涉及目录改名或删除,须人裁定)。
中断续跑的标准处置:先 --reconcile --apply 把 registry 回正到实盘,再按正常命令升版(此时 registry 与实盘已一致,LD-R1 自然放行)。

三、不变量与自证

  • 不得以 stdout 自述为准:判据一律回读磁盘实况。
  • V1 事故复现用例为唯一验收核心:须在 journal 为空的前提下独立拦下重放。
  • 口径变更须递增 REPLAY_POLICY_VERSION 并同步本段(现行 '2.0.0')。

六、版本记录

版本 日期 变更说明 编制人
V1.0.0 2026-08-26 首版发布:为 W1 未工具化规则 R2、R4–R15 提供 13 项工具链技术规格(数据模型、字段 schema、落盘格式、校验逻辑、合格阈值与分期)。 全域文件治理工作组
V1.1.0 2026-08-31 增补附录 A「工具链版本登记表」:为 _tools/ 全域工具链脚本建立版本唯一权威登记(SC-15 例外条款「版本随 W2 统一纳管」的落表载体);纳入 C3/E4/F5/F9 主责载体与既有 4 工具,消除附录 D 数据集 P3 版本提示。 全域文件治理工作组
V1.1.1 2026-08-31 附录 A 登记表新增专家包双脚本(dual_verify.py/dual_consensus.py V1.1.1):随专家包 V1.1.1 升版联动登记,与 G7 §1.2.1(第三篇·一、量化共识算法规范下的降级偏差定量校正)R6 实现版本一致;消除专家包脚本版本溯源缺口。 全域文件治理工作组
V1.2.0 2026-09-23 新增「### 重放闸口径(V2.0.0 · 2026-09-23 L1 修复)」条款段(置于 §六 之前):把 scripts/skill_upgrade.py 重放闸由旧口径(单相落痕 + 三判据)升为双相落痕(intent/done)+ 判据 A/B/C + 「registry × 实盘」一致性硬闸 LD-R1 + --allow-resume/--allow-replay 语义分离 + --reconcile 核对入口,并确立「registry 与实盘不一致必须拦截」原则。缘起:2026-09-23 lihengbian_DIY_供应链评价 V1.9.0→V1.10.0→V1.11.0 连跳两级事故(D1 落痕后置 / D2 判据收窄 / D3 兜底静默)。 全域文件治理工作组

附录 A 工具链版本登记表(唯一权威,版本随 W2 统一纳管)

性质:本附录是 SC-15「版本随 W2 统一纳管」例外条款的落表载体。凡 _tools/ 下无 __version__ 声明的工具链脚本,其版本号一律以本表为准(禁止在脚本内杜撰版本号);升版时同步更新本表并登记变更。
登记口径:版本号取自脚本头实测(如 skill_upgrade.py 头注 V1.3.2);无版本语义的钩子/模板类(install_naming_hook.sh、hooks/pre-commit)登记为「随 W2 纳管」。

工具(脚本) 版本 登记说明
deliverable.py 随 W2 统一纳管 核心库(命名/路径/落盘硬约束),全域唯一落盘真相源;无 __version__,版本以本表为准
check_deliverables.py 随 W2 统一纳管 交付物合规校验关卡(CI);无 __version__
assert_fourpiece.py 随 W2 统一纳管 四件套后置断言闸门;无 __version__
naming_audit.py 随 W2 统一纳管 命名全域扫描器(只读);无 __version__
check_dual_end.py 随 W2 统一纳管 双端同步校验器(只读);无 __version__
region_gate.py 随 W2 统一纳管 区域路由硬闸门(fail-closed);无 __version__
linkage_health.py 随 W2 统一纳管 发布盘四件套↔源端回链体检;无 __version__
scenario_coverage.py / scenario_code_check.py / scenario_ref_check.py / scenario_six_elements.py 随 W2 统一纳管 场景四扫描器(周报巡检只读);无 __version__
install_naming_hook.sh / hooks/pre-commit 随 W2 纳管 git 门禁安装器/模板(无版本语义)
skill_upgrade.py(~/.workbuddy/scripts/) V1.3.2 脚本头实测(唯一具显式版本号的工具链主载体;脚本内 SCRIPT_VERSION/REPLAY_POLICY_VERSION 为功能口径常量,非整体版本——见上方口径附注)
expert_upgrade.py(~/.workbuddy/scripts/) V1.1.2 脚本头实测
dual_verify.py(专家包 plugins/.../lihengbian-dual-verify/scripts/) V1.2.1 脚本头实测(异源双模校核双路调用:模型名回检、空返回重试去重、REVIEW 重校上限)
dual_consensus.py(专家包 plugins/.../lihengbian-dual-verify/scripts/) V1.2.1 脚本头实测(共识量化:Kappa/Jaccard/Cosine_adj→S_adj,匈牙利配对;V1.1.1 增 R6 校正、V1.2.0 改 per-pair 粒度 + --rerun/--arbitrate 入口)

变更记录:版本登记表升版随 W2 版本记录联动;凡涉及表中工具的功能/接口变更,须在 W2 版本记录追加一行并同步更新本表。

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