Automattic / Automattic/blocks-engine
Preserve injected responsive document roots as block shells
- Dominant language
- PHP
- Stars
- 14
- Forks
- 2
- Avg merge
- 2h 10m
- Merged PRs (30d)
- 561
Description
## Root Cause
Blocks Engine PHP transformer's generic `ColumnsPattern` promoted a normal-flow container to `core/columns` from its sidebar/content child semantics without honoring explicit `display:block` evidence. The resulting core columns forced the source-flow children into equal-width flex columns.
The responsive document wrapper is merely the triggering input. No data-liberation marker special case is required. The generic recognizer now declines column inference for explicit block, inline, flow-root, or contents display modes, while preserving semantic inference when no authored display evidence exists.
## Verification
- Plain-class two-child `aside` + `main` HTML with `display:block` now emits `core/group`, not `core/columns`.
- The transformer shared static geometry parity harness reports a 1.0 score for the block-flow case including a hidden lightbox sibling.
- Full PHP transformer test suite passes.
## AI assistance disclosure
GPT-5.6 Terra via OpenCode, orchestrated by GPT-6 Astra via OpenCode, traced the generic transformer selection path, reproduced the issue, implemented the regression test and fix, and ran verification.
Contributor guide
Research direction
Start with the Blocks Engine PHP transformer's generic ColumnsPattern recognizer and the regression test covering plain-class two-child aside and main HTML with display:block. Run the full PHP transformer test suite and the shared static geometry parity harness; done means the block-flow input emits core/group rather than core/columns and the harness reports 1.0.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php, wordpress
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100