79 lines
4.4 KiB
Markdown
79 lines
4.4 KiB
Markdown
# 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)
|
||
- [x] **NYQ-02**: A `.planning/milestones/v1.0-VALIDATION-INDEX.md` aggregates per-phase validation status with pass/fail and links to evidence
|
||
- [x] **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 | 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)*
|