openpencil/apps/web/src
Fini 681f7f41e1 test(ai): drift-guard shim registry ⇔ pen-mcp ELEMENT_TOOL_NAMES
Two assertions that fire if the embedded shim registry drifts out
of sync with the pen-mcp catalog:

  1. Every add_*_v0 name pen-mcp exposes must have a shim —
     catches "added a pen-mcp tool, forgot the builder / shim /
     Nitro SERVER_BUILDERS update" triple-edit drift.
  2. Every shim key must exist in pen-mcp — catches stale shims
     for removed or renamed tools.

Failure message names exactly which tools are missing on each
side so the fix is a copy-paste, not a search. Pairs with the
existing short-circuit test — together they lock the invariant
that elements.md catalog = shim set = Nitro registry.
2026-04-22 00:20:50 +08:00
..
__tests__ V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
canvas fix(canvas): require explicit role:'overlay' for layout-flow escape hatch 2026-04-16 21:07:40 +08:00
components feat(ai): detect sibling overlaps in snapshot_layout and guide fixes 2026-04-16 21:07:29 +08:00
constants V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
hooks V0.7.3 (#111) 2026-04-15 22:19:12 +08:00
i18n V0.7.1 (#102) 2026-04-13 21:30:23 +08:00
lib V0.7.2-bugfix (#109) 2026-04-14 21:42:56 +08:00
routes V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
services test(ai): drift-guard shim registry ⇔ pen-mcp ELEMENT_TOOL_NAMES 2026-04-22 00:20:50 +08:00
stores fix(core): design.md lives on PenDocument — kill cross-document leak 2026-04-20 00:37:31 +08:00
types V0.7.2-bugfix (#109) 2026-04-14 21:42:56 +08:00
uikit V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
utils V0.7.3 (#111) 2026-04-15 22:19:12 +08:00
variables V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
router.tsx V0.7.0 (#95) 2026-04-11 23:25:13 +08:00
routeTree.gen.ts V0.5.0 (#67) 2026-03-22 09:44:04 +08:00
styles.css V0.7.0 (#95) 2026-04-11 23:25:13 +08:00