Files
ImpTune/.planning/ROADMAP.md
T
kawaandClaude Opus 4.6 442b7d680a docs(phase-11): close rollout phase on operator attestation
Technician confirmed real-world rollout: ImpTune ran in its local Docker
container, generated printer packages were delivered end-to-end via BOTH
Intune and NinjaRMM to real endpoints, and all tested installs succeeded
with no blocking items to triage.

Closes RWR-01..04. Attestation-only (mirrors Phase 10 accepted gap) -
no artifact evidence captured.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 14:50:05 +02:00

102 lines
8.3 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
- [x] **Phase 9: UX Tech Debt Closure** — Fix the three carried-over UX gaps so the deployed build is the polished one technicians actually use
(completed 2026-04-13)
- [x] **Phase 10: Real-World Runtime Validation** — Validate generated artifacts end-to-end against a live Intune tenant and a real managed endpoint (completed 2026-04-13)
- [x] **Phase 11: Real-World Rollout & Feedback** — Deploy the container to a real MSP environment, push a real package, and capture structured technician feedback (completed 2026-04-13)
## 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**: 3 plans
- [ ] 10-01-preflight-package-and-scaffold-PLAN.md — Generate real .intunewin from current commit and scaffold RUNTIME-VALIDATION.md with tenant/device/vendor metadata (RTVAL-05 scaffold)
- [ ] 10-02-live-intune-runtime-validation-PLAN.md — Drive RTVAL-01..04 manual checkpoints against a live Intune tenant + real Windows endpoint, capturing screenshots and device logs as evidence
- [ ] 10-03-report-signoff-PLAN.md — Finalize RUNTIME-VALIDATION.md, human sign-off, tick RTVAL-01..05 and mark Phase 10 complete
### 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**: 3 plans
- [x] 11-01-deploy-container-to-msp-PLAN.md — Build + deploy ImpTune container into real MSP environment and record host/URL/commit (RWR-01) — closed by operator attestation (local Docker host) 2026-04-13
- [x] 11-02-push-real-package-PLAN.md — Generate a real package via the deployed instance and push to a real endpoint via Intune/NinjaRMM (RWR-02) — delivered end-to-end via BOTH Intune and NinjaRMM, operator attestation 2026-04-13
- [x] 11-03-capture-and-triage-feedback-PLAN.md — Capture structured technician feedback in .planning/feedback/v1.1-rollout.md and triage every item (RWR-03, RWR-04) — feedback doc written, zero items to triage (all worked) 2026-04-13
## 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 | 3/3 | Complete | 2026-04-13 | — |
| 10. Real-World Runtime Validation | v1.1 | 3/3 | Complete | 2026-04-13 |
| 11. Real-World Rollout & Feedback | v1.1 | 3/3 | Complete | 2026-04-13 |