Files
ImpTune/.planning/milestones/v1.0-REQUIREMENTS.md
T
kawaandClaude Opus 4.6 7edd3a68a2 chore: complete v1.0 milestone
Archive v1.0 MVP: 7 phases, 13 plans, 27/27 requirements.

- Archive roadmap to milestones/v1.0-ROADMAP.md
- Archive requirements to milestones/v1.0-REQUIREMENTS.md
- Move milestone audit into milestones/
- Create MILESTONES.md with v1.0 entry
- Evolve PROJECT.md: move shipped requirements to Validated,
  update Context with stack/LOC, log Key Decisions with outcomes
- Collapse ROADMAP.md to one-line milestone summary
- Update STATE.md to shipped status
- Back-fill stale requirements-completed frontmatter on
  02-01, 04-01, 05-01, 06-01 SUMMARY.md files

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

6.0 KiB

Requirements Archive: v1.0 ImpTune MVP

Archived: 2026-04-13 (milestone shipped) Originally defined: 2026-04-10 Core Value: Generate a complete, working printer deployment package (script + drivers + icon) in minutes instead of manually scripting each printer setup.

This is a frozen snapshot of requirements as they stood at v1.0 completion. The working .planning/REQUIREMENTS.md will be recreated fresh for v1.1.

v1 Requirements — Final Status

27/27 satisfied. Audit re-ran 2026-04-13, status passed.

Driver Management

  • DRV-01: User can upload a driver package (ZIP containing INF + supporting files) — shipped Phase 2
  • DRV-02: System parses uploaded INF files and extracts valid driver names (DriverDesc) — shipped Phase 2
  • DRV-03: User can select driver name from parsed INF dropdown (no free-text) — shipped Phase 2
  • DRV-04: Driver packages are persisted on Docker volume across container restarts — shipped Phase 2
  • DRV-05: System flags unused files in driver packages to help reduce package size — shipped Phase 2

Printer Configuration

  • PRNT-01: User can set printer display name — shipped Phase 3
  • PRNT-02: User can set printer IP address or hostname — shipped Phase 3
  • PRNT-03: System auto-suggests port name from IP (user can override) — shipped Phase 3 (code verified, runtime browser verification pending — tech debt into v1.1)
  • PRNT-04: User can set duplex mode (one-sided, long-edge, short-edge) — shipped Phase 3
  • PRNT-05: User can set color vs. grayscale default — shipped Phase 3
  • PRNT-06: User can set paper size (A4, Letter, Legal at minimum) — shipped Phase 3
  • PRNT-07: User can set collate on/off — shipped Phase 3
  • PRNT-08: User can assign printer to a client/tenant label — shipped Phase 3
  • PRNT-09: Printer configurations are persisted in SQLite across sessions — shipped Phase 3
  • PRNT-10: User can regenerate a package from saved config without re-uploading drivers — shipped Phase 3

Script Generation

  • SCRPT-01: PowerShell install script (pnputil + Add-PrinterPort + Add-PrinterDriver + Add-Printer + Set-PrintConfiguration) — shipped Phase 4
  • SCRPT-02: PowerShell uninstall script (Remove-Printer + Remove-PrinterDriver + Remove-PrinterPort) — shipped Phase 4
  • SCRPT-03: Intune detection script — shipped Phase 4
  • SCRPT-04: Install script detects SYSTEM vs. user context and self-elevates via UAC — shipped Phase 4
  • SCRPT-05: Install script includes WOW64 64-bit relaunch guard for Intune's 32-bit execution context — shipped Phase 4

Package Export

  • PKG-01: User can export a complete .intunewin package — shipped Phase 5
  • PKG-02: .intunewin is generated natively in Python (no IntuneWinAppUtil.exe) — shipped Phase 5
  • PKG-03: User can export a NinjaRMM ZIP package — shipped Phase 5
  • PKG-04: User can upload a custom PNG icon and it is embedded in the .intunewin package — shipped Phase 5 + wired in Phase 6 (gap closure)
  • PKG-05: User can preview and copy Intune install/uninstall command strings before export — shipped Phase 5

Infrastructure

  • INFRA-01: Application runs as a single Docker container — shipped Phase 1
  • INFRA-02: Application has minimal runtime dependencies (no Node.js, no external DB) — shipped Phase 1

Out of Scope (v1.0 decisions — carry forward unless revisited)

Feature Reason
User authentication / logins Internal tool on private network; simplicity over security
Direct Intune API push Requires per-tenant OAuth, multi-tenant app registration — scope explosion
Direct NinjaRMM API push Same as Intune — keep the tool as a package generator
Real-time printer status / monitoring Requires SNMP polling and network access to client sites — different product
Universal Print integration Different deployment model, requires Azure subscription
Mobile / tablet UI Target users are at workstations; no validated demand
Multi-language / localization English only for v1; no demand signal
Full audit log / deployment history MSPs already have Intune/RMM logs

v2 Requirements (deferred — not touched in v1.0)

Bulk Operations

  • BULK-01: User can import multiple printers from CSV
  • BULK-02: User can export all printers for a client as a batch

Advanced Features

  • ADV-01: Package version history per printer
  • ADV-02: API / CLI mode for CI/CD integration
  • ADV-03: Print server migration path (Printbrm import)

Traceability (final)

Requirement Phase Status
INFRA-01 Phase 1 Complete
INFRA-02 Phase 1 Complete
DRV-01 Phase 2 Complete
DRV-02 Phase 2 Complete
DRV-03 Phase 2 Complete
DRV-04 Phase 2 Complete
DRV-05 Phase 2 Complete
PRNT-01 Phase 3 Complete
PRNT-02 Phase 3 Complete
PRNT-03 Phase 3 Complete (runtime verification pending)
PRNT-04 Phase 3 Complete
PRNT-05 Phase 3 Complete
PRNT-06 Phase 3 Complete
PRNT-07 Phase 3 Complete
PRNT-08 Phase 3 Complete
PRNT-09 Phase 3 Complete
PRNT-10 Phase 3 Complete
SCRPT-01 Phase 4 Complete
SCRPT-02 Phase 4 Complete
SCRPT-03 Phase 4 Complete
SCRPT-04 Phase 4 Complete
SCRPT-05 Phase 4 Complete
PKG-01 Phase 5 Complete
PKG-02 Phase 5 Complete
PKG-03 Phase 5 Complete
PKG-04 Phase 5 + Phase 6 Complete (Phase 6 gap closure)
PKG-05 Phase 5 Complete

Coverage:

  • v1 requirements: 27 total
  • Satisfied: 27
  • Unmapped: 0

Archived 2026-04-13 on v1.0 milestone completion. See .planning/milestones/v1.0-ROADMAP.md for phase details and .planning/milestones/v1.0-MILESTONE-AUDIT.md for audit report.