Repository navigation
Commit c034508
committed
test(scripts),docs(skills): retire the guard this fix falsifies
`scripts/__tests__/skills-supabase-edge-schema-entry.test.mjs` (#951) failed
any shipped document whose snippet paired `encryptedSupabase` from
`@cipherstash/stack-supabase/wasm-inline` with `encryptedTable`/`types` from
`@cipherstash/stack/wasm-inline`, on the stated grounds that the pairing "does
not compile: ... TS2322, separate declarations of a private property
'columnName'".
That sentence is false as of the previous commit. Making the pairing compile is
the whole point of it, `dist-types/wasm-inline-type-identity.ts` now asserts it
compiles, and `stash-supabase` actively recommends it. The guard passed only
because no fence literally showed the pairing — `stash-edge` smuggled it in as a
trailing comment, which is a document dodging its own lint. The first person to
write the example the skill recommends would have been blocked by a guard citing
a compiler error that no longer happens.
Deleted rather than reworded. The obvious repurposing — assert the docs carry
the version caveat — guards prose phrasing, which drifts by legitimate rewording
rather than by defect, and it could only ever fire in a world where the compile
property is already broken. `wasm-inline-type-identity.ts` catches that first,
in the codebase, by type-checking rather than text-matching.
The property the guard protected is now held there, in the correct direction:
the adapter types `schemas` as `Record<string, AnyV3Table>` with `AnyV3Table`
from `@cipherstash/stack/eql/v3` (`schema-builder.ts:7`), which is the same
declaration the gate asserts assignability to. Recorded in that file's comment
so the reason the guard went lives where the property is kept, rather than only
in this message. Asserting through `encryptedSupabase` itself was considered and
rejected: it would give `packages/stack`'s declaration gate a build-graph
dependency on a package that depends on it.
`lib/package-readmes.mjs` keeps three other consumers, so nothing is orphaned.
`stash-edge` now shows the wasm-inline pairing as a real fence beside the
`eql/v3` one, which is what the smuggled comment was avoiding.
Refs #963
Claude-Session: https://claude.ai/code/session_01HAonmKdSJMxYZcuRCiZPXE1 parent c1bf387 commit c034508
3 files changed
Lines changed: 24 additions & 161 deletions
File tree
- packages/stack/dist-types
- scripts/__tests__
- skills/stash-edge
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
58 | 74 | | |
59 | 75 | | |
60 | 76 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
433 | 433 | | |
434 | 434 | | |
435 | 435 | | |
436 | | - | |
| 436 | + | |
437 | 437 | | |
438 | 438 | | |
439 | | - | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
440 | 446 | | |
441 | 447 | | |
442 | 448 | | |
| |||
0 commit comments