Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .changeset/contains-fold-prose-6682.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
---
"@objectstack/spec": patch
---

docs(spec): close the stale `$contains` fold pointers in the `filter.zod.ts` per-backend history table and the `filter-text-conformance.ts` `@see` line

#7723 took the `i` flag off `driver-memory`'s `filterSubstringPattern`, closing
the #6682 tracking issue. Two docblock spots in `packages/spec` still pointed
forward at that landing as if it hadn't happened yet:

- `filter.zod.ts`'s per-backend history table (explicitly headed "measured …
BEFORE the ruling" — kept as history per #7625) had a `driver-memory` cell
reading "the last one standing, until #6682". The cell is historically
accurate (it WAS the last case-folding face when written) but the "until
#6682" tail described a future event that has since landed; it now reads
"the last one standing; #6682 closed it (see 'Implementation status'
below)". The table's other rows, including `driver-mongodb`'s, are left
untouched — they are correct as pre-ruling history and #7625 already judged
them that way.
- `filter-text-conformance.ts`'s `@see #6682` line read "mongodb landed,
memory open", contradicting the same file's own header 37 lines earlier
(updated correctly by #7723), which already says the memory half landed
too. It now reads "mongodb and memory both landed".

No behavior, schema, or generated baseline changes — these are TSDoc comments
attached to exported schemas, which do reach `@objectstack/spec`'s published
`dist/*.d.ts` (verified: `grep` on the rebuilt dist shows the edited sentence
in `dist/filter.zod-*.d.ts`), so this ships as a patch changeset rather than
`skip-changeset`.
2 changes: 1 addition & 1 deletion packages/spec/src/data/filter-text-conformance.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -92,7 +92,7 @@
* @see https://github.com/objectstack-ai/objectstack/issues/5701 (this table)
* @see https://github.com/objectstack-ai/objectstack/issues/5702 (the SQL family — landed)
* @see https://github.com/objectstack-ai/objectstack/issues/6520 ($icontains on the JS faces — landed)
* @see https://github.com/objectstack-ai/objectstack/issues/6682 (the $contains family — mongodb landed, memory open)
* @see https://github.com/objectstack-ai/objectstack/issues/6682 (the $contains family — mongodb and memory both landed)
*/

import type { FilterCondition } from './filter.zod';
Expand Down
2 changes: 1 addition & 1 deletion packages/spec/src/data/filter.zod.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -518,7 +518,7 @@ export const RangeOperatorSchema = lazySchema(() => z.object({
* | surface | `$contains` case behaviour | mechanism |
* |---|---|---|
* | `formula` `matchesFilterCondition` | SENSITIVE | `actual.includes(v)` |
* | `driver-memory` — query path and analytics face | INSENSITIVE, full Unicode | `new RegExp(escapeRegex(v), 'i')` — the last one standing, until #6682 |
* | `driver-memory` — query path and analytics face | INSENSITIVE, full Unicode | `new RegExp(escapeRegex(v), 'i')` — the last one standing; #6682 closed it (see "Implementation status" below) |
* | `driver-memory` — reference matcher (`memory-matcher`) | SENSITIVE | `value.includes(target)` |
* | `driver-mongodb` | INSENSITIVE, full Unicode | hardcoded `$options: 'i'` |
* | `driver-sql` family | the DIALECT's | `LIKE '%v%'` — ASCII-insensitive on SQLite (so also turso and sqlite-wasm), sensitive on Postgres, collation-dependent on MySQL |
Expand Down
Loading