Skip to content

backlog(B-0570): scarcity tracker for shared limited resources#3950

Merged
AceHack merged 1 commit into
mainfrom
feature/b-0570-scarcity-tracker-2026-05-16
May 16, 2026
Merged

backlog(B-0570): scarcity tracker for shared limited resources#3950
AceHack merged 1 commit into
mainfrom
feature/b-0570-scarcity-tracker-2026-05-16

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 16, 2026

Summary

Files B-0570 — design row for a scarcity tracker covering GitHub API GraphQL/REST budgets (and future: runner minutes, etc.). Empirically motivated by today's session saturating 5000/hr GraphQL across 3-4 concurrent agents authenticating as the same user.

Why now

The 2026-05-16 session demonstrated the failure mode in real time: thread resolution on PR #3945 was blocked ~13 minutes by GraphQL exhaustion. A tracker would have surfaced `graphql.remaining: 800` mid-session; agents could have deferred or switched to REST.

Mitigation axes (sibling rows)

The row's mitigation-axes table identifies 3 orthogonal axes; sibling rows file follow-on work:

  • B-0571 — GitHub App for factory automation (separate rate-limit pool; primary mitigation)
  • B-0572 — LFG GitHub tier audit (XS effort; Enterprise = 3× per-user headroom for free if already paid)
  • Per-user-account partition (e.g., Addison's account) — discretionary, no row

Diff

  • `docs/backlog/P1/B-0570-*.md` (170 lines) — design row with origin, acceptance criteria, 6-slice decomposition, design sketch, mitigation-axes table, composes-with
  • `docs/BACKLOG.md` (+1 line) — generated index updated via `BACKLOG_WRITE_FORCE=1 bun tools/backlog/generate-index.ts`

🤖 Generated with Claude Code

…b API, etc.)

Aaron's framing 2026-05-16: "we have a new limited resource gh graphql
real scaracy not fake we need a scarcy tracker." Today's session
empirically saturated the 5000/hr GraphQL bucket across 3-4 concurrent
agents (Otto-CLI + peer Otto background worker + Lior antigravity +
manual gh use). The bucket is per-authenticated-user (server-side at
GitHub), not per-machine or per-IP, so all agents auth'd as AceHack
share one pool.

Files the design row for the tracker + initial inventory (GraphQL/REST
budgets, runner minutes etc.) + 6-slice decomposition + mitigation-axes
table covering GitHub App (B-0571 sibling), tier audit (B-0572 sibling),
and optional per-user-account partition.

The mitigation-axes table answers Aaron's specific questions:
- What's the limit measured on? per-user identity (server-side)
- Do agents share it? yes when authed as same user
- Addison account? yes, adds linear partition; identity-confusion trade-off
- IP addresses? no, only matters for unauth'd calls (60/hr per IP)

Composes with B-0400 (bus transport), B-0440 (Standing-by detector),
B-0441 (backlog-ready notifier — sibling background service pattern).

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 16, 2026 22:00
@AceHack AceHack enabled auto-merge (squash) May 16, 2026 22:00
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new P1 backlog row (B-0570) designing a scarcity tracker for shared limited resources (GitHub API GraphQL/REST budgets, runner minutes, etc.), motivated by a real GraphQL rate-limit exhaustion observed in the 2026-05-16 session. The generated backlog index is updated accordingly.

Changes:

  • New per-row file B-0570-...md with origin, acceptance criteria, 6-slice decomposition, design sketch, and mitigation-axes table
  • Regenerated docs/BACKLOG.md index to include the new row

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
docs/backlog/P1/B-0570-scarcity-tracker-shared-limited-resources-github-api-2026-05-16.md New design row for the scarcity tracker (P1, factory-infrastructure)
docs/BACKLOG.md Generated index entry for B-0570

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants