fix: document safe template default editing - #3485
Conversation
miguel-heygen
left a comment
There was a problem hiding this comment.
The promoted contracts now make the safe mutation path explicit and test-visible.
registryBlocks.test.ts:62-69positively pins the safe-editing section, the exactset_template_variable_defaultstool name, and the HTML-entity-encoded JSON warning for every promoted template.- Each of the eight
TEMPLATE.mdfiles instructs one parser-backed default update, forbids directindex.html/ declaration / baseline edits, and requires validation afterward; image-bearing contracts additionally require image-tool tokens. - The change is documentation/test-only and does not alter composition bytes or the live gallery.
Fresh CI was still running at review time. Immutable publication of this exact commit and the downstream dev E2E remain separate landing gates. No merge action.
Verdict: APPROVE
Reasoning: all promoted contracts now direct the model to the deterministic mutation boundary and the registry test prevents that load-bearing guidance from disappearing. — Magi
miguel-heygen
left a comment
There was a problem hiding this comment.
Exact-head re-review at 3cacac5b.
The new delta fixes the source of the validation workaround: readJsonAttr now delegates to the parser-backed, browser-equivalent readDecodedAttr, so entity-encoded JSON attributes are decoded exactly as getAttribute() exposes them. composition.test.ts pins a quoted/entity-encoded declaration and all current OSS checks are green. The eight safe-editing contracts from the previously approved head are unchanged.
Immutable publication of this exact head plus package/preview/poster smoke remains the downstream gate. No merge action.
Verdict: APPROVE
Reasoning: the linter now parses entity-encoded declaration JSON with browser-equivalent semantics, and the current head is fully green without changing template runtime bytes. — Magi
Summary
Testing
E2E
This SHA will be published immutably and exercised against the local dev template-editor runtime before the internal gallery pin is merged.