Skip to content

fix(php-transformer): compact composed site plan views - #1643

Merged
chubes4 merged 3 commits into
trunkfrom
fix/1354-composed-view-bound
Sep 10, 2026
Merged

fix(php-transformer): compact composed site plan views#1643
chubes4 merged 3 commits into
trunkfrom
fix/1354-composed-view-bound

Conversation

@chubes4

@chubes4 chubes4 commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Breaking Contract

compact() accepts only the canonical blocks-engine/wordpress-site-plan-view/v1 view and produces compact v2. materialize() accepts only compact blocks-engine/wordpress-site-plan-view/v2 and reconstructs canonical v1. v1 serialized views are not accepted as persisted compact input.

Release Coordination

This breaking pre-1 Blocks Engine PHP Transformer contract should ship as a SemVer minor release. Static Site Importer PR #1578 consumes it directly. SSI's Composer pin remains intentionally unchanged here; its parent must supply the actual released BE version in a follow-up dependency edit. No release, deployment, version, or changelog change is included.

Evidence

  • composer test passes, including package-install proof against this candidate.
  • Contract coverage runs compile -> compact -> JSON persist/restore -> materialize and compares the exact canonical plan hash. It covers UTF-8, base64, binary bytes, tampering, v1 materialize rejection, and v2 compact rejection.
  • Read-only Studio evidence: the static-artifact-import companion directory contains only documentation; uploads have no composed-result files. The only matching receipt is unrelated Brezzelo data containing canonical blocks-engine/wordpress-site-plan/v2 plans, not serialized views. No checkpoint or artifact-run was mutated, invalidated, or migrated.

AI Assistance

Implemented with openai/gpt-5.6-terra via OpenCode for contract correction, testing, and review.

@chubes4
chubes4 merged commit 0a993c9 into trunk Sep 10, 2026
10 checks passed
@chubes4
chubes4 deleted the fix/1354-composed-view-bound branch September 10, 2026 04:32
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