Skip to content

fix: capture deep editable components - #1113

Draft
chubes4 wants to merge 2 commits into
trunkfrom
fix/1060-deep-component-capture
Draft

fix: capture deep editable components#1113
chubes4 wants to merge 2 commits into
trunkfrom
fix/1060-deep-component-capture

Conversation

@chubes4

@chubes4 chubes4 commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • capture only deep, safe, repeatable content components after native recognizers decline
  • preserve runtime descendant contracts and source provenance on generated component references
  • collapse unstyled source-projected group chains into an editable layout-shell companion while retaining wrapper DOM and ordered native children
  • leave styled wrapper chains to core serialization, preventing React save normalization from invalidating blocks
  • use a project-local Composer cache during Codebox transformer-overlay hydration
  • apply the full fallback URL sanitization policy to generated component HTML

Validation

  • php tests/unit/custom-block-generator.php (54 assertions): passed
  • composer test:unit: passed
  • Solved-only local promotion matrix: passed with both fixtures as solved_candidate, 0 findings, 0 failed fixtures, valid editor blocks, and exact visual parity.
  • composer test:canonical: fails only at the inherited Figma template-surface assertion in tests/contract/template-surfaces.php:104, after the preceding HTML-to-block and site-plan contracts pass.
  • Baseline proof: detached origin/trunk at b149f9fd6122f397268f6a6a1225b01ff24c321c fails the exact same assertion and message. The test file is byte-identical to trunk (sha256:09c486ae2c094e8504bad7b6969de50def4b43a35adcb515252e028acc3422e5).

Scope

Related to #1060. Runtime plan projection remains separately owned by #1104; this PR preserves runtime descendant provenance but does not implement that projection.

AI assistance: OpenAI GPT-5.6 Sol via OpenCode reviewed, completed, and verified the deep component editability repair. Chris Huber remains responsible for every line.

@chubes4
chubes4 force-pushed the fix/1060-deep-component-capture branch from c0fb799 to 75a11ea Compare August 23, 2026 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant