Skip to content

fix(blocks-engine): convert HTML forms to editable Jetpack contact-form blocks - #2769

Closed
chubes4 wants to merge 1 commit into
trunkfrom
url-loop/wf-ssi-url-proof-7f052461a787/blocks-engine-i1
Closed

chubes4 wants to merge 1 commit into
trunkfrom
url-loop/wf-ssi-url-proof-7f052461a787/blocks-engine-i1

Conversation

@chubes4

@chubes4 chubes4 commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Found by the hands-off URL repair loop (Automattic/static-site-importer#1874), run against https://housing-resolutions.com/ (workflow wf-ssi-url-proof-7f052461a787, iteration 1).

Finding

SSI's finding packets flagged 10 core/html fallback blocks, all <form> elements (form.space-y-4, form.rounded-2xl…) on the assessment, disclosures, foreclosure-help, login, selling and trust pages. Each packet is owned by blocks-engine/php-transformer with the repair class replace_fallback_block.

Change

HTML forms now convert to editable Jetpack contact-form blocks instead of falling back to core/html:

  • packages/blocks-engine/src/form-html.ts: the converter;
  • catalog.ts: registration;
  • tests and fixture cases;
  • a changelog entry.

Verification

  • pnpm test in packages/blocks-engine on Lab: 519 passed, 3 failed. Current trunk (03f44b29) has the same 3 failures on its own (503 passed, 3 failed), all in associated-label-save-validity.test.ts and wp-runtime-bundle.test.ts. This change adds 16 passing tests and no new failures.
  • Branch base: rebased onto trunk 03f44b29.
  • Next loop iteration: this branch follows the loop's naming convention, so the next iteration composes it into its candidate and measures the form blocks again.

AI disclosure

A Homeboy Cook (OpenCode, Claude Sonnet) produced this candidate inside the URL repair loop. Promotion failed on a stale Lab base checkout, so Claude (Anthropic) in OpenCode rebased it onto trunk, ran the test baseline comparison and opened this PR, under Chris Huber's direction.

@chubes4

chubes4 commented Oct 14, 2026

Copy link
Copy Markdown
Contributor Author

Closing: this changes only the JS package (packages/blocks-engine). The importer path SSI uses is php-transformer, and the finding packets were owned by blocks-engine/php-transformer, so this cannot fix the reported form fallbacks.

Root cause in the URL repair loop (Automattic/static-site-importer#1874): the repair prompt named only the repository, not the owning component, and the php-transformer verify gate passed because nothing in php-transformer changed. The loop will name the owning component and path from the packet owner and reject repairs that do not touch it.

AI disclosure: Claude (Anthropic) via OpenCode, under Chris Huber's direction.

@chubes4 chubes4 closed this Oct 14, 2026
@chubes4
chubes4 deleted the url-loop/wf-ssi-url-proof-7f052461a787/blocks-engine-i1 branch October 14, 2026 01:28
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