Automattic / Automattic/blocks-engine

Preserve injected responsive document roots as block shells

Open
#1,628 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.