openpencil/packages
Fini 6120be6923 test(pen-core): post-processing idempotency across all 42 builders
210 tests: each builder × 5 pass configs, asserting each pass is a
fixed point on builder output.

Passes gated:
  - normalizeTreeLayout
  - unwrapFakePhoneMockups (second-call return=false verified)
  - stripRedundantSectionFills (second-call return=false verified)
  - normalizeStrokeFillSchema
  - the full chain in the canonical order (schema → strip fills →
    unwrap phone → layout fallback)

Full-chain idempotency is the strongest guarantee: it catches
cross-pass interactions that isolated pass tests miss. If future
refactors make any pass non-idempotent for a specific builder
shape, one of 210 rows fails and names the culprit.
2026-04-22 01:32:06 +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): post-processing idempotency across all 42 builders 2026-04-22 01:32:06 +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: insertElementTree direct + builder edge-case coverage 2026-04-22 01:03:40 +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