Operator problem
The published-artifact diagnosis drill in durable-workflow/.github#143 exhausted a bounded MySQL system tablespace. A workflow start returned HTTP 500. Published CLI 2.1.2 instead reported invalid control-plane response version for [/workflows]; expected [2], got [missing] and exit code 1. This points the investigator toward a protocol mismatch rather than the failed server operation.
The current ServerClient::decode() handles 401/403 before normalizing protocol envelopes, but other HTTP errors reach normalizePayload() before their status is classified. A generic Laravel JSON error without the success envelope therefore masks the actual HTTP error.
Acceptance
- Preserve HTTP status and useful error details for non-success responses without a Server success envelope, including JSON, HTML and empty proxy responses.
- Keep normal success-response protocol checks strict. Preserve existing typed authentication, validation, rejection, compatibility and retryable-backend behavior.
- Include regressions for the observed workflow start failure and the error response shapes that exercise this ordering.
- Publish the qualified patch and repeat the actual storage-pressure operation with the published CLI.
Frozen reproduction: Server 2.4.30, CLI 2.1.2, Waterline 2.0.8, MySQL 8.4.5. The isolated database uses innodb_file_per_table=OFF and ibdata1:32M:autoextend:max:64M. A bounded filler table reaches the limit, then a 96-KiB synthetic workflow input makes the workflow_runs insert fail with MySQL error 1114. Restoring a bounded 128-MiB limit recovers previously acknowledged work. No customer environment or paid test host is involved. Server's storage-specific explanation is a separate finding from the CLI's response-ordering defect.
Operator problem
The published-artifact diagnosis drill in durable-workflow/.github#143 exhausted a bounded MySQL system tablespace. A workflow start returned HTTP 500. Published CLI 2.1.2 instead reported
invalid control-plane response version for [/workflows]; expected [2], got [missing]and exit code 1. This points the investigator toward a protocol mismatch rather than the failed server operation.The current
ServerClient::decode()handles 401/403 before normalizing protocol envelopes, but other HTTP errors reachnormalizePayload()before their status is classified. A generic Laravel JSON error without the success envelope therefore masks the actual HTTP error.Acceptance
Frozen reproduction: Server 2.4.30, CLI 2.1.2, Waterline 2.0.8, MySQL 8.4.5. The isolated database uses
innodb_file_per_table=OFFandibdata1:32M:autoextend:max:64M. A bounded filler table reaches the limit, then a 96-KiB synthetic workflow input makes theworkflow_runsinsert fail with MySQL error 1114. Restoring a bounded 128-MiB limit recovers previously acknowledged work. No customer environment or paid test host is involved. Server's storage-specific explanation is a separate finding from the CLI's response-ordering defect.