Skip to content

Reuse normalized conversion-report inputs - #1640

Merged
chubes4 merged 1 commit into
trunkfrom
refactor/conversion-report-shared-inputs
Sep 10, 2026
Merged

Reuse normalized conversion-report inputs#1640
chubes4 merged 1 commit into
trunkfrom
refactor/conversion-report-shared-inputs

Conversation

@chubes4

@chubes4 chubes4 commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Reporting-maintainability slice under #242: reuse normalized inputs inside ConversionReportProjection::fromResultParts().

  • Project fallback diagnostics once instead of three times.
  • Normalize/deduplicate runtime islands once instead of three times.
  • Build runtime-island summary entries once instead of twice.
  • Feed those local arrays to selector/classification summaries and the final report. Preserve the separate summary-row deduplication.

No new class, cache, persistent state, option or public signature. Report keys, ordering, omissions, classifications and deduplication behavior remain unchanged. No unmeasured speed claim.

Verification

Baseline: a57b5f2dd09eaa4a9d81d622a9b4672677516c56.
Candidate: 2d345985af6126ccd4d7a47edf84b3932511a247.

All ten final CI checks passed: PHP 8.2-8.5 package and WordPress integration suites, plus generic visual parity tools, and solved-site promotion.

  • New behavioral test checks overlapping runtime declarations, first-occurrence ordering, selector/source order, fallback order, and exact classification/preservation counts.
  • Full PHP 8.4 / 512 MB Composer gate passed: canonical, unit, 305 parity fixtures, dist shape and install proof.
  • Coordinator independently reran the full 385-file HTML corpus and nine targeted HTML/artifact cases. Complete envelope/block comparison records match byte-for-byte, excluding only recursive duration; final record SHA-256 520a6c71343bab56933991a5cd51cc85483207c03f0204d37998b8e35f1bc6f4.
  • The full/compact invariant tool passed on 385 fixtures, including 365 warning documents, with identical operational outputs and only declared detail differences.
  • WordPress integration and solved-site promotion passed separately in final CI as linked above; they are not claimed from standalone lab tests.

Reproduce

From php-transformer, with dependencies and child PHP memory configured:

composer test
php tests/unit/conversion-report-projection-input-reuse.php
php -d memory_limit=512M tools/benchmarks/validation-evidence-compare.php ../fixtures
REQUIRE_WP_TESTS=1 WP_TESTS_DIR=/path/to/wordpress-tests composer test:wordpress-integration

The corpus comparison command from #1627 applies unchanged to the baseline/candidate revisions above with matching dependencies.

AI Assistance

OpenAI GPT-5.6 Terra via direct OpenCode implemented the local reuse and behavioral test, then ran lab gates. GPT-6 Astra via OpenCode coordinated and reviewed ordering/count/deduplication semantics, independently reran the final corpus/artifact comparison 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 10, 2026 00:36
@chubes4
chubes4 merged commit 3a936b3 into trunk Sep 10, 2026
10 checks passed
@chubes4
chubes4 deleted the refactor/conversion-report-shared-inputs branch September 10, 2026 03: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