Skip to content

backlog(B-0571): GitHub App for factory automation — separate API rate-limit pool#3951

Merged
AceHack merged 1 commit into
mainfrom
feature/b-0571-github-app-factory-2026-05-16
May 16, 2026
Merged

backlog(B-0571): GitHub App for factory automation — separate API rate-limit pool#3951
AceHack merged 1 commit into
mainfrom
feature/b-0571-github-app-factory-2026-05-16

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented May 16, 2026

Summary

Sibling row to B-0570 (scarcity tracker). Primary capacity-mitigation for the per-user GitHub API saturation flagged today. Files the design row for a "Zeta-Factory" GitHub App installation on the LFG repo, with installation-token auth replacing PAT auth for automated agent work.

Why

GitHub Apps have separate rate-limit pools designed for automation (vs the shared per-user 5000/hr bucket that saturated today across 3-4 concurrent agents). Plus clean `[bot]` attribution. Plus least-privilege permissions scope.

Per the mitigation-axes table in B-0570: this is the substrate-honest primary mitigation. Tier audit (B-0572) is the cheaper test (free 3× if LFG is already Enterprise); App is the architectural answer.

Diff

  • `docs/backlog/P2/B-0571-*.md` (118 lines) — design row with origin, acceptance criteria, 7-slice decomposition, design sketch, alternatives comparison, composes-with, substrate-honest caveats, open questions
  • `docs/BACKLOG.md` (+1 line) — generated index updated

Acceptance highlights

  • App created in LFG org with least-privilege permissions
  • `tools/auth/get-installation-token.ts` — JWT signing + installation token fetch
  • Token-rotation logic (~1hr expiry)
  • Migration: Otto bg worker + Lior antigravity loop switch to App auth
  • Tracker (B-0570) reports App + user pools separately

Composes with

  • B-0570 (scarcity tracker)
  • B-0572 (LFG tier audit — sibling mitigation)
  • `methodology-hard-limits.md` (App permissions must be least-privilege)

🤖 Generated with Claude Code

…mit pool

Sibling row to B-0570 (scarcity tracker). The primary capacity-mitigation
for the 5000/hr per-user GitHub API saturation Aaron flagged today.

GitHub Apps have separate rate-limit pools designed for automation, with
clean [bot] attribution. Installation auth token rotates ~1hr (handled by
token-rotation logic). Factory automated agents (peer Otto bg worker,
Lior antigravity, scheduled routines) auth via the App; human contributors
keep using PATs.

7-slice decomposition: App creation → install → token-fetch script →
rotation/caching → agent migration (Otto, Lior) → docs + scarcity-tracker
integration.

Composes with B-0570 (scarcity tracker — visibility layer for the pools
this row expands).

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 16, 2026 22:01
@AceHack AceHack enabled auto-merge (squash) May 16, 2026 22:01
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

Files a P2 backlog row designing a "Zeta-Factory" GitHub App installation to give automated agents a separate API rate-limit pool from human-user PATs, as a primary mitigation for the shared-bucket saturation surfaced in sibling row B-0570.

Changes:

  • Adds docs/backlog/P2/B-0571-*.md design row with acceptance criteria, 7-slice decomposition, design sketch, alternatives table, and open questions.
  • Updates docs/BACKLOG.md generated index with the new B-0571 entry under P2.

Reviewed changes

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

File Description
docs/backlog/P2/B-0571-github-app-factory-automation-2026-05-16.md New per-row backlog file (118 lines) describing the GitHub App proposal.
docs/BACKLOG.md Generated index line for B-0571 added under P2.

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