# Requirements: ImpTune v1.1 — Hardening & Validation

**Defined:** 2026-04-13
**Core Value:** Generate a complete, working printer deployment package (script + drivers + icon) in minutes instead of manually scripting each printer setup.
**Milestone goal:** Close every open concern from v1.0 — real-world runtime validation, UX tech debt, and Nyquist-compliant validation track — to ship a confidence release.

> No new product features. Pure quality, validation, and rollout milestone. REQ-IDs continue numbering from v1.0 categories.

## v1.1 Requirements

### Real-World Runtime Validation (RTVAL)

- [x] **RTVAL-01**: A generated `.intunewin` package is uploaded to a real Microsoft Intune tenant and accepted (no format errors), with byte-level conformance confirmed against tenant ingestion
- [x] **RTVAL-02**: A generated install script runs successfully under SYSTEM context on a real Intune-managed Windows endpoint, with `pnputil` driver staging and `$PSScriptRoot` path resolution verified
- [x] **RTVAL-03**: Generated detect script returns the expected exit code on a real endpoint after install (Intune detection rule succeeds)
- [x] **RTVAL-04**: Uninstall script removes the printer cleanly under SYSTEM context on a real endpoint
- [x] **RTVAL-05**: A signed-off RUNTIME-VALIDATION.md report records tenant, device, OS build, driver vendor(s) tested, screenshots/logs, and any issues found

### UX Tech Debt (UX)

- [x] **UX-01**: After a new driver is uploaded on the printer form, the DriverDesc dropdown refreshes automatically (no manual page reload) — verified live in browser
- [x] **UX-02**: PRNT-03 Alpine.js IP→port auto-derivation is verified live in a real browser session, with the verification recorded in VALIDATION.md
- [x] **UX-03**: The printer detail page exposes direct download links for each generated script (install / uninstall / detect) in addition to the package export buttons

### Nyquist Validation Track (NYQ)

- [x] **NYQ-01**: All 7 v1.0 phases have a Nyquist-compliant `VALIDATION.md` (one observable check per success criterion, evidence cited, no hand-wavy "code looks right" entries)
- [ ] **NYQ-02**: A `.planning/milestones/v1.0-VALIDATION-INDEX.md` aggregates per-phase validation status with pass/fail and links to evidence
- [ ] **NYQ-03**: Any validation gaps surfaced during the Nyquist pass that block real usage are tracked as defects and either fixed in v1.1 or explicitly deferred with rationale

### Real-World Rollout (RWR)

- [x] **RWR-01**: ImpTune is deployed in its single Docker container to at least one real MSP environment serving real printers
- [x] **RWR-02**: At least one real printer deployment package generated by the deployed instance is pushed to endpoints (via Intune or NinjaRMM) end-to-end
- [x] **RWR-03**: Structured user feedback is captured from the deploying technician (what worked, what blocked, what's missing) in a `.planning/feedback/v1.1-rollout.md` document
- [x] **RWR-04**: Feedback items are triaged into: fix-in-v1.1, defer-to-v1.2, won't-do (with reasoning) — recorded in the same feedback document

## Future Requirements

Carried forward from v1.0 Out of Scope — no change.

## Out of Scope

| Feature | Reason |
|---------|--------|
| New product features (auth, monitoring, API push, mobile UI, i18n, audit log) | v1.1 is hardening-only; new capability work waits for v1.2+ |
| Refactoring storage / DB schema | v1.0 schema stable, no migration churn warranted |
| Performance optimization | No reported bottleneck; premature |
| Rewriting v1.0 phases that already pass real-world validation | Only fix what real-world validation breaks |

## Traceability

| Requirement | Phase | Status |
|-------------|-------|--------|
| RTVAL-01 | Phase 10 | Complete |
| RTVAL-02 | Phase 10 | Complete |
| RTVAL-03 | Phase 10 | Complete |
| RTVAL-04 | Phase 10 | Complete |
| RTVAL-05 | Phase 10 | Complete |
| UX-01    | Phase 9  | Complete |
| UX-02    | Phase 9  | Complete |
| UX-03    | Phase 9  | Complete |
| NYQ-01   | Phase 8  | Complete |
| NYQ-02   | Phase 8  | Pending |
| NYQ-03   | Phase 8  | Pending |
| RWR-01   | Phase 11 | Complete |
| RWR-02   | Phase 11 | Complete |
| RWR-03   | Phase 11 | Complete |
| RWR-04   | Phase 11 | Complete |

**Coverage:**
- v1.1 requirements: 15 total
- Mapped to phases: 15 ✓
- Unmapped: 0

---
*Requirements defined: 2026-04-13*
*Last updated: 2026-04-13 after v1.1 roadmap creation (Phases 8–11)*
