Skip to content

Preflight prepared local retry reports without payload effects - #1050

Merged
rmcdaniel merged 2 commits into
mainfrom
workflow/219-prepared-local-report-v2
Nov 5, 2026
Merged

rmcdaniel merged 2 commits into
mainfrom
workflow/219-prepared-local-report-v2

Conversation

@rmcdaniel

Copy link
Copy Markdown
Member

Prepared local retry contract 2 must distinguish malformed supplied overrides before authority lookup and validate completed result structure without fetching its external payload. The existing outcome normalizer resolves completed envelopes, so it cannot serve as that pure preflight.

This adds an internal shape validator with the accepted error precedence: invalid or misplaced override first, then closed outcome fields/types. It validates existing inline/reference metadata without storage access, decoding, a callback or clock sampling. Callers still own the two-phase dispatch and original role/claim/contract/snapshot authority; the helper is not wired into legacy routes or capability advertisement.

Validation: ECS and configured PHPStan pass. Focused PHP 8.4.27 / PCOV 1.0.12 checks pass 18 tests / 305 assertions across the report helper, policy primitive and unchanged v1 policy tests. The two new production helpers have 118/118 executable lines covered; exact container/name and stopper cleanup was independently verified. The normal PR pipeline adds current-head source attribution. #1049's original resulting-main Quality Cycle remains separately tracked.

Workflow owns the next guarded preparation/outcome transaction slice. Server retains its matching original-claim and distinct receipt boundary on Server #1034. A future preparation writer must atomically store explicit local contract 2 from actual installed-role admission, and outcome handling must read that original authority plus snapshot 2. No writer, new capability, protocol bump, SDK/native adoption, installed experiment or release is enabled by this PR.

Continues central #219.

@sonarqubecloud

sonarqubecloud Bot commented Nov 5, 2026

Copy link
Copy Markdown

@rmcdaniel

Copy link
Copy Markdown
Member Author

Exact 40bce54103f32f01698e8d9b738c2c7085a36721 over f6afc040 is terminal 17 successful checks / seven declared PR-profile skips, zero failed or pending. Original 42126493964/1 passed required build, quality, MySQL selections, both tracing paths, contracts and Sonar/CodeQL. Actual PHP 8.5.4 database-independent phase: 633 tests / 5,012 assertions / four existing warnings; the new helper's testdox confirms override precedence and reference metadata preflight.

This remains a pure helper. The resulting main run will supply full Quality Cycle attribution, separately from #1049's still-running original 42126361308/1. Workflow is authoring the guarded transaction path on its isolated branch; no bound bridge advertises v2 support or invokes this helper on legacy traffic. No release or installed/native operation follows.

@rmcdaniel
rmcdaniel marked this pull request as ready for review November 5, 2026 23:16
@rmcdaniel
rmcdaniel merged commit 4b2cdc5 into main Nov 5, 2026
24 checks passed
@rmcdaniel
rmcdaniel deleted the workflow/219-prepared-local-report-v2 branch November 5, 2026 23:50
@rmcdaniel

Copy link
Copy Markdown
Member Author

Resulting-main qualification is complete on original 42128433218, attempt 1, exact 4b2cdc5507120d9c213b0b02a85738bec96c574a / tree ff59b88954c93a6ca6928d8b4dd42f4c2946e789, ordered parents [f6afc040, 40bce541]. 20 executed jobs succeeded; three PR-profile jobs skipped. No rerun was issued.

  • Unit: PHP 8.3.36 / PCOV 1.0.12; 138-package resolution, Laravel 13.40.0, PHPUnit 12.5.43, Testbench 11.3.0, OpenTelemetry API 1.11.0. Actual outcome 5,893 tests / 79,947 assertions, 49 skips and 15 notices.
  • MySQL feature shards: 2,835 tests / 28,296 assertions, three skips, zero errors/failures; exit 0 at 848/488/735/785 seconds.
  • PostgreSQL feature shards: 2,835 tests / 27,901 assertions, 32 skips, zero errors/failures; exit 0 at 377/558/408/579 seconds.
  • ECS, Stan, MariaDB, tracing, regression corpus, contracts, two source-upgrade cells, aggregate build and Sonar passed.
  • Coverage: 75,947 / 80,887 executable lines = 93.89%; 93.08% ratchet passes, 100% target remains unmet. Five-report unit+MySQL summary artifact 13462452545, ZIP SHA-256 060126363a1fb6fef394b53177e0cdbf1b7cd74e163f0972037ee80769ad1865.

The incorporated remote author branch was deleted after exact-head/ancestry, dependent-PR and active-run checks; API absence is verified, with local source history retained. This completes the pure report validator's Quality Cycle. Workflow continues the guarded writer in draft #1051; the bound bridge, SDK/native/installed adoption and release remain unchanged. The failed writer preflight remains attributed to its original head and will receive an actual append-only legacy-retry corpus control rather than a policy exception.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant