non core block: layout-shell@div[data-bg-effect-name][data-has-ssr-src][data-image-info][data-motion-part]

Open
#4,887 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@chubes4 is already working on this.

Since Nov 7, 2026.

  • #4910 by @chubes4 — open

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
php, wordpress
Domain
backend

Research direction

Start with the PHP transformer in the blocks-engine checkout and reproduce the finding using the reduced page and predicate command in the issue. Trace how the wow-image element is transformed and identify a core-block representation that preserves its rendering. The issue considers the defect fixed when the page uses core blocks and renders with pixel parity; the collateral gate is referenced as emits.mjs and gates/collateral.mjs.

Written by the indexing model from the issue text.

Description

Finding

editability/non_core_block on layout-shell@div[data-bg-effect-name][data-has-ssr-src][data-image-info][data-motion-part], seen in 2 route/width cell(s) of an imported site:

route width evidence
/about/ 1440 {"route":"/about/","count":3,"of":129}
/ 1440 {"route":"/","count":1,"of":339}

Reduced page (507 bytes)

Reduced from 448939 bytes in 88 predicate calls.

<!DOCTYPE html><html><head></head><body><wow-image data-image-info="{&quot;displayMode&quot;:&quot;fit&quot;,&quot;imageData&quot;:{&quot;width&quot;:138,&quot;height&quot;:26,&quot;uri&quot;:&quot;/media/c837a6_1f682fef9fae4fe6974f26e1d8173148-mv2.png&quot;,&quot;name&quot;:&quot;logo&quot;,&quot;displayMode&quot;:&quot;fit&quot;}}" data-motion-part="BG_IMG undefined" data-bg-effect-name="" data-has-ssr-src=""><img src="/media/c837a6_1f682fef9fae4fe6974f26e1d8173148-mv2.png"></wow-image></body></html>

Reproduce

The predicate exits 0 while the defect reproduces (checked against blocks-engine trunk a06112e4). Run it from a static-site-importer checkout at 8b698851, with the reduced page saved as reduced.html:

PREDICATE_TARGET='{"subject":"layout-shell@div[data-bg-effect-name][data-has-ssr-src][data-image-info][data-motion-part]","route":"/about/","width":1440,"evidence":{"route":"/about/","count":3,"of":129}}' \
  WORDPRESS_PATH=<wordpress with static-site-importer active> WP_CLI='studio wp' \
  node tools/import-loop/predicates/non_core_block.mjs <blocks-engine>/php-transformer reduced.html
predicates/non_core_block.mjs
// Exit 0 while the Blocks Engine output of a page still emits the generated
// block <prefix>/<subject>, a block outside WordPress core. An editor can only
// change its structure through the importer's own block, not with core tools.
// The defect is gone when the same content is built from core blocks and the
// page renders exactly as before; the acceptance gate holds the whole import to
// pixel parity (see emits.mjs, gates/collateral.mjs).
import { exitWhileEmitted } from './emits.mjs';
exitWhileEmitted();

Loop signature: 8d00ff44daea


AI disclosure: filed by the static-site import findings loop (Homeboy workflow on the Lab). The finding, reduction, and body are generated by deterministic scripts; Claude (Anthropic) wrote those scripts with Chris Huber.

Dominant language
PHP
Stars
25
Forks
3
Avg merge
2h 29m
Merged PRs (30d)
931

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Automattic/blocks-engine

All issues in Automattic/blocks-engine

Similar issues

More PHP issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.