[done] goose dispatcher の claim を server-side atomic claim_goose_jobs (#240) に配線。racy な run_sql select + tag_post wip ループを撤去 → 並列 worker が二重 claim しなくなった。
- CLI の claim を server MCP claim_goose_jobs 1 呼び出しに差し替え、返った {"claimed":[...]} (oldest-first) を run_sql で hydrate → claim 順に並べ直して dispatch。
- --dry-run は非 claim の select preview のまま(claim を起こさない)。goose 実行→reply→done/failed の finalize は温存。enqueue-goose 不変。
- 検証: mock-upstream test で claim 経路が claim_goose_jobs + run_sql hydration を通り tag_post(wip) を出さないこと / 空 claim が hydration を skip することを確認。pure-helper test (claim parse / fetch SQL / claim-order) も追加。cargo nextest 133 passed / clippy -D warnings / fmt --check clean。
PR: https://github.com/rail44/quacker/pull/241 (#241)
背景: TaskA n_01KSY48P の deferred 配線分、task note n_01KSYEZ4HZNPMTKETHQEDBQG4D