4.4 KiB
4.4 KiB
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)
- RTVAL-01: A generated
.intunewinpackage is uploaded to a real Microsoft Intune tenant and accepted (no format errors), with byte-level conformance confirmed against tenant ingestion - RTVAL-02: A generated install script runs successfully under SYSTEM context on a real Intune-managed Windows endpoint, with
pnputildriver staging and$PSScriptRootpath resolution verified - RTVAL-03: Generated detect script returns the expected exit code on a real endpoint after install (Intune detection rule succeeds)
- RTVAL-04: Uninstall script removes the printer cleanly under SYSTEM context on a real endpoint
- 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)
- 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
- 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
- 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)
- 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.mdaggregates 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)
- RWR-01: ImpTune is deployed in its single Docker container to at least one real MSP environment serving real printers
- 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
- 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.mddocument - 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 | Complete |
| NYQ-03 | Phase 8 | Complete |
| 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)