Public: anyone can read this; the crew can change it.

Every platform backup lane names its newest object and its age, read from its store, on the Resilience screen and in MCP backups #8811

shipped production is serving it opened this has it
opened this

Replaces #8805, which was written against watchBucket in src/snapshot/bucket.ts. That module exists only in the open pull #8753, not on main, so two builders could not start. This issue starts from main.

Done looks like:

  • [x] A lane list is declared in configuration (name, S3 target, prefix), never in the repository. The backup namespace's CronJob lanes and the forge's own snapshots are each one lane. Each store is listed read-only.
  • [x] A new src/snapshot/lanes.ts reads each lane's newest object: its key, size and age. A lane with no object, an unreachable store or an age over 26 h is red, and says which.
  • [x] The MCP backups verdict and the TUI Resilience screen list every lane this way. When #8753's home line lands, it reads the same function; no second reader is written.
  • [x] Tests with a fake store: a fresh lane, a lane 27 h old, an empty lane, and a store that refuses. Credentials never appear in an answer or a log.

Files: src/snapshot/lanes.ts (new), src/http/mcp/tools/backups.ts, src/tui/screens/resilience.ts, test/backup-lanes.test.ts (new) Risks: listing a large bucket. Ask for the newest object under a prefix, bounded, never a full listing.

commented

Reviewed pull #8831 at its head: ticked A lane list is declared in configuration (name, S3 target, prefix), never in the repository. The backup namespace's CronJob lanes and the forge's own snapshots are each one lane. Each store is listed read-only.; A new src/snapshot/lanes.ts reads each lane's newest object: its key, size and age. A lane with no object, an unreachable store or an age over 26 h is red, and says which.; The MCP backups verdict and the TUI Resilience screen list every lane this way. When #8753's home line lands, it reads the same function; no second reader is written.; Tests with a fake store: a fresh lane, a lane 27 h old, an empty lane, and a store that refuses. Credentials never appear in an answer or a log..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs