Files
ImpTune/.planning/ROADMAP.md
T
kawa 71c808601c docs(09): create phase plan for UX tech debt closure
Three plans covering UX-01 (driver upload 500 fix + inline HTMX OOB
refresh on printer form), UX-02 (Playwright headless test for PRNT-03
IP->port auto-fill), and UX-03 (.ps1 script download routes + detail
page links). VALIDATION.md finalized with real task IDs and
nyquist_compliant=true. ROADMAP Phase 9 plan list filled in.
2026-04-13 10:29:43 +02:00

95 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Roadmap: ImpTune
## Milestones
-**v1.0 MVP** — Phases 17, 13 plans, 27/27 requirements (shipped 2026-04-13) — see [`milestones/v1.0-ROADMAP.md`](milestones/v1.0-ROADMAP.md)
- 🚧 **v1.1 Hardening & Validation** — Phases 811, 15 requirements (in progress, started 2026-04-13)
## Phases
<details>
<summary>✅ v1.0 MVP (Phases 17) — SHIPPED 2026-04-13</summary>
- [x] Phase 1: Foundation (3/3 plans) — 2026-04-10
- [x] Phase 2: Driver Management (2/2 plans) — 2026-04-10
- [x] Phase 3: Printer Configuration (2/2 plans) — 2026-04-10
- [x] Phase 4: Script Generation (2/2 plans) — 2026-04-10
- [x] Phase 5: Package Export (2/2 plans) — 2026-04-10
- [x] Phase 6: Wire Icon into .intunewin (1/1 plan, gap closure) — 2026-04-10
- [x] Phase 7: Dashboard & Navigation Polish (1/1 plan, gap closure) — 2026-04-13
Full details: [`milestones/v1.0-ROADMAP.md`](milestones/v1.0-ROADMAP.md)
</details>
### 🚧 v1.1 Hardening & Validation (Phases 811)
- [ ] **Phase 8: Nyquist Validation Track** — Retro-fit Nyquist-compliant VALIDATION.md across all 7 v1.0 phases with evidence-backed checks
- [ ] **Phase 9: UX Tech Debt Closure** — Fix the three carried-over UX gaps so the deployed build is the polished one technicians actually use
- [ ] **Phase 10: Real-World Runtime Validation** — Validate generated artifacts end-to-end against a live Intune tenant and a real managed endpoint
- [ ] **Phase 11: Real-World Rollout & Feedback** — Deploy the container to a real MSP environment, push a real package, and capture structured technician feedback
## Phase Details
### Phase 8: Nyquist Validation Track
**Goal**: Every v1.0 phase has a signed-off Nyquist-compliant validation record with cited evidence, and any blocking gaps are tracked.
**Depends on**: Nothing (parallelizable — pure audit of shipped code, no runtime dependency)
**Requirements**: NYQ-01, NYQ-02, NYQ-03
**Success Criteria** (what must be TRUE):
1. An operator can open any of the 7 v1.0 phase folders and read a `VALIDATION.md` where every success criterion maps to exactly one observable check with cited evidence (commit, test name, file path, or screenshot)
2. An operator can open `.planning/milestones/v1.0-VALIDATION-INDEX.md` and see a single pass/fail roll-up across all 7 phases with links to each phase's validation file
3. Any validation gap surfaced during the Nyquist pass appears in the index as either a v1.1 defect ticket (linked to the fixing phase) or an explicitly deferred item with written rationale
**Plans**: TBD
### Phase 9: UX Tech Debt Closure
**Goal**: The three carried-over UX defects are fixed and live-verified in a real browser so the rolled-out build is the polished one.
**Depends on**: Nothing (independent of validation and rollout — but must complete before Phase 11)
**Requirements**: UX-01, UX-02, UX-03
**Success Criteria** (what must be TRUE):
1. A technician uploading a new driver on the printer form sees the new DriverDesc appear in the dropdown without manually reloading the page
2. A technician typing an IP address into the printer form sees the port field auto-populate via the PRNT-03 Alpine.js handler, observed live in a real browser and recorded in VALIDATION.md
3. A technician on the printer detail page can click direct download links for the install, uninstall, and detect scripts individually, in addition to the existing package export buttons
**Plans**: 3 plans
- [ ] 09-01-driver-upload-fix-and-inline-oob-PLAN.md — Fix POST /drivers/upload 500 + add inline upload to printer form with HTMX OOB refresh (UX-01)
- [ ] 09-02-playwright-port-autofill-PLAN.md — Add Playwright dev dep + headless test for PRNT-03 IP->port auto-fill (UX-02)
- [ ] 09-03-script-download-links-PLAN.md — Add .ps1 route aliases + printer_detail.html script download links (UX-03)
### Phase 10: Real-World Runtime Validation
**Goal**: Generated .intunewin, install, detect, and uninstall artifacts are proven to work end-to-end on a real Intune tenant against a real Windows endpoint, with evidence recorded.
**Depends on**: Phase 9 (rollout uses the validated-AND-polished build; validation itself only strictly needs v1.0, but running it on the polished build avoids re-doing the pass)
**Requirements**: RTVAL-01, RTVAL-02, RTVAL-03, RTVAL-04, RTVAL-05
**Success Criteria** (what must be TRUE):
1. A generated `.intunewin` package is uploaded to a real Microsoft Intune tenant and accepted without format errors, with the tenant ingestion confirmation captured as evidence
2. A technician assigning the package to a real Intune-managed Windows endpoint observes the install script succeed under SYSTEM context, with `pnputil` driver staging and `$PSScriptRoot` path resolution verified in the device log
3. After install, the Intune detection rule driven by the generated detect script reports "installed" for the endpoint
4. A technician triggering uninstall from Intune sees the printer cleanly removed from the endpoint under SYSTEM context
5. A reviewer can open `RUNTIME-VALIDATION.md` and read a signed-off report listing tenant, device, OS build, driver vendor(s), screenshots/logs, and any issues found
**Plans**: TBD
### Phase 11: Real-World Rollout & Feedback
**Goal**: ImpTune is running in a real MSP environment, has produced a package that actually reached endpoints, and technician feedback has been captured and triaged.
**Depends on**: Phase 9 (UX tech debt), Phase 10 (runtime validation passed)
**Requirements**: RWR-01, RWR-02, RWR-03, RWR-04
**Success Criteria** (what must be TRUE):
1. ImpTune is running in its single Docker container inside at least one real MSP environment serving real printers, with the host/URL recorded in the feedback document
2. At least one printer deployment package generated by the deployed instance has been pushed to real endpoints via Intune or NinjaRMM end-to-end
3. A reviewer can open `.planning/feedback/v1.1-rollout.md` and read structured feedback from the deploying technician covering what worked, what blocked, and what's missing
4. Every feedback item in that document is tagged fix-in-v1.1, defer-to-v1.2, or won't-do with written rationale
**Plans**: TBD
## Progress
| Phase | Milestone | Plans Complete | Status | Completed |
|-------|-----------|----------------|----------|------------|
| 1. Foundation | v1.0 | 3/3 | Complete | 2026-04-10 |
| 2. Driver Management | v1.0 | 2/2 | Complete | 2026-04-10 |
| 3. Printer Configuration | v1.0 | 2/2 | Complete | 2026-04-10 |
| 4. Script Generation | v1.0 | 2/2 | Complete | 2026-04-10 |
| 5. Package Export | v1.0 | 2/2 | Complete | 2026-04-10 |
| 6. Wire Icon into .intunewin | v1.0 | 1/1 | Complete | 2026-04-10 |
| 7. Dashboard & Nav Polish | v1.0 | 1/1 | Complete | 2026-04-13 |
| 8. Nyquist Validation Track | v1.1 | 0/? | Not started | — |
| 9. UX Tech Debt Closure | v1.1 | 0/3 | Planned | — |
| 10. Real-World Runtime Validation | v1.1 | 0/? | Not started | — |
| 11. Real-World Rollout & Feedback | v1.1 | 0/? | Not started | — |