Architecture overview¶
ModelBump is a pipeline of independent stages. Each stage has one job, a typed input and a typed output, so stages can be tested, evaluated and replaced on their own.
flowchart LR
code[Target repo:<br/>code, configs, tests] --> scan[1 Scanner]
registry[(Retirement<br/>registry)] --> scan
scan --> synth[2 Suite synthesizer]
synth --> runner[3 Runner<br/>cache + budget]
runner --> stats[4 Stats engine]
stats --> repair[5 Prompt repair]
repair --> runner
stats --> report[6 Reporter]
repair --> pr[7 GitHub PR]
report --> pr
| Stage | Responsibility | Status |
|---|---|---|
| Registry | Which model IDs are retired, and when | v1 (Phase 1) |
| Scanner | Find model IDs in code and config; match them against retirement dates | v0.1.0 (Phase 2) |
| Suite synthesizer | Build regression test cases and oracles from the target repo | Planned (Phase 5) |
| Runner | Call models with caching, retries and a cost budget | Done (Phase 3) |
| Stats engine | Decide REGRESSED / IMPROVED / EQUIVALENT / INCONCLUSIVE per test case | In progress (Phase 4) |
| Prompt repair | Find prompt edits that fix regressions safely | Planned (Phase 6) |
| Reporter / GitHub | Produce reports and open the upgrade PR | Planned (Phase 7) |
Each stage gets its own page here when it is built.