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
Verify a Turso org-usage route and build the daily collector:
No verified org usage route exists yet; v1 falls back to dated manual reads. Try the platform API and turso CLI (platform token already in Bitwarden, verified for org/db/group reads 2026-10-20).
Metrics vs Starter Free limits: DB count /100, storage /5 GB, rows read /500M, rows written /10M, sync /3 GB; billing cycle end (currently Oct 31, 2026).
Evidence:GET https://api.turso.tech/v1/organizations/dezren39/usage → HTTP 200 with organization.usage totals and a per-database breakdown. Live values at probe time (plan starter): rows_read 1,905,385 (of 500M), rows_written 30,026 (of 10M), storage_bytes 1,053,323,264 ≈ 0.98 GiB (of 5 GB), bytes_synced 30,408,704 (of 3 GB), databases 3 (of 100). GET …/subscription → HTTP 200: starter, current period 2026-10-01 → 2026-11-01 (the cycle-end source; the issue's "Oct 31" is this date in US time). Dead ends, probed so they are not retried: /billing and /usage/daily → 404 route_not_found. The org route returns current-period totals, not a daily series — daily granularity comes from the hub's snapshot store (one snapshot per read, deltas from consecutive snapshots), which is how the other collectors work.
Routing: follow-up enqueued as task 2984 (repo-health:v1:fix:developing-today/code:issue:1049, kind small_fix): add a Turso source to the gather-quota pattern (pm-stack/aggregator/scripts/gather-quota.ts + quota-gather-map.ts) emitting the Turso card vs Starter Free limits plus the §4 snapshot record, token by Bitwarden name only. Issue stays open, labelled queue/queued.
src/sources/live.ts + scripts/gather-quota.ts — reads GET /v1/organizations/{slug}/usage and /subscription with the existing Bitwarden platform token by name only (turso.platform-api-token-muse-cli; no value in code, payloads or logs), emitting rows_read, rows_written, storage_bytes, bytes_synced, databases.
src/quota-gather-map.ts / src/quota-current.ts — maps those onto the quota-current contract and §4 snapshot records with the Starter limits (DB /100, storage /5 GB, rows read /500M, rows written /10M, sync /3 GB); the subscription period end (2026-11-01) is the card's cycle end.
test/quota-current.test.ts, test/quota-gather-map.test.ts — 30/30 targeted tests pass (recorded at the prior checkpoint, same head).
Deliberately not done: no daily series is synthesised from the org endpoint (it is a period total); daily granularity stays with the hub's own snapshot store, as the packet requires. /billing and /usage/daily stay untouched (404 route_not_found).
Why it is not merged:ci: merge queue ejects every PR — no merge since #2233 (10:57Z), entries dropped 2-6 min into AWAITING_CHECKS #2403. main frozen at 5a34fa70 since 10:57:51Z (~11 h); merge-queue entries are ejected with reason=branch_protection_failure within 24–51 s of the required check going green. Ruleset 26115813 has bypass_actors: [] and main's classic protection carries a push restrictions block (teams: [codeowners], apps: [github-actions]) that the merge group cannot satisfy. Not a PR defect.
Your decision: (a) drop the classic push restrictions on main (or add the merge-queue actor), or (b) move basic: proxy port fallbacks into ruleset 26115813.
Agent: queue worker (repo-worker-code), lane code-j
Session / ID: task 2984
Found via: queue claim
Task: Closing with evidence — the work is complete and the blocker is gone. Fresh verification 2026-11-03T09:22Z (two independent gh reads): the merge-queue freeze issue ci: merge queue ejects every PR — no merge since #2233 (10:57Z), entries dropped 2-6 min into AWAITING_CHECKS #2403 is CLOSED, and PR feat(usage-hub): Turso org-usage collector in the quota gatherer (#1049) #2366 MERGED 2026-10-30T01:05:40Z (merge commit f265e44) — the Turso org-usage collector (route verified earlier by triage task 2311) is in the quota gatherer. Post-merge proof the acceptance is live: the laptop snapshot store holds quota-gatherer, api-sourced turso entries dated 2026-11-01 (daily automated read feeding the snapshot store). The stale blocked/escalated labels are removed and this issue is closed; task 2984 completes as fixed_merged.
Expectation: none — reopen if the daily Turso read stops landing in the snapshot store.
Activity
developing-today commentedon Oct 27, 2026
CODE-194
dezren39 commentedon Oct 29, 2026
🤖 Agent note · done
turso.platform-api-token-muse-cli).GET https://api.turso.tech/v1/organizations/dezren39/usage→ HTTP 200 withorganization.usagetotals and a per-database breakdown. Live values at probe time (plan starter): rows_read 1,905,385 (of 500M), rows_written 30,026 (of 10M), storage_bytes 1,053,323,264 ≈ 0.98 GiB (of 5 GB), bytes_synced 30,408,704 (of 3 GB), databases 3 (of 100).GET …/subscription→ HTTP 200: starter, current period 2026-10-01 → 2026-11-01 (the cycle-end source; the issue's "Oct 31" is this date in US time). Dead ends, probed so they are not retried:/billingand/usage/daily→ 404 route_not_found. The org route returns current-period totals, not a daily series — daily granularity comes from the hub's snapshot store (one snapshot per read, deltas from consecutive snapshots), which is how the other collectors work.repo-health:v1:fix:developing-today/code:issue:1049, kind small_fix): add a Turso source to the gather-quota pattern (pm-stack/aggregator/scripts/gather-quota.ts+quota-gather-map.ts) emitting the Turso card vs Starter Free limits plus the §4 snapshot record, token by Bitwarden name only. Issue stays open, labelledqueue/queued.78 remaining items
dezren39 commentedon Oct 29, 2026
🤖 Agent note · collector implemented and verified; blocked only on the repo-wide merge-queue freeze (#2403)
Agent: queue worker
repo-worker-code, OpenChamber scheduled lane. Task 2984 (resume of the parked task, not a rebuild).PR feat(usage-hub): Turso org-usage collector in the quota gatherer (#1049) #2366 —
queue/2984-1049-turso-collector, OPEN / CLEAN / MERGEABLE atc05770ce.basic: proxy port fallbacksSUCCESS, CodeRabbit neutral, no unresolved threads. 6 files, +547/−4:src/sources/live.ts+scripts/gather-quota.ts— readsGET /v1/organizations/{slug}/usageand/subscriptionwith the existing Bitwarden platform token by name only (turso.platform-api-token-muse-cli; no value in code, payloads or logs), emittingrows_read,rows_written,storage_bytes,bytes_synced,databases.src/quota-gather-map.ts/src/quota-current.ts— maps those onto the quota-current contract and §4 snapshot records with the Starter limits (DB /100, storage /5 GB, rows read /500M, rows written /10M, sync /3 GB); the subscription period end (2026-11-01) is the card's cycle end.test/quota-current.test.ts,test/quota-gather-map.test.ts— 30/30 targeted tests pass (recorded at the prior checkpoint, same head).Deliberately not done: no daily series is synthesised from the org endpoint (it is a period total); daily granularity stays with the hub's own snapshot store, as the packet requires.
/billingand/usage/dailystay untouched (404 route_not_found).Why it is not merged: ci: merge queue ejects every PR — no merge since #2233 (10:57Z), entries dropped 2-6 min into AWAITING_CHECKS #2403.
mainfrozen at5a34fa70since 10:57:51Z (~11 h); merge-queue entries are ejected withreason=branch_protection_failurewithin 24–51 s of the required check going green. Ruleset26115813hasbypass_actors: []andmain's classic protection carries a pushrestrictionsblock (teams: [codeowners],apps: [github-actions]) that the merge group cannot satisfy. Not a PR defect.Your decision: (a) drop the classic push
restrictionsonmain(or add the merge-queue actor), or (b) movebasic: proxy port fallbacksinto ruleset26115813.Resume condition: first PR merged through the queue → re-enqueue feat(usage-hub): Turso org-usage collector in the quota gatherer (#1049) #2366, merge, close this issue. Task 2984 is blocked (
escalated-to-user), not parked, so it stops recirculating.Links: PR feat(usage-hub): Turso org-usage collector in the quota gatherer (#1049) #2366 · ci: merge queue ejects every PR — no merge since #2233 (10:57Z), entries dropped 2-6 min into AWAITING_CHECKS #2403 · task 2984
dezren39 commentedon Nov 3, 2026
🤖 Agent note · done
tursoentries dated 2026-11-01 (daily automated read feeding the snapshot store). The stale blocked/escalated labels are removed and this issue is closed; task 2984 completes as fixed_merged.