You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AGENTS.md「Degradation log levels — warn vs error」末尾的 It has teeth 段(约 642–657 行)只描述第 1 条。两处会误导:
「walks the AST for catch blocks guarding a declared vocabulary of durability-critical operations and fails when one logs below error without rethrowing」——现在这只是一半;
在 It has teeth 段后补一段,说明同一条命令还跑读接缝规则、判据是什么、baseline 是哪个文件、扫描面为什么是收窄的(维护者 2026-08-06「裁 3——收窄先行」),并把「发现新的读接缝?」的去处指向该规则的 READ_FAILURE_DISCRIMINATORS / baseline,与现有「Found a new one? Add it to DURABILITY_CRITICAL_CALLEES」对称。
观察类发现,记录于 #5186 实施期。今天没有用户会撞到,也不影响闸门行为——纯粹是 AGENTS.md 的描述面比闸门实际执行面窄了一条规则。#5186 的文件面是
scripts/+.changeset/(⛔ 越界即停),AGENTS.md 不在其中,故只记录不改。事实
#5186 之后,
pnpm check:durability-log-level(scripts/check-durability-degradation-log-level.mjs)执行两条独立规则:DURABILITY_CRITICAL_CALLEES词表 +warn/静默即红,baseline 是scripts/durability-degradation.baseline.json;check:durability-log-level结构性看不见「读接缝把故障答成空值」这一类 —— #4825 / #5108 全家都在闸门盲区里 #5186,族源 [metadata] database-loader 吞掉 sys_metadata 的 DDL 失败后仍置 schemaReady=true —— 第二类降级(#4632 规则),本轮因包冻结未修 #4728 → [metadata] nextEventSeq() 把驱动读失败也当成「表还没建」,静默从 1 重新发号 —— #4632 同形,机械检查覆盖不到 #4825 →DatabaseLoader把存储读故障吞成空结果 —— ADR-0110 D3 的 miss/outage 之分在复数读路径上不成立 #5108):catch无日志 +return空值/零值 + 块内含读调用 + 未按错误类型区分 → 红,扫描面收窄到packages/metadata/packages/metadata-protocol/packages/objectql,baseline 是另一个文件scripts/durability-read-invention.baseline.json。AGENTS.md「Degradation log levels —
warnvserror」末尾的 It has teeth 段(约 642–657 行)只描述第 1 条。两处会误导:catchblocks guarding a declared vocabulary of durability-critical operations and fails when one logs belowerrorwithout rethrowing」——现在这只是一半;scripts/durability-degradation.baseline.json… and that file is currently empty, which is its intended steady state」——这句对那个文件仍然成立,但读者很容易把它当成「这条命令的 baseline 是空的」,而第二条规则的 baseline 有 3 条(2 条真实待修,已分别立卡 ObjectQLseedAutonumber把读故障答成return 0—— 对已有 N 行的表重新从 1 发号,自增号与既有行相撞且零日志(#4825 同族,活体) #5979 /MetadataProtocol.listCommits把 commit store 读不到答成[]—— ADR-0067 时间线上「无历史」与「读不到」不可分辨(零日志,JSDoc 里写着这是设计) #5980;1 条复核为合法)。建议(一段散文的量)
在 It has teeth 段后补一段,说明同一条命令还跑读接缝规则、判据是什么、baseline 是哪个文件、扫描面为什么是收窄的(维护者 2026-08-06「裁 3——收窄先行」),并把「发现新的读接缝?」的去处指向该规则的
READ_FAILURE_DISCRIMINATORS/ baseline,与现有「Found a new one? Add it toDURABILITY_CRITICAL_CALLEES」对称。关联
#5186(落地本规则)、#5979 / #5980(其 baseline 里两条待修条目)、#4632(规则起点)、#4754 / #5241(同一脚本此前两次扩张,当时也各自更新了这段散文)。