Skip to content

Produce semantic validation outcomes before report projection - #1630

Merged
chubes4 merged 2 commits into
trunkfrom
refactor/1360-semantic-parity-evaluation
Sep 9, 2026
Merged

Produce semantic validation outcomes before report projection#1630
chubes4 merged 2 commits into
trunkfrom
refactor/1360-semantic-parity-evaluation

Conversation

@chubes4

@chubes4 chubes4 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Continue #1360 by completing the semantic-parity producer boundary introduced on the consumer side in #1627.

  • SemanticParityReporter::evaluate() performs the existing analysis once and returns authoritative findings and comparison facts.
  • SemanticParityEvaluation supplies status directly and projects the unchanged full semantic report.
  • HtmlCompilation consumes semantic status/findings from the evaluation, not from the full report map.
  • Preserve the shipped report() API as a projection facade over evaluation.
  • Keep block-validity/content-round-trip paths, uncomputed outcomes, default full reporting, diagnostics and acceptance behavior unchanged.

Landmark/nav counting, menu pairing and carrier folding, typography and finding enrichment retain their existing sequencing. There is no reduced-evidence mode, skipped validation, or performance claim in this change.

Verification

Baseline: 6a50fba0d8874778b92f2d5b22ec9ff2d57a65eb.
Candidate: 091f5dcd3ee14b4c36bc5cd1fb699c868cbec426 (implementation plus return-documentation correction).

  • Full Composer suites passed for baseline and candidate in PHP 8.4 lab containers with 512 MB PHP configuration inherited by child commands, including canonical/unit/parity/packaging/install proof.
  • Agent comparison: 231 HTML parity inputs retain identical blocks and complete envelopes, excluding only recursive transform_duration_ms.
  • Coordinator additionally ran the full 385-document HTML corpus and targeted HTML/artifact comparison, including nonzero companion/runtime/style/shared-shell/responsive outputs. Complete comparison records are byte-identical, SHA-256 bf7a12f997cd6c8d47d9483bf50e6e3c215fe481f75b505cf405d5ad175446a2.
  • Existing semantic failure/pass, navigation pairing, carrier folding and typography coverage passed; direct semantic required-fact tests retain mixed/null value behavior.
  • Stable comparisons use PHP serialization for binary bytes and array ordering, not lossy JSON replacement.
  • WordPress integration was unavailable locally because WP_TESTS_DIR was unset; actual CI and solved-site promotion remain required.

Reproduce

From php-transformer, after dependency installation and configuring child PHP memory:

composer test
REQUIRE_WP_TESTS=1 WP_TESTS_DIR=/path/to/wordpress-tests composer test:wordpress-integration

The full-corpus command in #1627 applies unchanged: run it in separate checkouts of the baseline and candidate above with matching dependencies and compare outputs. The updated consumer inventory is php-transformer/docs/html-validation-outcome-consumer-inventory.md.

AI Assistance

OpenAI GPT-5.6 Terra via direct OpenCode implemented and lab-tested the producer boundary. GPT-6 Astra via OpenCode coordinated and reviewed the data flow, corrected the evaluation return documentation, independently expanded verification to the full corpus and targeted artifacts, and prepared this PR under Chris Huber's direction. No release or deployment was performed.

@chubes4
chubes4 marked this pull request as ready for review September 9, 2026 18:35
@chubes4
chubes4 merged commit 058663f into trunk Sep 9, 2026
26 of 30 checks passed
@chubes4
chubes4 deleted the refactor/1360-semantic-parity-evaluation branch September 9, 2026 18:36
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