Run the skipped live dev checks: double-post

Task 13065 · Done · Coder · created · updated

Epic 12693 (concurrent control-plane API) merged with all of its gate tests green. Three live acceptance checks were never run on dev. The children's reports gave these reasons: - AC4: no double-posted forge comment under the async single-loop CP. Only the gate tests ran (Task 12739, 12744). The live double-click needs a runner on project `mr-6382-static`. - AC6: a DBOS durable flow survives a CP redeploy mid-flight. Only gate tests and deploy logs showing "No workflows to recover" exist (Task 12733, 12743, 12744). - AC7: three runners on one node, with the broker caps removed (Task 12735, PR #7752). Not run, because the node needed the new jaahd. Reproduction / what I observed (finish task 12745, 2026-11-03): the develop head is 1e2e312605, and dev runs 2 CP tasks (task def jaah-dev-cp:1716). My burst probe as the operator returned 200 on every request. None of the three checks above has evidence in any child report. Cause: no code cause is known. These are verification gaps: the oracles needed a runner, node or project setup that the coders did not have. Fix: run each check on dev. Fix any failure in the owning module (AC4 `apps/api/app/routes/tasks/answers.py` / `transitions.py` anti-double-post guards; AC6 `apps/api/app/durable/`; AC7 `apps/jaahd/cred_broker.py`). Add no new surface. Acceptance: - AC4: on dev, open a throwaway draft PR on the `mr-6382-static` repo. Send two concurrent requests for a Task action that posts a PR comment. Exactly one comment appears. Close the throwaway PR afterwards. Oracle: the PR's comment list. - AC6: start an AskUserQuestion round on a dev task. Merge any develop PR, or wait for the next Jaah Deploy, so both CP tasks roll. Then answer. The answer is delivered and the workflow is not left PENDING. Oracle: the task view plus the CP log lines for that workflow id. - AC7: once the node runs a jaahd built at or after fa8bb743, start 3 runners at once on one dev node. All three make concurrent control-tool calls with no broker wait or refusal. Oracle: the runners' sessions plus jaahd logs. Out of scope: pool sizing, task CPU/memory and RDS class (operator decision D2); new caps; any route conversion; prod or master. Done means: - AC4, AC6 and AC7 each have a recorded pass on dev with the evidence above. A failing check is fixed and merged through the merge lane, with Jaah Deploy green. - A check that cannot run gets its blocker named and asked through the question tool. It is never skipped silently.

Outcome

Live dev checks all pass, so no code change was needed. AC4: two concurrent answers landed on different CP processes; one got 200, the other 409, and the throwaway PR got exactly 1 comment (PR now closed). AC6: a question survived a full CP redeploy; the answer was delivered and 0 workflows are PENDING. AC7: 3 runners on one node made 36 concurrent control calls with no wait or refusal. Filed draft 13071 (cp_psql rootless Docker). Memory: proposed 1 gotcha.

Artifacts

Activity

  • Ready
  • Runner started
  • Runner ended (done)