How dev-sri67/upgrade-chamber works
Upgrade Chamber accepts a profile-based dependency-upgrade run, checks that the unmodified repository passes its baseline, tries the upgrade, optionally repairs failures with a bounded agent, then independently verifies and publishes evidence. The README documents the service boundaries and major capabilities; sampled source confirms the worker lifecycle, inference transport, persistence, execution attempt, and browser views. Some subsystem wiring is documented but its implementation was not sampled, so uncertain call edges are omitted.
Main entry points: worker.py Run worker · App.tsx App shell · api.py FastAPI service · api.ts Browser API client
Components 22
Web interface
- App shell
web/src/App.tsx - Start view
web/src/components/StartView.tsx - Live run view
web/src/components/RunView.tsx - Result view
web/src/components/ResultView.tsx - Browser API client
web/src/api.ts - Session identity
web/src/session.ts
Run control
- FastAPI service
src/upgrade_chamber/api.py - Run worker
src/upgrade_chamber/worker.py - Inference transport
src/upgrade_chamber/inference.py
Upgrade workflow
- Profile catalog
src/upgrade_chamber/profiles.py - Baseline preparation
src/upgrade_chamber/baseline.py - Repair agent
src/upgrade_chamber/agent.py - Edit validation
src/upgrade_chamber/edits.py - Advisory lookup
src/upgrade_chamber/osv.py
Isolated execution
- Container controller
src/upgrade_chamber/runner.py - Test attempt
execution/attempt.py
Evidence and state
- Run persistence
src/upgrade_chamber/storage.py
Other components
- Demo user
- Browser session
- Docker engine
- Vultr inference
- OSV service
Connections 25
- Demo user → App shell: uses
- App shell → Start view: renders
- App shell → Live run view: renders
- App shell → Result view: renders
- App shell → Session identity: persists identity
- Start view → Browser API client: submits run
- Live run view → Browser API client: polls, cancels
- Result view → Browser API client: loads evidence
- Browser API client → FastAPI service: HTTP requests
- Browser session → Session identity: stores token
- FastAPI service → Run persistence: reads, writes runs
- Run worker → Run persistence: leases, records
- Run worker → Profile catalog: uses profile
- Run worker → Baseline preparation: prepares source
- Run worker → Container controller: runs phases
- Run worker → Repair agent: starts repair
- Repair agent → Edit validation: validates edits
- Run worker → FastAPI service: requests inference
- FastAPI service → Inference transport: dispatches calls
- Inference transport → Vultr inference: sends prompts
- Run worker → Advisory lookup: queries advisories
- Advisory lookup → OSV service: fetches snapshots
- Container controller → Docker engine: controls containers
- Docker engine → Test attempt: runs attempt
- Run worker → Run persistence: stores artifacts