Skip to content

docs(spec): close stale $contains fold pointers for driver-memory - #7890

Merged
os-zhuang merged 1 commit into
mainfrom
claude/issue-7854-contains-fold-prose
Aug 12, 2026
Merged

docs(spec): close stale $contains fold pointers for driver-memory#7890
os-zhuang merged 1 commit into
mainfrom
claude/issue-7854-contains-fold-prose

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Fixes #7854

What changed

Two packages/spec docblocks still described driver-memory's $contains fold as an open future event, after #7723 closed it (took the i flag off filterSubstringPattern).

  1. packages/spec/src/data/filter.zod.ts ~L521 — the per-backend history table's driver-memory cell read:

    new RegExp(escapeRegex(v), 'i') — the last one standing, until drivers(memory, mongodb): the $contains family still folds case — the last two backends left on the wrong side of #4706 Q2 = A #6682

    This table is explicitly headed "measured surface by surface BEFORE the ruling" and was deliberately kept as history by fix(driver-mongodb): the $contains family 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 $contains family case-exact and answer count_distinct #7723 mechanism). Only the forward-pointing tail was false: "until drivers(memory, mongodb): the $contains family 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:

    new RegExp(escapeRegex(v), 'i') — the last one standing; drivers(memory, mongodb): the $contains family still folds case — the last two backends left on the wrong side of #4706 Q2 = A #6682 closed it (see "Implementation status" below)

    The driver-mongodb row (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's hardcoded $options: 'i' cell is accurate history of the pre-fix(driver-mongodb): the $contains family is case-SENSITIVE — drop the hardcoded $options: 'i' (#6682) #7625 mechanism and carries no stale forward pointer, so it needed no change.

  2. packages/spec/src/data/filter-text-conformance.ts ~L95 — the @see #6682 line read:

    (the $contains family — mongodb landed, memory open)

    This directly contradicted the same file's own header 37 lines earlier (:58, updated correctly by fix(driver-memory): make the $contains family case-exact and answer count_distinct #7723), which already says driver-memory answers the family too. Changed to:

    (the $contains family — mongodb and memory both landed)

#6682 sweep across packages/spec

Per the card's suggestion, grepped 6682 across packages/spec/src and re-read every hit:

location verdict
filter-text-conformance.ts:55 (header) correct as-is — already updated by #7723
filter-text-conformance.ts:58 (header) correct as-is — already updated by #7723
filter-text-conformance.ts:95 (@see) fixed (this PR)
filter-text-conformance.ts:260-262 (comment) correct as-is — past tense, matches current state
filter-text-conformance.ts:271 (fixture note) correct as-is — past tense, matches current state
filter.zod.ts:521 (history table, driver-memory cell) fixed (this PR)
filter.zod.ts:583 (Implementation status prose) correct as-is — already past tense, already correct

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 after pnpm --filter @objectstack/spec build, grep on the rebuilt dist/filter.zod-*.d.ts shows the edited sentence present verbatim — so the docblock reaches @objectstack/spec's published .d.ts hover surface for consumers. Per the card's E13 criterion, that means it ships as a changeset rather than skip-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 cells ok including driver-memory FILTER_TEXT
  • pnpm --filter @objectstack/spec build — clean, dist .d.ts carries 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 test379 test files / 9983 tests, all passed

Ruling 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

)

#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
@vercel

vercel Bot commented Aug 12, 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 12, 2026 2:30am

Request Review

@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 1 package(s): @objectstack/spec.

106 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/ai/agents.mdx (via @objectstack/spec)
  • content/docs/ai/skills-reference.mdx (via @objectstack/spec)
  • content/docs/ai/skills.mdx (via @objectstack/spec)
  • content/docs/api/client-sdk.mdx (via @objectstack/spec)
  • content/docs/api/environment-routing.mdx (via @objectstack/spec)
  • content/docs/api/error-catalog.mdx (via @objectstack/spec)
  • content/docs/api/error-handling-client.mdx (via @objectstack/spec)
  • content/docs/api/error-handling-server.mdx (via @objectstack/spec)
  • content/docs/api/index.mdx (via @objectstack/spec)
  • content/docs/automation/approvals.mdx (via @objectstack/spec)
  • content/docs/automation/connectors.mdx (via @objectstack/spec)
  • content/docs/automation/flows.mdx (via @objectstack/spec)
  • content/docs/automation/hook-bodies.mdx (via packages/spec)
  • content/docs/automation/hooks.mdx (via @objectstack/spec)
  • content/docs/automation/index.mdx (via @objectstack/spec)
  • content/docs/automation/webhooks.mdx (via @objectstack/spec)
  • content/docs/automation/workflows.mdx (via @objectstack/spec)
  • content/docs/concepts/architecture.mdx (via @objectstack/spec)
  • content/docs/concepts/design-principles.mdx (via packages/spec)
  • content/docs/concepts/index.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-driven.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-lifecycle.mdx (via packages/spec)
  • content/docs/concepts/north-star.mdx (via @objectstack/spec)
  • content/docs/data-modeling/analytics.mdx (via @objectstack/spec)
  • content/docs/data-modeling/drivers.mdx (via @objectstack/spec)
  • content/docs/data-modeling/external-datasources.mdx (via @objectstack/spec)
  • content/docs/data-modeling/field-types.mdx (via @objectstack/spec)
  • content/docs/data-modeling/fields.mdx (via @objectstack/spec)
  • content/docs/data-modeling/formulas.mdx (via @objectstack/spec)
  • content/docs/data-modeling/index.mdx (via @objectstack/spec)
  • content/docs/data-modeling/objects.mdx (via @objectstack/spec)
  • content/docs/data-modeling/queries.mdx (via @objectstack/spec)
  • content/docs/data-modeling/schema-design.mdx (via @objectstack/spec)
  • content/docs/data-modeling/seed-data.mdx (via @objectstack/spec)
  • content/docs/data-modeling/validation-rules.mdx (via @objectstack/spec)
  • content/docs/data-modeling/validation.mdx (via @objectstack/spec)
  • content/docs/deployment/cli.mdx (via @objectstack/spec)
  • content/docs/deployment/tenancy-modes.mdx (via @objectstack/spec)
  • content/docs/deployment/troubleshooting.mdx (via @objectstack/spec)
  • content/docs/deployment/validating-metadata.mdx (via @objectstack/spec)
  • content/docs/getting-started/build-with-claude-code.mdx (via @objectstack/spec)
  • content/docs/getting-started/common-patterns.mdx (via @objectstack/spec)
  • content/docs/getting-started/examples.mdx (via @objectstack/spec)
  • content/docs/getting-started/quick-reference.mdx (via @objectstack/spec)
  • content/docs/getting-started/quick-start.mdx (via @objectstack/spec)
  • content/docs/getting-started/your-first-project.mdx (via @objectstack/spec)
  • content/docs/kernel/cluster.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/auth-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/cache-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/data-engine.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/index.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/metadata-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/storage-service.mdx (via @objectstack/spec)
  • content/docs/kernel/index.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/data-service.mdx (via @objectstack/spec)
  • content/docs/kernel/runtime-services/email-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/examples.mdx (via @objectstack/spec)
  • content/docs/kernel/runtime-services/index.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/queue-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/sharing-service.mdx (via @objectstack/spec)
  • content/docs/kernel/runtime-services/sms-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/storage-service.mdx (via @objectstack/spec)
  • content/docs/kernel/services-checklist.mdx (via @objectstack/spec)
  • content/docs/kernel/services.mdx (via @objectstack/spec)
  • content/docs/permissions/authorization.mdx (via @objectstack/spec)
  • content/docs/permissions/permission-sets.mdx (via @objectstack/spec)
  • content/docs/permissions/permissions-matrix.mdx (via @objectstack/spec)
  • content/docs/permissions/positions.mdx (via @objectstack/spec)
  • content/docs/permissions/rls.mdx (via @objectstack/spec)
  • content/docs/permissions/sharing-rules.mdx (via @objectstack/spec)
  • content/docs/permissions/system-context.mdx (via packages/spec)
  • content/docs/plugins/adding-a-metadata-type.mdx (via @objectstack/spec)
  • content/docs/plugins/development.mdx (via @objectstack/spec)
  • content/docs/plugins/index.mdx (via @objectstack/spec)
  • content/docs/plugins/packages.mdx (via @objectstack/spec)
  • content/docs/protocol/backward-compatibility.mdx (via @objectstack/spec)
  • content/docs/protocol/diagram.mdx (via packages/spec)
  • content/docs/protocol/kernel/config-resolution.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/http-protocol.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/i18n-standard.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/index.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/lifecycle.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/plugin-spec.mdx (via @objectstack/spec)
  • content/docs/protocol/knowledge.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/index.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/query-syntax.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/schema.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/security.mdx (via packages/spec)
  • content/docs/protocol/objectql/state-machine.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/actions.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/concept.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/index.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/layout-dsl.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/record-alert.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/widget-contract.mdx (via @objectstack/spec)
  • content/docs/ui/actions.mdx (via @objectstack/spec)
  • content/docs/ui/apps.mdx (via @objectstack/spec)
  • content/docs/ui/create-vs-edit-form.mdx (via @objectstack/spec)
  • content/docs/ui/dashboards.mdx (via @objectstack/spec)
  • content/docs/ui/field-grouping-and-order.mdx (via @objectstack/spec)
  • content/docs/ui/forms.mdx (via @objectstack/spec)
  • content/docs/ui/index.mdx (via @objectstack/spec)
  • content/docs/ui/public-data-collection.mdx (via @objectstack/spec)
  • content/docs/ui/setup-app.mdx (via @objectstack/spec)
  • content/docs/ui/translations.mdx (via @objectstack/spec)
  • content/docs/ui/views.mdx (via @objectstack/spec)

7 release-owned page(s) also reference the affected code. These are read-only:

  • content/docs/releases/implementation-status.mdx (via @objectstack/spec)
  • content/docs/releases/index.mdx (via @objectstack/spec)
  • content/docs/releases/v12.mdx (via @objectstack/spec)
  • content/docs/releases/v13.mdx (via @objectstack/spec)
  • content/docs/releases/v16.mdx (via @objectstack/spec)
  • content/docs/releases/v17.mdx (via @objectstack/spec)
  • content/docs/releases/v9.mdx (via @objectstack/spec)

content/docs/releases/ is RELEASE-OWNED (AGENTS.md "Documentation Guardrails"): release
notes are written centrally at release time, and a code PR that edits them is the exact PR
that guardrail exists to stop. They are still audited — read-only. If one of them is actually
wrong, file an issue or open a dedicated docs-only PR; do not edit it here.

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

@github-actions github-actions Bot added documentation Improvements or additions to documentation protocol:data tooling labels Aug 12, 2026
@os-zhuang
os-zhuang marked this pull request as ready for review August 12, 2026 02:57
@os-zhuang
os-zhuang added this pull request to the merge queue Aug 12, 2026
Merged via the queue into main with commit 1007379 Aug 12, 2026
27 checks passed
@os-zhuang
os-zhuang deleted the claude/issue-7854-contains-fold-prose branch August 12, 2026 03:14
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 protocol:data size/s tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

packages/spec prose still calls driver-memory's $contains fold open after #7723 closed it

2 participants