rooster

Record Seat Call

tools/rooster_worker/claude_cli.py posts every claude -p run it makes for a lane whose server files no row of its own (bug intake, fix review, board seat, the seat probe), so model_calls says what the Claude seat spent, per lane. Frederick, 2026-10-06: "make sure it's built to be token efficient and not burn through the weekly allocation again."

The rooster container has no database, so the worker cannot write the row itself (app.modules.rooster.seat_calls); a 2xx here is the receipt the worker counts on. 422 for a lane or provider this will not file (a lane whose server already records it would be counted twice). Bookkeeping only, never a gate: it moves nothing and spends nothing. Ruling: docs/01_decisions/rulings/2026-10-06-the-claude-seat-is-for-intake- fixes-and-the-board.md.

post/api/rooster/seat-calls

Request

  • Base URL: https://api.pigeonly.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.pigeonly.com/api/rooster/seat-calls
  • Auth: none declared

Request body

lanestring required
providerstring required
modelstring required
okboolean required
latency_msinteger required
turnsinteger nullable
input_tokensinteger nullable
cache_creation_tokensinteger nullable
cache_read_tokensinteger nullable
output_tokensinteger nullable
errorstring nullable

Response

Successful Response

object required

Changes

No recorded changes to this operation across all 1 revision of this API.