Skip to content

docs(adr-0053): 把 #5517 之后失真的两处 mongo 覆盖陈述改成实话 (#5539) - #5562

Merged
os-zhuang merged 1 commit into
mainfrom
claude/issue-5539-adr0053-coverage-truth
Aug 5, 2026
Merged

docs(adr-0053): 把 #5517 之后失真的两处 mongo 覆盖陈述改成实话 (#5539)#5562
os-zhuang merged 1 commit into
mainfrom
claude/issue-5539-adr0053-coverage-truth

Conversation

@os-zhuang

@os-zhuang os-zhuang commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Fixes #5539

Docs-only。只动 docs/adr/0053-date-and-datetime-semantics.md 一个文件,scripts/packages/content/docs/releases/ 一律未碰。

前提复核(对 origin/main,不信 issue 快照)

前提成立,按分诊建议 1 执行。

改了什么

两处都是覆盖陈述的事实修正,不是新裁决 —— ADR 的 Status 行、D-A3 / D-A3.1 / D-A3.2 的任何决定都没有增删改。

1. D-A3.1 的 backend 列表(834-838 行)之后,新增一段带日期的 correction note。
原句「Five backends consume it and assert row-id sets through their own real entry points」本身没错(consumer 确实还在、还在跑同一张表),失真的是那一格何时执行。所以原文保留,后面补一段说明:driver-mongodb 是唯一需要真实 server 进程的一格,该包 7 个套件已改 opt-in;点名受影响的 mongodb-temporal-conformance.test.ts(TEMPORAL_CASES + TEMPORAL_TIME_CASES,无 server-free 半边)与 mongodb-datetime-storage.test.ts(D-E4 的 row-result cover);写清闸门的由来(~123 MB 二进制下载竞态 → unhandled rejection → 绿跑变 exit 1 → 踢掉无关 PR;维护者选择退役下载而非为 #5499 冻结的家族投单飞/预热);并说明 check-driver-conformance 为何仍报 CONSUMED(它按 import 判定),把读者指向该脚本的 ledger 注释;最后写明恢复条件挂在 #5499 解冻,解冻后本注记随之退役。

2. D-A3.2 结尾的 Coverage note(977-980 行)。
用本 ADR 已有的删除线惯例(文中多处 ~~...~~ + 结论)处理:把 「so it runs in CI and skips where no binary is available」 划掉而非删掉(保留记录),补上实话 —— 默认根本不在 CI 跑,binary 是否可达已不再是条件;开关是 OS_TEST_MONGODB_MEMORY_SERVER_ENABLED=1。原句最后一半(「The conversion itself is pinned by mongodb-time-storage.test.ts, which is pure and runs everywhere」)仍然成立并保留 —— 已核实该文件不 import createTestMongod,不受闸门影响。

验证

Docs-only 无行为变化,跑的是相关的仓内闸门(全部前台阻塞执行):

  • node scripts/check-nul-bytes.mjs --self-test && node scripts/check-nul-bytes.mjsOK (scanned 5507 tracked text file(s); ... no raw ASCII control bytes)
  • node scripts/check-doc-authoring.mjs✓ doc authoring guard: 362 files clean
  • node scripts/check-adr-anchors.mjsOK (29 anchored file(s), every governing ADR still referenced)
  • node scripts/docs-audit/check-audit-scope.mjs✓ docs-accuracy-audit scope is in sync
  • node scripts/check-driver-conformance.mjsOK — 20 covered cell(s)(确认本 PR 不改变该 gate 的判定,与注释所述一致)
  • 额外自扫控制字节:grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f]' docs/adr/0053-date-and-datetime-semantics.md → 无命中

pnpm test / pnpm typecheck 对本 PR 无意义:改动是一个 markdown 文件里的散文,没有任何 TS 程序或测试读取它 —— 与其编造一段与本改动无关的绿输出,不如把这一点写明。

一处刻意没改

D-E4(785 行)那句 「Row-result cover lives in mongodb-datetime-storage.test.ts (against a real MongoDB via mongodb-memory-server)」 —— 该套件确实也已 opt-in,但这句话只陈述 cover 在哪里、用什么跑,没有声称「在 CI 跑」,严格讲不算失真。没有单独改它(避免扩面),改用上面第 1 处的 correction note 点名该文件,让同一份文档自洽。

无 changeset

Docs-only、不发布任何包,按 pr-automation.yml 的首选路线走 skip-changeset 标签(工作流注释里 PREFERRED 的那条)。标签已挂(skip-changeset + documentation)。


🤖 Generated with Claude Code

https://claude.ai/code/session_01WyvqvKMG6asi9aXjKE6xtx

…untrue (#5539)

PR #5538 gated driver-mongodb's seven mongod-backed suites behind
`OS_TEST_MONGODB_MEMORY_SERVER_ENABLED=1`, per the maintainer's call to retire
the ~123 MB binary download rather than fund single-flight for a family whose
investment is frozen (#5499). That was recorded in the driver's README and in
`scripts/check-driver-conformance.mjs`'s ledger comment, but ADR-0053 still
claimed the mongo end-to-end sweep runs in CI.

Two statements corrected, both about COVERAGE — no decision in this ADR is
changed, added or reversed:

- D-A3.1's backend list gains a dated correction note: the `driver-mongodb`
  cell is the only one needing a real server process and no longer runs by
  default. Names which suites are affected, why the gate exists, why
  `check-driver-conformance` still reports CONSUMED (it judges by import), and
  that #5499's un-freezing is what restores the cell to CI.
- D-A3.2's closing coverage note: the false clause ("so it runs in CI and skips
  where no binary is available") is struck rather than deleted, and replaced
  with the truth — it does not run in CI at all, and binary reachability
  stopped being the condition. `mongodb-time-storage.test.ts` is pure and
  unaffected, so that half of the original sentence stands.

Docs-only, no behaviour change: no changeset, `skip-changeset` label.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WyvqvKMG6asi9aXjKE6xtx
@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Aug 5, 2026 6:21pm

Request Review

@os-zhuang os-zhuang added documentation Improvements or additions to documentation skip-changeset PR has no user-facing published change; bypasses the changeset gate labels Aug 5, 2026 — with Claude
@github-actions github-actions Bot added the size/s label Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

CI 红旗说明(不需要修复动作):Check Changeset 的那次 failure(job 92402546282,18:21:30 起跑)来自 PR-opened 事件 —— 其冻结载荷早于 skip-changeset 标签落上(~8 秒后)。标签事件随即重新触发了同名检查的两次 run(18:21:38),均已按标签正确 skipped,检查名的最新结论已取代该次失败。这是标签落地竞态的固定形态,不是本 PR 的缺陷;重跑旧 run 只会复用无标签的冻结载荷再红一次,故不重跑。


Generated by Claude Code

@os-zhuang
os-zhuang marked this pull request as ready for review August 5, 2026 18:34
@os-zhuang
os-zhuang added this pull request to the merge queue Aug 5, 2026
Merged via the queue into main with commit b4cdc58 Aug 5, 2026
25 of 26 checks passed
@os-zhuang
os-zhuang deleted the claude/issue-5539-adr0053-coverage-truth branch August 5, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ADR-0053 的 coverage note 与 driver-conformance 的 mongo 覆盖claim,在 #5517 把 mongod 套件改 opt-in 后成了陈述失真

1 participant