Skip to content

fix: absorb neutral child wrappers into native blocks - #6131

Open
chubes4 wants to merge 7 commits into
trunkfrom
fix/issue-6107-blocks-engine-2
Open

chubes4 wants to merge 7 commits into
trunkfrom
fix/issue-6107-blocks-engine-2

Conversation

@chubes4

@chubes4 chubes4 commented Nov 15, 2026

Copy link
Copy Markdown
Contributor

Fix redundant Group boundaries while preserving native editability and presentation.

  • Added guarded neutral-child absorption in WrapperCoalescer, preserving geometry, identity, runtime, and selector boundaries.
  • Added a public-interface regression test verified to fail without the fix and pass with it.

Incomplete candidate; deterministic verification failed.

Task: #6107

incomplete_reason: completion not assessed

Candidate from attempt 3 (wf-import-findings-loop-56fc5add52da-cook-i2-n1-a1-attempt-3-aa4e393a).

Closes #6107

Gate: gate-1 — Failed

Gate output: gate-1

import-loop-gate phase=bare_wp seconds=0
Document body context: 29 assertions passed
Document body context browser: 126 checks across 21 route/viewport cells passed
import-loop-gate phase=contracts seconds=3
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=7
{"pass":false,"own":{"before":1,"after":0},"blockers_added":["3913d51b0d76:12"],"blockers_removed":["8a150cf0d07b:1->0"],"visual_regressions":["/@390","/@768","/@1440","/about.html@390","/about.html@768","/about.html@1440","/products.html@390","/products.html@768","/products.html@1440","/store.html@390","/store.html@768","/store.html@1440"],"visual_unmeasured":0}
import-loop-gate phase=accept seconds=30
import-loop-gate phase=bare_wp seconds=0
import-loop-gate phase=contracts seconds=3
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=7
import-loop-gate phase=accept seconds=30
import-loop-gate acceptance_exit=1 repository=skipped until acceptance passes

@chubes4
chubes4 marked this pull request as ready for review November 15, 2026 05:23
@chubes4

chubes4 commented Nov 15, 2026

Copy link
Copy Markdown
Contributor Author

Fixed observed PHP contract and fixed-box parity regressions, but whole-site acceptance still fails.

  • Run inherited-text coalescing before neutral-child absorption.
  • Preserve structural-layout, custom-property, typography, and unpadded wrapper boundaries.
  • Added a public-interface regression assertion for consumed custom-property carriers.

Incomplete candidate; deterministic verification failed.

Task: #6131

incomplete_reason: Whole-site gate reports before=1 and after=1 for block_wrapper_heavy. No added blockers or visual regressions were measured, but the required occurrence reduction remains unresolved. Full CI success is unverified.

Candidate from attempt 3 (wf-import-findings-loop-9c2ff01fd758-cook-i4-n1-a1-attempt-3-157a8635).

Relates to #6131

Gate: gate-1 — Failed

Gate output: gate-1

import-loop-gate phase=bare_wp seconds=0
Document body context: 29 assertions passed
Document body context browser: 126 checks across 21 route/viewport cells passed
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=7
{"pass":false,"own":{"before":1,"after":1},"blockers_added":["3913d51b0d76:12"],"blockers_removed":[],"visual_regressions":["/@390","/@768","/@1440","/about.html@390","/about.html@768","/about.html@1440","/products.html@390","/products.html@768","/products.html@1440","/store.html@390","/store.html@768","/store.html@1440"],"visual_unmeasured":0}
import-loop-gate phase=accept seconds=24
import-loop-gate phase=bare_wp seconds=0
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=7
import-loop-gate phase=accept seconds=24
import-loop-gate acceptance_exit=1 repository=skipped until acceptance passes

@chubes4

chubes4 commented Nov 15, 2026

Copy link
Copy Markdown
Contributor Author

Added a spacing ownership guard, but the whole-site wrapper defect remains unresolved.

  • Prevented neutral-child absorption when child spacing resets conflict with wrapper spacing.
  • Added a public-interface regression test that fails before the guard and passes afterward.

Incomplete candidate; deterministic verification failed.

Task: #6131

incomplete_reason: The inherited head's diagnostic gate retained all three recorded occurrences and reported additional blockers. This focused safeguard does not resolve the whole-site wrapper count; candidate acceptance is unverified.

Candidate from attempt 2 (wf-import-findings-loop-646360d66b5a-cook-i5-n4-a1-attempt-2-964904cf).

Relates to #6131

Later attempts:
Attempt 3 (wf-import-findings-loop-646360d66b5a-cook-i5-n4-a1-attempt-3-73e1206e): Succeeded; no non-empty gate-failed candidate.

Gate: gate-1 — Failed

Gate output: gate-1

import-loop-gate acceptance running
import-loop-gate phase=bare_wp seconds=0
Document body context: 29 assertions passed
Document body context browser: 126 checks across 21 route/viewport cells passed
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=24
{"pass":false,"own":{"before":3,"after":3},"blockers_added":["3913d51b0d76:15"],"blockers_removed":["8e645fd21a79:3->0","bef4614d433d:201->0"],"visual_regressions":["/@390","/@768","/@1440","/about/@390","/about/@768","/about/@1440","/accessibility-statement/@390","/accessibility-statement/@768","/accessibility-statement/@1440","/terms-and-conditions/@390","/terms-and-conditions/@768","/terms-and-conditions/@1440"],"visual_unmeasured":3}
import-loop-gate phase=accept seconds=38
import-loop-gate phase=bare_wp seconds=0
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=24
import-loop-gate phase=accept seconds=38
import-loop-gate acceptance_exit=1 repository=skipped until acceptance passes

@chubes4

chubes4 commented Nov 15, 2026

Copy link
Copy Markdown
Contributor Author

Added a focused safeguard, but the whole-site defect remains unresolved.

  • Prevented neutral child border resets from erasing parent borders or radii during absorption.
  • Extended the public-interface regression test; verified failure before the safeguard and success afterward.

Incomplete candidate; deterministic verification failed.

Task: #6131

incomplete_reason: Whole-site diagnostic acceptance failed: recorded occurrences remain 3→3, with additional blockers and privacy-policy visual regressions also present on the inherited head.

Candidate from attempt 3 (wf-import-findings-loop-02a1834e1f79-cook-i6-n4-a1-attempt-3-a95fedc6).

Relates to #6131

Gate: gate-1 — Failed

Gate output: gate-1

import-loop-gate acceptance running
import-loop-gate phase=bare_wp seconds=0
Document body context: 29 assertions passed
Document body context browser: 126 checks across 21 route/viewport cells passed
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=25
{"pass":false,"own":{"before":3,"after":3},"blockers_added":["3913d51b0d76:15"],"blockers_removed":["8e645fd21a79:3->0","bef4614d433d:201->0"],"visual_regressions":["/@390","/@768","/@1440","/about/@390","/about/@768","/about/@1440","/accessibility-statement/@390","/accessibility-statement/@768","/accessibility-statement/@1440","/terms-and-conditions/@390","/terms-and-conditions/@768","/terms-and-conditions/@1440"],"visual_unmeasured":3}
import-loop-gate phase=accept seconds=35
import-loop-gate phase=bare_wp seconds=0
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=25
import-loop-gate phase=accept seconds=35
import-loop-gate acceptance_exit=1 repository=skipped until acceptance passes

@chubes4

chubes4 commented Nov 15, 2026

Copy link
Copy Markdown
Contributor Author

Fixed an absorption ownership bug, but the whole-site wrapper-heavy defect remains unresolved.

  • Require the converted block to represent the neutral source child before absorption.
  • Added a public-interface regression test for a styled descendant promoted through a neutral wrapper.

Incomplete candidate; deterministic verification failed.

Task: #6131

incomplete_reason: Local whole-site acceptance still reports own.before=3 and own.after=3, with added blockers and privacy-policy visual regressions. No acceptance pass is claimed.

Candidate from attempt 3 (wf-import-findings-loop-6063cd6a6501-cook-i7-n2-a1-attempt-3-299d9351).

Relates to #6131

Gate: gate-1 — Failed

Gate output: gate-1

import-loop-gate phase=bare_wp seconds=0
Document body context: 29 assertions passed
Document body context browser: 126 checks across 21 route/viewport cells passed
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=23
{"pass":false,"own":{"before":3,"after":3},"blockers_added":["3913d51b0d76:15"],"blockers_removed":["8e645fd21a79:3->0","bef4614d433d:201->0"],"visual_regressions":["/@390","/@768","/@1440","/about/@390","/about/@768","/about/@1440","/accessibility-statement/@390","/accessibility-statement/@768","/accessibility-statement/@1440","/terms-and-conditions/@390","/terms-and-conditions/@768","/terms-and-conditions/@1440"],"visual_unmeasured":3}
import-loop-gate phase=accept seconds=33
import-loop-gate phase=bare_wp seconds=0
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=23
import-loop-gate phase=accept seconds=33
import-loop-gate acceptance_exit=1 repository=skipped until acceptance passes

@chubes4

chubes4 commented Nov 15, 2026

Copy link
Copy Markdown
Contributor Author

Added an absorption safeguard; the whole-site defect remains unresolved.

  • Prevent conflicting child box-sizing from changing the padded parent’s sizing model.
  • Added a public-interface regression test, verified failing before and passing after the safeguard.

Incomplete candidate; deterministic verification failed.

Task: #6131

incomplete_reason: Whole-site diagnostic acceptance still reports occurrences 3→3, additional blockers, and privacy-policy visual regressions. No acceptance pass is claimed.

Candidate from attempt 2 (wf-import-findings-loop-71ec1eecf7fd-cook-i9-n3-a1-attempt-2-60172877).

Relates to #6131

Out-of-scope changes

  • php-transformer/tests/unit/neutral-child-wrapper-absorption.php

Later attempts:
Attempt 3 (wf-import-findings-loop-71ec1eecf7fd-cook-i9-n3-a1-attempt-3-5fe3edc6): Succeeded; no non-empty gate-failed candidate.

Gate: gate-1 — Failed

Gate output: gate-1

import-loop-gate phase=bare_wp seconds=0
Document body context: 29 assertions passed
Document body context browser: 126 checks across 21 route/viewport cells passed
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=22
{"pass":false,"own":{"before":3,"after":3},"blockers_added":["3913d51b0d76:15"],"blockers_removed":["8e645fd21a79:3->0","bef4614d433d:201->0"],"visual_regressions":["/@390","/@768","/@1440","/about/@390","/about/@768","/about/@1440","/accessibility-statement/@390","/accessibility-statement/@768","/accessibility-statement/@1440","/terms-and-conditions/@390","/terms-and-conditions/@768","/terms-and-conditions/@1440"],"visual_unmeasured":3}
import-loop-gate phase=accept seconds=33
import-loop-gate phase=bare_wp seconds=0
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=22
import-loop-gate phase=accept seconds=33
import-loop-gate acceptance_exit=1 repository=skipped until acceptance passes

@chubes4

chubes4 commented Nov 15, 2026

Copy link
Copy Markdown
Contributor Author

Added a guarded absorption fix, but the whole-site wrapper-heavy defect remains unresolved.

  • Preserved child typography and custom-property boundaries during neutral-child absorption.
  • Added a public-interface regression verified to fail before the change and pass afterward.

Incomplete candidate; deterministic verification failed.

Task: #6131

incomplete_reason: Whole-site diagnostic acceptance still reports pass:false with own before:3, after:3. Local-only privacy-policy findings also remain; no acceptance success is claimed.

Candidate from attempt 2 (wf-import-findings-loop-436eeb33a05e-cook-i10-n3-a1-attempt-2-253f6b62).

Relates to #6131

Later attempts:
Attempt 3 (wf-import-findings-loop-436eeb33a05e-cook-i10-n3-a1-attempt-3-96f78832): Succeeded; no non-empty gate-failed candidate.

Gate: gate-1 — Failed

Gate output: gate-1

import-loop-gate acceptance running
import-loop-gate phase=bare_wp seconds=0
Document body context: 29 assertions passed
Document body context browser: 126 checks across 21 route/viewport cells passed
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=24
{"pass":false,"own":{"before":3,"after":3},"blockers_added":["3913d51b0d76:15"],"blockers_removed":["8e645fd21a79:3->0"],"visual_regressions":["/@390","/@768","/@1440","/about/@390","/about/@768","/about/@1440","/accessibility-statement/@390","/accessibility-statement/@768","/accessibility-statement/@1440","/terms-and-conditions/@390","/terms-and-conditions/@768","/terms-and-conditions/@1440"],"visual_unmeasured":3}
import-loop-gate phase=accept seconds=48
import-loop-gate phase=bare_wp seconds=0
import-loop-gate phase=contracts seconds=1
import-loop-gate phase=merge_onto_base seconds=0
import-loop-gate phase=reimport seconds=24
import-loop-gate phase=accept seconds=48
import-loop-gate acceptance_exit=1 repository=skipped until acceptance passes

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.

block wrapper heavy: block_wrappers

1 participant