fix(api): make run starts idempotent - #84468
Jags3Alpha wants to merge 3 commits into
Conversation
|
Current-upstream composition evidence (source only; no merge/deployment authority):
Both merges were conflict-free. This clears current-source drift only. Maintainer review, upstream checks/merges, exact hosted deployment and injected lost-response proof remain required. |
|
Exact current-main composition verification (read-only/disposable; no production action):
Command used the repository-mandated |
|
Exact-head maintainer handoff for
Please approve fork workflows for this exact head and review; no merge is requested by this comment. |
|
Fresh disposable composition after upstream main advanced again:\n\n- upstream base: 9460cc1\n- PR #84468 head: 8258982\n- PR #84931 head: 6414315\n- composition commit: e144552ba91205efe4814b5cec658d0d83f96d1c\n- composition tree: 5a424861f2537615151ecffe9262b0dd6f492de2\n- merge: clean\n- focused Runs/reconnect/MCP suite: 136/136 pass\n- Ruff: pass\n- git diff --check: pass\n\nThe intervening upstream changes do not touch gateway/platforms/api_server.py or tools/mcp_tool.py. This refresh supersedes the prior composition evidence. It is read-only source-compatibility evidence only and does not claim maintainer review, workflow approval, merge, deployment or live Hermes proof. |
fix(api): make run starts idempotent Reviewed A few observations:
|
Problem
POST /v1/runsacceptedIdempotency-Keybut did not use it to recover a lost 202 response. A retry could start duplicate work, accept a changed payload, or return 429 instead of recovering the original run at concurrency capacity.Fix
idempotency_conflictNo-key behaviour is unchanged. Recovery is deliberately process-local; crash-persistent recovery is not claimed.
Exact verification
8258982f1403e3914d85d577409a1d5a77c692e87626105380b78bd360a20fe3ea3752046efc4a45Latest disposable composition of upstream main
c7a1bfea07762b82ef47e0ba31042963dc359490-> this functional series -> #84931 functional series produced8a24991f80d469d293f80f70f0fb56177bd16e19(tree93d06996facbfc61e1aa39e18d2d27cbe0f46a8b): 136/136 focused Runs, reconnect and MCP tests pass; Ruff and diff checks pass.