Skip to content

Preserve runtime-targeted form controls#134

Merged
chubes4 merged 1 commit into
trunkfrom
fix/runtime-target-preservation-wave3
Jun 25, 2026
Merged

Preserve runtime-targeted form controls#134
chubes4 merged 1 commit into
trunkfrom
fix/runtime-target-preservation-wave3

Conversation

@chubes4

@chubes4 chubes4 commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • render core/search with concrete form/input markup so search blocks expose DOM targets in serialized HTML
  • carry runtime-targeted search input IDs/classes onto the generated input element
  • preserve runtime-targeted readable form controls as sanitized native HTML instead of collapsing them to prose

Root cause

Runtime DOM selector detection was already passing IDs/classes into runtime_dom_selectors, but the form/search conversion family still converted controls into semantic block summaries. core/search had no generated HTML in BlockFactory, and readable form controls such as selects/checkboxes could become paragraphs, so script-addressable control selectors disappeared from generated markup.

Verification

  • php tests/contract/run.php
  • php tests/parity/run.php --fixture=artifact-runtime-target-container-preservation
  • composer test

Expected impact

Targets search and form-control runtime gaps, especially selectors such as #note-search, .search-input, .js-sort-select, and .js-filter-check. This should reduce runtime_target_gap findings in fixtures with search controls, filters, sortable product/catalog controls, and readable forms while leaving broader JS selector mining unchanged.

AI assistance

  • AI assistance: Yes
  • Tool(s): openai/gpt-5.5 via OpenCode
  • Used for: Diagnosis, implementation, test updates, and PR description drafting.

@chubes4 chubes4 merged commit eb58c62 into trunk Jun 25, 2026
1 check passed
@chubes4 chubes4 deleted the fix/runtime-target-preservation-wave3 branch June 25, 2026 19:31
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