openpencil/packages
Fini 6a4bf2a45c test(pen-mcp): element-tool registry parity drift guard (10 cases)
Source-level parity checks across pen-mcp's three derived artifacts:

  Source of truth: ELEMENT_TOOL_DEFINITIONS array
  Derived 1: ELEMENT_TOOL_NAMES set (runtime dispatch filter)
  Derived 2: handler file at tools/<kebab-case>.ts
  Derived 3: switch branch in handleElementToolCall

Checks:
- ≥42 tools registered (floor)
- Every tool name matches add_[a-z_]+_v0
- Every tool has a handler file at the expected kebab path
- Every handler file exports handle<PascalName>
- Every handler imports its matching build<Name> from pen-core
- Every tool has a switch branch in the runtime dispatcher
- Every switch branch actually calls the handler (no copy-paste
  typos where a case dispatches to the wrong handler)
- No orphan handler files (every tools/add-*-v0.ts maps to a name)
- No duplicate tool names
- ELEMENT_TOOL_NAMES set === ELEMENT_TOOL_DEFINITIONS names

This is the pen-mcp-side counterpart to apps/web's
shim-server-parity.test.ts. Together they guard against drift on
both client and server sides of the N-tool integration.
2026-04-22 02:01:49 +08:00
..
agent-native@e1f90cab96 chore(agent): bump agent-native to v0.4.0 release 2026-04-17 19:04:15 +08:00
pen-acp chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-ai-skills fix(ai-skills): add tab-underline to elements.md roles list 2026-04-22 00:37:38 +08:00
pen-core test(pen-core): normalizePenDocument preservation + idempotency (84 cases) 2026-04-22 01:58:40 +08:00
pen-engine chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-figma chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-mcp test(pen-mcp): element-tool registry parity drift guard (10 cases) 2026-04-22 02:01:49 +08:00
pen-react chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-renderer chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-sdk chore(release): bump to v0.7.4 2026-04-17 19:20:19 +08:00
pen-types fix(core): design.md lives on PenDocument — kill cross-document leak 2026-04-20 00:37:31 +08:00
CLAUDE.md V0.7.0 (#95) 2026-04-11 23:25:13 +08:00