fix(workdir): preserve mutation and command safety through diagnostics
This commit is contained in:
@@ -137,6 +137,18 @@ is never parsed into a reason.
|
||||
provider: missing files are created identically without/with/nested reasons;
|
||||
denied/read-only/conflict/unknown-outcome stat failures never write or retry.
|
||||
This protects actual create control flow in addition to error conversion.
|
||||
- Real Remote HTTP and channel-backed External session dispatch tests cover
|
||||
Read/Create/Write/Edit crossed with missing/typed reasons and five error codes.
|
||||
After a dispatched mutation, Unavailable/Transport still become OutcomeUnknown
|
||||
with the original reason preserved: forwarded 500 and inspect-before-retry
|
||||
guidance are unchanged. Read and definite refusal/conflict controls retain
|
||||
their existing codes. The External path also checks actual HTTP error body/
|
||||
status conversion and absence of a new dispatch after the failure.
|
||||
- Fake-command JSON fixtures cover attachment detach and scoped-command close
|
||||
without launching processes. Missing/typed/nested UnknownCommand all retain
|
||||
disappearance/lease-release semantics. Unavailable remains a busy detach or
|
||||
failed scope cleanup; scope close revokes new work immediately but retains the
|
||||
write lease while cleanup is unresolved. Diagnostic data never grants cleanup.
|
||||
- A signed real self-handler test observes command dispatch, then removes only
|
||||
its fixture session-registration entry before returning the start handle.
|
||||
The 502 remains a post-start `command_registration` failure with a neutral
|
||||
|
||||
@@ -68,6 +68,17 @@ The new test fails for the typed-reason case before the fix and passes all three
|
||||
forms after it. That source movement still needs fresh exact-source review, not
|
||||
reuse of the old review binding. The user-reported Workdir 403 remains unidentified.
|
||||
|
||||
## Later registration observation
|
||||
|
||||
A subsequent fresh binding on source
|
||||
`6ac87c885e58f11cb6dde0557c9229249f2c428e` successfully recorded request-changes:
|
||||
MR seq5 event `01a12114-771a-76b1-b0fb-2fde0d56e3e1` at
|
||||
`2026-10-09T14:32:31.769486531+00:00`, confirmed by parent MR reread. This proves
|
||||
that selected submission succeeded; it does not explain the earlier 401.
|
||||
No authentication, proof, capability, Backend, or running binary changes were
|
||||
made to obtain it. The remaining code finding and routine review evidence are
|
||||
on that MR, not an approval or Ticket conclusion in this report.
|
||||
|
||||
## Improvement proposal
|
||||
|
||||
A verdict-registration rejection should expose a safe, bounded internal
|
||||
|
||||
Reference in New Issue
Block a user