|
46 | 46 | * test consumer of it that #5704 RULED permanent. It is NOT a migration |
47 | 47 | * leftover — do not "finish the job" by deleting or replacing it. |
48 | 48 | * |
49 | | - * (This block used to say "the only permanent test consumer in the repository". |
50 | | - * That census expired without anyone editing it: `#6468`'s |
51 | | - * `autonumber-seed-cross-side-parity.integration.test.ts`, in this same |
52 | | - * package, imports the driver too and is not covered by #5704's ruling. Its |
53 | | - * disposition is filed as #6664. The sentence now claims what it can defend: a |
54 | | - * RULING about this file, not a count of the repository.) |
| 49 | + * #6664 census: 2 ruled consumers — this file, and |
| 50 | + * `../autonumber-seed-cross-side-parity.integration.test.ts` (#6468's |
| 51 | + * engine-vs-driver autonumber convergence pin, ruled permanent on #6664 by |
| 52 | + * maintainer 2026-08-08, inheriting the same Q2 = B). That block carries its own |
| 53 | + * ruling; read it there rather than assuming this one covers it. |
| 54 | + * |
| 55 | + * This block used to say "the only permanent test consumer in the repository", |
| 56 | + * and that census expired without anyone editing it — the autonumber test |
| 57 | + * arrived after #5704's survey and nothing was watching. So the count stopped |
| 58 | + * being prose: `pnpm check:driver-memory-census` reads |
| 59 | + * `scripts/driver-memory-census.ledger.json` and fails on any declaration of the |
| 60 | + * driver the ledger does not cover, in either direction. A third arrival is now |
| 61 | + * refused at the gate, and changing the ruled SET makes both files' census |
| 62 | + * sentences fail until they are rewritten — which is the half a sentence could |
| 63 | + * never do for itself (#6664, ruling C). |
55 | 64 | * |
56 | 65 | * Why it has to stay: the whole point of this file is a PRODUCT divergence |
57 | 66 | * between two driver families — writing an undeclared field is rejected as a |
|
67 | 76 | * (defect fixes, feature work). Using it as a reference implementation is not |
68 | 77 | * investment, and nothing here fixes or extends it. Ruling: #5704, maintainer |
69 | 78 | * 2026-08-06, Q2 = B ("keep, in this one place, with a comment saying so"). |
70 | | - * Consequence, also ruled there: `packages/runtime`'s `driver-memory` devDep |
71 | | - * stays for the long term. (That devDep now has a second importer in this |
72 | | - * package as well — #6468's autonumber parity test — so removing this file's |
73 | | - * import alone would no longer even drop the dependency. See #6664.) |
| 79 | + * Consequence, also ruled there: 「runtime 的 driver-memory devDep 长期保留(仅 |
| 80 | + * 此一个消费点)」. Two words of that consequence have since moved, and the ledger |
| 81 | + * records both rather than leaving them to be re-derived: the declaration is in |
| 82 | + * `packages/runtime`'s `dependencies`, not `devDependencies` (beside `driver-sql` |
| 83 | + * and `driver-sqlite-wasm`, which this package declares for the same reason — the |
| 84 | + * datasource factory resolves them by dynamic import), and it now serves TWO |
| 85 | + * ruled consumers in this package rather than one, so removing this file's import |
| 86 | + * alone would not drop it. |
74 | 87 | * |
75 | 88 | * Everything else that used to look like a driver-memory test consumer was a |
76 | 89 | * hand-written local stub whose NAME merely said "memory" — in packages that |
|
103 | 116 | * |
104 | 117 | * What a grep for the driver's DECLARATIONS finds in `packages/` after that |
105 | 118 | * migration: this file, and #6468's `autonumber-seed-cross-side-parity` |
106 | | - * integration test (unruled — #6664). Nothing in plugin-auth. The prose |
107 | | - * MENTIONS that remain there — the identity-lane files explain the history |
| 119 | + * integration test — both ruled, both ledgered. Nothing in plugin-auth. The |
| 120 | + * prose MENTIONS that remain there — the identity-lane files explain the history |
108 | 121 | * above in their own comments, because a pin has to say what it used to be |
109 | | - * wrong about — are not consumers: retirement verification greps declarations, |
110 | | - * not mentions, which is the distinction that makes the grep usable at all. |
| 122 | + * wrong about — are not consumers: retirement verification counts declarations, |
| 123 | + * not mentions. That distinction is what made the grep usable at all, and it is |
| 124 | + * now the gate's rule too: `check:driver-memory-census` classifies by module |
| 125 | + * position (AST, not text), so a comment naming the package and the bundler |
| 126 | + * externals entry in `packages/runtime/tsup.config.ts` are reported as mentions |
| 127 | + * and never as arrivals. |
111 | 128 | */ |
112 | 129 |
|
113 | 130 | import { describe, it, expect, afterEach } from 'vitest'; |
|
0 commit comments