open-swe/agent
Johannes du Plessis 798cc6edf1
feat: out-of-process usage-snapshot builder (Phase 1) (#1468)
* feat: out-of-process usage-snapshot builder (Phase 1)

Move all usage-tab compute off the run-serving HTTP process (the #1434 bug
class). Read path is now a pure cache read with a typed computing placeholder
on cold miss; a dedicated usage_snapshot graph + global ~10min cron rebuild
every period's snapshot out-of-process, wrapped in asyncio.timeout and gated by
USAGE_SNAPSHOT_CRON_ENABLED. Lifespan makes one fire-and-forget scheduling call,
never a retained/looping task.

* fix: address PR review on usage-snapshot builder

- admin guard on /admin/usage/rebuild (was any logged-in user)
- cap lifespan loopback calls with asyncio.timeout(5) so a startup hang
  can't block boot
- memoize cron registration so steady-state requests skip the loopback
  check; reap duplicate crons from concurrent-replica races
- thread the computing flag through the usage payload too
2026-06-09 11:11:06 -07:00
..
dashboard feat: out-of-process usage-snapshot builder (Phase 1) (#1468) 2026-06-09 11:11:06 -07:00
integrations fix: enforce client-side deadline on sandbox execute (#1451) 2026-06-08 11:16:08 -07:00
middleware feat: support dashboard chat images (#1435) 2026-06-06 11:50:24 -07:00
skills feat: outcomes dataset + bootstrap/continual split via skills (#1365) 2026-06-01 13:25:12 -07:00
tools feat: surface dashboard UI link on PR reviews [INF-0000] (#1440) 2026-06-07 05:17:09 +00:00
utils feat: apply API standards skill in PR reviews for API changes (#1452) 2026-06-08 14:37:04 -07:00
analyzer.py feat: outcomes dataset + bootstrap/continual split via skills (#1365) 2026-06-01 13:25:12 -07:00
encryption.py feat: support TOKEN_ENCRYPTION_KEY rotation via MultiFernet [closes AB-2323] (#1275) 2026-05-08 14:29:23 -07:00
prompt.py fix: make default repository configurable (#1429) 2026-06-05 13:48:47 -07:00
review_style_collector.py feat: tune reviewer for precision — web/wiki tools + recalibrated prompt (#1312) 2026-05-20 18:35:00 +00:00
review_style_guidance.py feat: tune reviewer for precision — web/wiki tools + recalibrated prompt (#1312) 2026-05-20 18:35:00 +00:00
reviewer.py feat: apply API standards skill in PR reviews for API changes (#1452) 2026-06-08 14:37:04 -07:00
reviewer_diff.py feat: Inject PR title and body into reviewer context (#1368) 2026-06-01 21:06:19 +00:00
reviewer_findings.py feat: surface out-of-diff findings in a collapsed dropdown (#1427) 2026-06-05 10:41:48 -07:00
reviewer_publish.py fix: reword reviewer feedback prompt (#1449) 2026-06-08 10:02:02 -07:00
reviewer_reconcile.py feat: let reviewer set comment titles (#1356) 2026-05-28 16:04:38 -07:00
scheduler.py feat: add scheduled web agents (#1422) 2026-06-05 02:20:24 +00:00
server.py fix: make default repository configurable (#1429) 2026-06-05 13:48:47 -07:00
usage_snapshot.py feat: out-of-process usage-snapshot builder (Phase 1) (#1468) 2026-06-09 11:11:06 -07:00
webapp.py feat: out-of-process usage-snapshot builder (Phase 1) (#1468) 2026-06-09 11:11:06 -07:00