Rewrites the checked-in goldens under test/fixtures/ from the CURRENT
generators:
persona_card.contract.golden.mjs— the generated JS contract module (CONTRACT.md §2), the wire interface every consumer compiles against;persona_card.cem.json— the Custom Elements Manifest golden;spike_widget.element.golden.mjs— the generated Lit element module (from the same hand-built spec LitCodegenTest pins).derived_widget.element.golden.mjs— the generated DERIVED Lit element module (fresh-tag derivation, EXTENSION-CONTRACT.md §5.8; from the hand-built merged spec DerivedWidgetSpec).
The ExUnit suite compares generator output against these files byte-for-byte and FAILS when they are missing or stale — it never bootstraps them (a self-bootstrapping golden can never fail, which is exactly why the old contract golden was vacuous on fresh checkouts).
Regeneration is therefore an explicit, reviewed step. After an INTENTIONAL generator change:
MIX_ENV=test mix tessera.goldenthen review the diff by eye against CONTRACT.md §2 before committing — the
contract module is the wire interface, and a silent codegen change breaks
every consumer. (MIX_ENV=test compiles test/support, where the
PersonaCard fixture spec lives.)
Run with --check to only verify the goldens are current (CI-style, no
write).