docs(adr-0053): 把 #5517 之后失真的两处 mongo 覆盖陈述改成实话 (#5539) - #5562
Merged
Conversation
…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
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Contributor
Author
|
CI 红旗说明(不需要修复动作): Generated by Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #5539
Docs-only。只动
docs/adr/0053-date-and-datetime-semantics.md一个文件,scripts/、packages/、content/docs/releases/一律未碰。前提复核(对 origin/main,不信 issue 快照)
4fdf480,已在main上(test(driver-mongodb): gate the mongod-backed suites behind an opt-in env var (#5517) (#5538))。packages/plugins/driver-mongodb/src/下 8 个文件 importcreateTestMongod,其中 7 个是真正需要 mongod 的套件,第 8 个mongodb-memory-server-gate.test.ts是钉住「闸门关闭时连库都不 import」的 pin test(默认跑)。main上仍是原文,行号与 issue 快照有偏移:coverage note 在 977-980(不是 977-979),backend 列表在 834-838。scripts/check-driver-conformance.mjs的 ledger 注释」 —— 属实,该注释按 marker 逐条写明FILTER_LOGIC_CASES仍默认跑、PAGINATION_*与TEMPORAL_*仅 opt-in。本 PR 不动它。前提成立,按分诊建议 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 bymongodb-time-storage.test.ts, which is pure and runs everywhere」)仍然成立并保留 —— 已核实该文件不 importcreateTestMongod,不受闸门影响。验证
Docs-only 无行为变化,跑的是相关的仓内闸门(全部前台阻塞执行):
node scripts/check-nul-bytes.mjs --self-test && node scripts/check-nul-bytes.mjs→OK (scanned 5507 tracked text file(s); ... no raw ASCII control bytes)node scripts/check-doc-authoring.mjs→✓ doc authoring guard: 362 files cleannode scripts/check-adr-anchors.mjs→OK (29 anchored file(s), every governing ADR still referenced)node scripts/docs-audit/check-audit-scope.mjs→✓ docs-accuracy-audit scope is in syncnode scripts/check-driver-conformance.mjs→OK — 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 viamongodb-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