Skip to content

Scope emitted core-block selectors to importer-emitted classes - #3772

Merged
chubes4 merged 4 commits into
trunkfrom
fix/issue-3689-blocks-engine-3
Oct 29, 2026
Merged

chubes4 merged 4 commits into
trunkfrom
fix/issue-3689-blocks-engine-3

Conversation

@chubes4

@chubes4 chubes4 commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Refs #3689. Completes slice 4 by separating image scoping from semantic identity, preserving author-rule subjects and specificity. Remaining slices cover site-wide declaration addressing, shared chrome, cascade/responsive geometry, editor asset isolation, and dead CSS/class pruning.

What changed

  • Stamp every emitted core/image figure with a factory scope; project unscoped image arms through zero-specificity :where().
  • Remove class-less image identity discovery while retaining semantic wrapper behavior, existing !important declarations, and the navigation empty-class fix.
  • Scope ID-only navigation compatibility replay through existing importer navigation classes.
  • Add image-scope regression coverage alongside unchanged responsive browser fingerprints.
  • Update exact expectations only: image markup gains its factory scope, code markup its committed source scope, and social CSS its committed cluster scope; editor snapshot provenance remains unchanged.
  • Additive importer classes replace unscoped selector arms without changing author-projection specificity or ownership. Existing behavioral assertions remain intact.

Verification

  • passed on d243d34. Base trunk@62d5dd5 advanced to 61bcdf1.
export COMPOSER_PROCESS_TIMEOUT=1200
cd php-transformer && composer install --no-interaction -q && composer test
  • CI: pending
Cook run
  • Gate 1: tree 8acc3d7eec65e747388ce2d56cd7710ddc38f7a2, fingerprint dce08da68f6d4b3b364dd4f171d58ae8d683d2ccb3b4330f7601b39f9e7e8acf
  • External proof authorized by operator.
  • Publication identity: ambient_gh
  • Recovery retained 1 infrastructure-invalid gate record(s).
  • Replacement proof covers 1 gate(s).

AI assistance

Tool: Homeboy (pi) · Model: gpt-6.1-sol (tier roadie/cook-heavy) · Used for: cook-heavy via Pi inspected the implementation, edited code and exact expectations, added regression coverage, and ran the full passing suite.

Operator follow-up by Claude (Anthropic) via Roadie: the new compile-time scoping assertion re-parsed every emitted stylesheet, making staged-artifact-compilation ~1.7x slower than trunk (549s vs 319s on the same host). The follow-up commit memoizes verdicts per distinct stylesheet and per selector (252s, trunk parity) without weakening the check.

A second follow-up keeps the social-links support rules at their unscoped specificity by scoping through :where(.blocks-engine-social-source-cluster). The plain class had outranked the source-row display:contents rule and restored the list's UA margin, adding 25px to the scoped dropdown panel (scoped-mixed-dropdown-browser, 234px vs source 209px; now 0 deltas). Topology baseline labels refreshed (counts and scores unchanged).

Refs #3689

@chubes4 chubes4 changed the title Preserve image cascade while scoping core selectors Scope emitted core-block selectors to importer-emitted classes Oct 29, 2026
@chubes4
chubes4 force-pushed the fix/issue-3689-blocks-engine-3 branch from 25a396d to 73f2403 Compare October 29, 2026 22:58
@chubes4
chubes4 merged commit 9aab48b into trunk Oct 29, 2026
15 checks passed
@chubes4
chubes4 deleted the fix/issue-3689-blocks-engine-3 branch October 29, 2026 23:18
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