Skip to content

strictness 台账「数字/散文分家」:计数与表头转生成物走 os-regen,Class 判定与依据保持手写 —— 终结「干净合并两边都错」(单日 7 例) #5107

Description

@xuyushun441-sys

维护者 2026-08-04 同意方向后立单(讨论记录在 PM 会话;判据数据如下)。未认领。

病历

docs/audits/2026-07-unknown-key-strictness-ledger.md 是 2026-08-03/04 战役期间全仓最热的合并冲突点:并行批次的每一重叠飞行冲突一次,表头/小计的「干净合并、两边都错」单日 7 例(automation 段 5、6 例与 ui 段第 7 例:批 13 写 119、批 14 写 110、批 15 写 100,正确值 91 三边都没写过)。成本有界(存活行重算 + check:strictness-ledger 仲裁,零丢失零错入 main),但每例吃掉一轮 dev 同步。

药方(releases/ 页同款:逐变更文件 + 集中编译的变体)

  1. 数字转生成物:remaining-strip 映射的行计数、各段表头、authorable 小计由 gen: 脚本从既有 AST 计数器(fix(spec): #4001 重测 —— 实测剩余站点清单,并修好测量它的那把尺 #4852,scripts/lib/strictness-ledger.ts)直接输出——它现在就在算这些数用于对账,只是改为写入;产物路径加进 .gitattributesmerge=os-regen,合并时整体重生成,该冲突类别结构性消失。
  2. 散文保持手写:Class 列、判定依据、findings log、豁免记录留在文档——它们是承重判断(反向钉分不清「刻意 wire 地板」与「没做完」,只有 Class 列能),且全天只发生过一次冲突、还是有意义的(no door / no gate 词汇互斥)。
  3. 闸门职责反转:从「验证手写数字与 AST 一致」改为「验证生成物新鲜 + 每条散文行有对应生成行」。双向闸(fix(spec): #4001 重测 —— 实测剩余站点清单,并修好测量它的那把尺 #4852 反向钉)语义保留。
  4. 先证红:改完后手动篡改生成物一处、删散文一行,两向各红一次再信绿。

排期约束

批 17(#4001 component)与批 18(#5070)落地之后、data/ 波次(批 20-22)派发之前必落——data/ 三批会同样密集地锤 data/ 段,手术晚于它们就白做一半。#5072(postureOf 把 strictObject(...).passthrough() 读成 strict)可顺带修,同一把尺。

关联:#4852(AST 尺与双向闸)、#4001(战役主单,7 例记录在其台账散文)、#5072、CLAUDE.md 的 releases/ 禁令(同病同方)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions