Skip to content

Preserve HTTP errors when response envelopes are unavailable - #36

Merged
rmcdaniel merged 2 commits into
mainfrom
fix/http-failure-diagnostics-35
Sep 30, 2026
Merged

rmcdaniel merged 2 commits into
mainfrom
fix/http-failure-diagnostics-35

Conversation

@rmcdaniel

Copy link
Copy Markdown
Member

Operator outcome

Preserve HTTP failures from Server and upstream proxies so operators receive the actual status and error details rather than an unrelated response-envelope error.

Addresses #35. The published storage-pressure repeat is required before closing the issue.

Validation

  • Regression cases cover workflow and worker endpoints, Laravel JSON errors, HTML and empty proxy responses, scalar and malformed JSON, authentication, authorization, not found, validation, rejection and retryable backend failures.
  • Existing success-envelope and compatibility tests remain required.
  • Normal PHP 8.2–8.5 tests, PHAR build and reproducibility checks qualify the final head.
  • Publish a patch and repeat the bounded storage-pressure workflow start with the exact published CLI.

Consumers

This changes CLI diagnostics only. Server and SDK execution protocols, credentials and workflow semantics do not change. Package and native CLI distribution verification applies. Pinned application tuples retain their separately qualified CLI versions until adoption is justified.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Reviewed final head 76da978.

  • All required PHP 8.2–8.5 tests, PHAR smoke, reproducibility, central policy and public boundary checks passed.
  • Focused response, update-diagnostic and exit-code tests passed locally: 72 tests and 512 assertions. The new failure cases reproduced the original defect before the fix.
  • Live integration against published Server 2.4.30 passed: 1 test and 76 assertions. It exercised control-plane and worker requests, workflow completion and decoded result, namespace and schedule operations. The completion fixture now uses bytes produced by the published PHP SDK's Avro codec, and command help describes that payload format.
  • The host's minimal Composer container lacks Node and dash for three unrelated installer tests. Those tests pass in all four normal CI cells, which are the full-suite qualification authority.

Success-response envelope checks and compatibility refusals remain strict. Valid error envelopes retain normalized diagnostic fields. Missing or broken envelopes preserve the HTTP failure instead of replacing it.

Merge is ready. CLI 2.1.3 publication, required release evidence and the published storage-pressure repeat remain on #35. This does not close that issue or the parent diagnosis drill.

@rmcdaniel
rmcdaniel marked this pull request as ready for review September 30, 2026 10:47
@rmcdaniel
rmcdaniel merged commit 1012e1c into main Sep 30, 2026
10 checks passed
@rmcdaniel
rmcdaniel deleted the fix/http-failure-diagnostics-35 branch September 30, 2026 10:48
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.

2 participants