Skip to content

Commit c3cea5a

Browse files
committed
docs(spec): drop "and os lint" and the voided-record run attributions (#19514)
Round 6, two deletions ordered by the seat: - B1: the scalar entry's acceptanceCriteria said "os validate and os lint report each one by path"; os lint does not report this rule for a view's filter. "and os lint" is deleted and the verb agrees with its single subject ("reports"), the one non-deletion the order allows. - N1: the attributions saying this change's review also ran driver-sql on a live PostgreSQL 16, driver-sqlite-wasm and turso's remote transport rest on records the seat voided. They are deleted from the scalar entry's reason, the changeset's "How each cell was measured" paragraph and the view.zod.ts docblock. The driver-memory 17.3.0 attributions stay. registry.ts regenerated by gen:migration-registry. Claude-Session: https://claude.ai/code/session_01Sfe5YjBLwB9J3y8fvm2xq1 Co-authored-by: Claude <noreply@anthropic.com>
1 parent 07d787c commit c3cea5a

4 files changed

Lines changed: 7 additions & 13 deletions

File tree

‎.changeset/19514-view-filter-rule-scalar-arm-and-icontains-comparand.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Direction set by objectui#9050's ruling C′, quoted untranslated: 「the differ
2020
| `driver-memory` | **REFUSES** — the same shape in the same envelope |
2121
| `driver-mongodb` | **ANSWERS** — `translateFilter` passes the array through unchanged and the engine's shared comparand doors pass the shape, so the server applies MongoDB's equality rule for an array operand: a row matches when its stored array **equals** `['a']` **or holds `['a']` as an element**, and a row storing the scalar `'a'` does not (mingo 7.2.4, over `['a']`, `'a'`, `['a', 'b']`, `['b', 'a']`, `[['a'], 'x']`, `[['a']]` and `'b'`, selects `['a']`, `[['a'], 'x']` and `[['a']]`); a live `mongod` is NOT MEASURED |
2222

23-
How each cell was measured. Run for this change on the lowered `{ tags: ['a'] }`, each beside a scalar and an `$in` control: `driver-sql` on SQLite, `driver-memory`, `driver-mongodb`'s `translateFilter`, and mingo 7.2.4 for MongoDB's rule. Run in this change's review: `driver-sql` on a live PostgreSQL 16 (refused before any SQL statement was emitted), `driver-sqlite-wasm`, and turso's remote transport over the repository's libsql stub. ⚠️ NOT MEASURED: MySQL, a live Turso server, and a live `mongod` — the MongoDB row is read at the driver's compile face, at the engine's shared comparand doors and through mingo.
23+
How each cell was measured. Run for this change on the lowered `{ tags: ['a'] }`, each beside a scalar and an `$in` control: `driver-sql` on SQLite, `driver-memory`, `driver-mongodb`'s `translateFilter`, and mingo 7.2.4 for MongoDB's rule. ⚠️ NOT MEASURED: MySQL, a live Turso server, and a live `mongod` — the MongoDB row is read at the driver's compile face, at the engine's shared comparand doors and through mingo.
2424

2525
**None reads the array as the scalar the operator declares.** `driver-mongodb` returns rows — but for a different predicate, and only on an array-valued field, so it reads as a true statement about data the rule never asked for (a live `mongod` is NOT MEASURED). Earlier releases are a separate question, and only partly measured: `driver-memory` refuses the shape from 17.4.0, while its published 17.3.0 returned the row stored as `['a']` (run in this change's review; which other rows it selected, nested arrays included, is NOT MEASURED); whether any earlier SQL-family release answered the shape is NOT MEASURED.
2626

‎packages/spec/src/migrations/entries/semantic/18.view-filter-rule-scalar-operator-array-refused.ts‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,7 @@ export const entry: SemanticMigration = {
5555
+ 'compile face, at those engine doors and through mingo 7.2.4, which applies that rule; '
5656
+ 'a live mongod instance was NOT measured. Method: driver-sql on SQLite, driver-memory, '
5757
+ 'driver-mongodb\'s translateFilter and mingo were each run on the '
58-
+ 'lowered node beside a scalar and an $in control, and this change\'s review also ran '
59-
+ 'driver-sql on a live PostgreSQL 16 (refused before any SQL statement was emitted), '
60-
+ 'driver-sqlite-wasm, and turso\'s remote transport over the repository\'s libsql stub; '
58+
+ 'lowered node beside a scalar and an $in control; '
6159
+ 'MySQL and a live Turso server were NOT measured. '
6260
+ 'Metadata AT REST is deliberately NOT rewritten and this entry adds no D2 conversion: a '
6361
+ 'SemanticMigration converts nothing by its own type, and the stored-row pass replays D2 '
@@ -70,7 +68,7 @@ export const entry: SemanticMigration = {
7068
'Grep your authored views, pages and object-* blocks for a filter rule whose operator is '
7169
+ 'none of in / not_in / between / the four unary operators and whose value is an array, '
7270
+ 'then decide per rule which of the two things it meant: one value, or membership. '
73-
+ 'os validate and os lint report each one by path with the operator, the received shape '
71+
+ 'os validate reports each one by path with the operator, the received shape '
7472
+ 'and both corrected spellings, so the sweep is mechanical rather than by eye. '
7573
+ 'Either way, re-check what the view is '
7674
+ 'supposed to show rather than assuming the old result set was correct. A one-element '

‎packages/spec/src/migrations/registry.ts‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13117,9 +13117,7 @@ const step18: MigrationStep = {
1311713117
+ 'compile face, at those engine doors and through mingo 7.2.4, which applies that rule; '
1311813118
+ 'a live mongod instance was NOT measured. Method: driver-sql on SQLite, driver-memory, '
1311913119
+ 'driver-mongodb\'s translateFilter and mingo were each run on the '
13120-
+ 'lowered node beside a scalar and an $in control, and this change\'s review also ran '
13121-
+ 'driver-sql on a live PostgreSQL 16 (refused before any SQL statement was emitted), '
13122-
+ 'driver-sqlite-wasm, and turso\'s remote transport over the repository\'s libsql stub; '
13120+
+ 'lowered node beside a scalar and an $in control; '
1312313121
+ 'MySQL and a live Turso server were NOT measured. '
1312413122
+ 'Metadata AT REST is deliberately NOT rewritten and this entry adds no D2 conversion: a '
1312513123
+ 'SemanticMigration converts nothing by its own type, and the stored-row pass replays D2 '
@@ -13132,7 +13130,7 @@ const step18: MigrationStep = {
1313213130
'Grep your authored views, pages and object-* blocks for a filter rule whose operator is '
1313313131
+ 'none of in / not_in / between / the four unary operators and whose value is an array, '
1313413132
+ 'then decide per rule which of the two things it meant: one value, or membership. '
13135-
+ 'os validate and os lint report each one by path with the operator, the received shape '
13133+
+ 'os validate reports each one by path with the operator, the received shape '
1313613134
+ 'and both corrected spellings, so the sweep is mechanical rather than by eye. '
1313713135
+ 'Either way, re-check what the view is '
1313813136
+ 'supposed to show rather than assuming the old result set was correct. A one-element '

‎packages/spec/src/ui/view.zod.ts‎

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -616,10 +616,8 @@ const VIEW_FILTER_TEXT_COMPARAND_OPERATOR = 'icontains' satisfies ViewFilterOper
616616
*
617617
* Method: `driver-sql` on SQLite, `driver-memory`,
618618
* `driver-mongodb`'s `translateFilter` and `mingo` were each run on the
619-
* lowered `{ tags: ['a'] }` beside a scalar and an `$in` control; this
620-
* change's review also ran `driver-sql` on a live PostgreSQL 16 (refused with
621-
* zero SQL statements emitted), `driver-sqlite-wasm`, and turso's remote
622-
* transport over the repository's libsql stub. MySQL, a live Turso server and
619+
* lowered `{ tags: ['a'] }` beside a scalar and an `$in` control;
620+
* MySQL, a live Turso server and
623621
* a live `mongod` are NOT MEASURED, and so is whether any SQL-family release
624622
* before this change answered the shape.
625623
*

0 commit comments

Comments
 (0)