33 lines
1.6 KiB
Markdown
33 lines
1.6 KiB
Markdown
# Tasks: Driver Updates (WUfB Add-on) (018)
|
|
|
|
**Branch**: `feat/018-driver-updates-wufb`
|
|
**Date**: 2026-01-03
|
|
**Input**: [spec.md](./spec.md), [plan.md](./plan.md)
|
|
|
|
## Phase 1: Setup
|
|
- [x] T001 Create/confirm spec, plan, tasks, checklist.
|
|
|
|
## Phase 2: Research & Design
|
|
- [x] T002 Verify Graph resource + `@odata.type` for driver update profiles.
|
|
- [x] T003 Verify PATCHable fields and define `update_strip_keys` / `update_whitelist`.
|
|
- [x] T004 Verify assignment endpoints (`/assignments`, `/assign`) for this resource.
|
|
- [x] T005 Decide restore mode (`enabled` vs `preview-only`) based on risk + patchability.
|
|
|
|
## Phase 3: Tests (TDD)
|
|
- [x] T006 Add sync test ensuring `windowsDriverUpdateProfile` policies are imported and typed correctly.
|
|
- [ ] T007 Add snapshot/version capture test asserting full payload is stored.
|
|
- [ ] T008 Add restore preview test for this type (entries + restore_mode shown).
|
|
- [x] T009 Add restore execution test asserting only patchable properties are sent and failures are reported with Graph metadata.
|
|
- [x] T010 Add normalized display test for key fields.
|
|
|
|
## Phase 4: Implementation
|
|
- [x] T011 Add `windowsDriverUpdateProfile` to `config/tenantpilot.php`.
|
|
- [x] T012 Add Graph contract entry in `config/graph_contracts.php`.
|
|
- [ ] T013 Implement any required snapshot hydration (if Graph uses subresources).
|
|
- [x] T014 Implement restore apply support in `RestoreService` (contract-driven sanitization).
|
|
- [x] T015 Add a `WindowsDriverUpdateProfileNormalizer` and register it.
|
|
|
|
## Phase 5: Verification
|
|
- [x] T016 Run targeted tests.
|
|
- [x] T017 Run Pint (`./vendor/bin/pint --dirty`).
|