# Phase Roadmap

## Status

All phases complete. Project is in user-driven stage work.

| Stage | Phase | Work | Status |
|-------|-------|------|--------|
| 1 | 0 | Discovery audit, codebase mapping, doc generation | Complete |
| 2 | 1 | Bug fixes (6 issues: INKY $8, onboarding, VoIP CSV, print HST, JSON, ZT nudge) | Complete |
| 2 | 2 | Visual polish (hardcoded colors → tokens, 4 themes audited) | Complete |
| 2 | 3 | UX hardening (transitions, touch targets, focus traps, safe-area) | Complete |
| 2 | 4 | Documentation & QA (doc sync, regression walkthrough, beta DOD) | Complete |
| — | 5 | Accessibility/performance audit + Font Awesome icon fix | Complete |
| 3 | 6 | Code quality I (tokens, CSS dedup, dead code) | Complete |
| 4 | 7 | Test expansion (88 → 254 tests) | Complete |
| 4 | 8 | Enhanced Print/PDF (rep name, notes, validity, page breaks, CYA) | Complete |
| 5 | 9 | Visual QA (3 breakpoints × 4 themes) + Retro theme overhaul | Complete |
| 6 | 10 | Elastic responsive (5 → 3 breakpoints, fluid clamp() tokens) | Complete |
| 7 | 11 | Feature work: keyboard shortcuts (Ctrl+P/E/R) + 4 nudges | Complete |
| 8 | 12 | Code quality II: transition tokens, specificity, print CSS | Complete |
| 8 | — | Feature fixes: fullscreen print, toggle colors, CSV→JSON pricing | Complete |
| 9 | — | Spacing token consolidation, pricing label sync, Retro visual QA | Complete |

**Tests:** 254/254 passing. `node svsmspcalc/tests/test-quote-engine.js`

## Architecture baseline

- JS split into pricing, engine, render, persistence, export, import, theme, and mobile-sync modules
- CSS split into tokens, base, layout, components, responsive, print, and 3 theme override files
- HTML shell kept stable during the split
- Pricing loads from `package-prices-data.js` via `<script>` tag (no web server needed)
- Automated test suite at `tests/test-quote-engine.js` (254 tests, zero deps)

## Approved work

- Bug fixes
- CSS/UI polish, theme improvements
- Responsive cleanup and hardening
- Spacing, alignment, color consistency fixes
- Documentation cleanup
- Test coverage expansion
- Small dead-code cleanup (after usage verification)

## Do not do without explicit approval

- Broad rewrites or framework migration
- DOM ID or event-contract changes
- Reworking quote math or export structure without a clear bug
- Activating Sections IV–VI beyond placeholder state
