Progress Dashboard
The progress dashboard visualizes the current state of a modernization effort. It pulls from migration-state.json to show per-context progress, parity test results, blockers, and velocity metrics.
Interactive Visualization
Section titled “Interactive Visualization”What This Shows
Section titled “What This Shows”The dashboard renders data from migration-state.json using ERPNext as the reference dataset:
- Overall progress bar — Weighted average across all contexts
- Per-context cards — Status, entities migrated, parity test results
- Blocker list — Active blockers with severity and age
- Velocity chart — Entities per week and test throughput over time
- Projected completion — Estimated date based on current velocity
Sample State
Section titled “Sample State”{ "started": "2026-01-20", "lastUpdated": "2026-02-08", "overallProgress": 0.18, "contexts": [ { "name": "Accounts", "status": "in-progress", "progress": 0.45, "entitiesMigrated": 12, "entitiesTotal": 27, "parityTests": { "passing": 68, "failing": 4, "total": 72 } }, { "name": "Stock", "status": "not-started", "progress": 0.0, "entitiesMigrated": 0, "entitiesTotal": 48, "parityTests": { "passing": 0, "failing": 0, "total": 0 } } ], "velocity": { "entitiesPerWeek": 4.2, "testsPerWeek": 22, "estimatedCompletion": "2026-04-15" }}Dashboard Metrics
Section titled “Dashboard Metrics”| Metric | Source | What It Tells You |
|---|---|---|
| Overall progress | overallProgress | How far along the entire modernization is |
| Context status | contexts[].status | Which modules are in-progress, blocked, or complete |
| Parity health | contexts[].parityTests | Whether extracted code matches legacy behavior |
| Velocity | velocity.entitiesPerWeek | How fast the team is moving |
| Blockers | blockers[] | What is preventing progress |
| ETA | velocity.estimatedCompletion | When the current phase will finish |
Next Steps
Section titled “Next Steps”- migration-state.json Specification — Full field reference
- Schema Validator — Validate your spec files