How polds/rapid-issue-triage works
Rapid Issue Triage is a local Go application with an embedded, keyboard-first web UI for processing a Linear backlog. The principal workflow is to sync filtered issues and workspace metadata into a local SQLite index, present issues as a triage deck, and apply or undo actions; skips and snoozes remain local. Separate branches provide fast and pooled deep AI enrichment, macros, activity reports, settings, and update checks. The README documents capabilities beyond the sampled excerpts; those are represented where the tree supports a path, without assuming unverified internal call wiring.
Main entry points: handlers.go Issue handlers · store.go SQLite index · App.tsx Web app · store.tsx UI state and API
Components 23
Web interface
- Web app
web/src/App.tsx - Triage deck
web/src/pages/Triage.tsx - Macros
web/src/pages/Macros.tsx - Reports
web/src/pages/Reports.tsx - Settings
web/src/pages/Settings.tsx - UI state and API
web/src/lib/store.tsx
Local application
- HTTP API
internal/server/server.go - Issue handlers
internal/server/handlers.go - Triage operations
internal/server/ops.go - Update checker
internal/update/update.go
Index and state
- Background sync
internal/syncer/syncer.go - SQLite index
internal/store/store.go - Issue queue
internal/store/issues.go - Activity and reports
internal/store/activity.go - Macro storage
internal/store/macros.go
AI enrichment
- Fast enrichment
internal/ai/enrich.go - Deep-run orchestrator
internal/deep/orchestrator.go - Read-only toolbox
internal/deep/toolbox.go
External services
- Linear client
internal/linear/client.go - Linear
- Claude CLI
- GitHub releases
Other components
- Triage user
Connections 34
- Triage user → Web app: uses
- Web app → Triage deck: renders
- Web app → Macros: renders
- Web app → Reports: renders
- Web app → Settings: renders
- Triage deck → UI state and API: reads and acts
- Macros → UI state and API: manages macros
- Reports → UI state and API: loads reports
- Settings → UI state and API: loads settings
- UI state and API → HTTP API: HTTP requests
- HTTP API → Issue handlers: dispatches
- Issue handlers → Issue queue: queries queue
- Issue handlers → Triage operations: runs actions
- Triage operations → Linear client: updates issues
- Triage operations → Activity and reports: logs actions
- Issue handlers → Macro storage: manages macros
- Issue handlers → Fast enrichment: requests enrichment
- Issue handlers → Deep-run orchestrator: starts deep runs
- Issue handlers → Activity and reports: reads activity
- Background sync → Linear client: fetches issues and metadata
- Background sync → SQLite index: writes index
- Issue queue → SQLite index: reads and writes
- Activity and reports → SQLite index: reads and writes
- Macro storage → SQLite index: reads and writes
- Linear client → Linear: GraphQL requests
- Fast enrichment → Claude CLI: runs CLI
- Deep-run orchestrator → Read-only toolbox: probes and dispatches
- Deep-run orchestrator → Claude CLI: runs scout and synthesis
- Read-only toolbox → Linear client: reads Linear data
- Read-only toolbox → SQLite index: reads local data
- Deep-run orchestrator → SQLite index: persists runs and usage
- HTTP API → Update checker: checks releases
- Update checker → GitHub releases: queries releases
- Background sync → Issue queue: indexes issues