docs(spec): close stale $contains fold pointers for driver-memory - #7890
Conversation
) #7723 took the `i` flag off driver-memory's filterSubstringPattern, closing #6682. Two packages/spec docblocks still pointed forward at that landing as a future event: - filter.zod.ts's per-backend history table (kept as history per #7625) had a driver-memory cell reading "the last one standing, until #6682" -- accurate as history, but the "until #6682" tail described a future that has since landed. Closed in past tense without flattening the historical framing; the table's other rows (including driver-mongodb's pre-#7625 mechanism) are untouched. - filter-text-conformance.ts's @see #6682 line read "mongodb landed, memory open", contradicting the file's own header 37 lines earlier (already correct since #7723). Now reads "mongodb and memory both landed". Fixes #7854 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016YBUGvukaeVu9DjKdsHJa9
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
📓 Docs Drift CheckThis PR changes 1 package(s): 106 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:
⛔ 7 release-owned page(s) also reference the affected code. These are read-only:
|
Fixes #7854
What changed
Two
packages/specdocblocks still described driver-memory's$containsfold as an open future event, after #7723 closed it (took theiflag offfilterSubstringPattern).packages/spec/src/data/filter.zod.ts~L521 — the per-backend history table'sdriver-memorycell read:This table is explicitly headed "measured surface by surface BEFORE the ruling" and was deliberately kept as history by fix(driver-mongodb): the
$containsfamily is case-SENSITIVE — drop the hardcoded$options: 'i'(#6682) #7625 (drivers seat, [PM seat] domain:spec-surface — 🟢 os-zhuang #6298) — so I did not flatten the historical framing or rewrite the cell's factual content (it correctly describes the pre-fix(driver-memory): make the$containsfamily case-exact and answercount_distinct#7723 mechanism). Only the forward-pointing tail was false: "until drivers(memory, mongodb): the$containsfamily still folds case — the last two backends left on the wrong side of #4706 Q2 = A #6682" describes a future landing that has since happened. Changed to:The
driver-mongodbrow (and every other row in the table) is untouched. Judged by the same standard — "correct as pre-ruling history, since the table is honestly framed that way" — the mongodb row'shardcoded $options: 'i'cell is accurate history of the pre-fix(driver-mongodb): the$containsfamily is case-SENSITIVE — drop the hardcoded$options: 'i'(#6682) #7625 mechanism and carries no stale forward pointer, so it needed no change.packages/spec/src/data/filter-text-conformance.ts~L95 — the@see #6682line read:This directly contradicted the same file's own header 37 lines earlier (
:58, updated correctly by fix(driver-memory): make the$containsfamily case-exact and answercount_distinct#7723), which already says driver-memory answers the family too. Changed to:#6682sweep acrosspackages/specPer the card's suggestion, grepped
6682acrosspackages/spec/srcand re-read every hit:filter-text-conformance.ts:55(header)filter-text-conformance.ts:58(header)filter-text-conformance.ts:95(@see)filter-text-conformance.ts:260-262(comment)filter-text-conformance.ts:271(fixture note)filter.zod.ts:521(history table, driver-memory cell)filter.zod.ts:583(Implementation status prose)No code, schema, or generated baseline changes.
Changeset
Filed as a patch changeset, not
skip-changeset. Measured rather than assumed: these are TSDoc comments on exported schemas (StringOperatorSchema,FILTER_TEXT_CASES's file header), and afterpnpm --filter @objectstack/spec build,grepon the rebuiltdist/filter.zod-*.d.tsshows the edited sentence present verbatim — so the docblock reaches@objectstack/spec's published.d.tshover surface for consumers. Per the card's E13 criterion, that means it ships as a changeset rather thanskip-changeset.Verification
pnpm check:nul-bytes— OK (7218 files scanned, no raw control bytes)pnpm check:adr-anchors— OK (22545 citations resolve; no regressions)pnpm check:driver-conformance— OK, 40 covered / 0 DEBT / 0 exempt, same reading the issue cites, all 5×8 matrix cellsokincludingdriver-memoryFILTER_TEXTpnpm --filter @objectstack/spec build— clean, dist.d.tscarries the edited prose (see above)pnpm --filter @objectstack/spec typecheck— clean (tsc --noEmit+ scripts + test-typecheck; the 265-error test-typecheck debt ledger is pre-existing/shrink-only and unaffected)pnpm --filter @objectstack/spec test— 379 test files / 9983 tests, all passedRuling context
Per the card's binding note, Triage's re-route stands: this is prose-only, acceptance surface unchanged. #7723's (driver-memory) and #7625's (mongodb docblock) behavior/prose rulings are landed and not re-litigated here — this PR only makes the remaining spec prose agree with them.
Generated by Claude Code