You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
squads-api#199 established the double-count seam: a dispatched lane run is BOTH a ledger execution and a Claude-harness session. Every merged view (CLI board #1119, Chief cost answers, upcoming API activity feed for squads-app#87 part 3) needs a run-identity join to dedup — and today no linkage exists anywhere:
.agents/observability/executions.jsonl: 0 of 398 rows carry session_id (verified 2026-07-14)
Postgres agent_executions.metadata: only trigger/context_tokens/provider keys
(api#199's "mapping already exists in the ledger row" was wrong — correction posted there)
What
Stamp session_id (the Claude Code session UUID) on every ledger row squads-cli writes:
Why
squads-api#199 established the double-count seam: a dispatched lane run is BOTH a ledger execution and a Claude-harness session. Every merged view (CLI board #1119, Chief cost answers, upcoming API activity feed for squads-app#87 part 3) needs a run-identity join to dedup — and today no linkage exists anywhere:
.agents/observability/executions.jsonl: 0 of 398 rows carrysession_id(verified 2026-07-14)agent_executions.metadata: onlytrigger/context_tokens/providerkeysWhat
Stamp
session_id(the Claude Code session UUID) on every ledger row squads-cli writes:--session-id(Detached claude-run reconcile attributes the WHOLE machine's session usage to each run #857) — persist that same id into the execution record.squads boardmerge (feat(board): show Claude-harness executions — board only sees squads-run dispatches, hiding half the fleet #1119 seam inboard.ts): drop a derived harness row when its session id matches a ledger row'ssession_id— the board currently unions with no dedup and double-counts lane runs exactly like api#199.hq's
ingest-usage.pythen carries the field into Postgres so the API can joinsessions.id = agent_executions.session_id.Notes
--jsonconsumers.Related: squads-api#199, squads-app#87 (part 3), #1119/#1120, #857.