# Tasks: Administrative Templates (Group Policy Configurations) (010) **Branch**: `feat/010-admin-templates` | **Date**: 2025-12-29 **Input**: [spec.md](./spec.md), [plan.md](./plan.md) ## Phase 1: Contracts + Snapshot Hydration - [x] T001 Extend `config/graph_contracts.php` for `groupPolicyConfiguration` (hydration/subresources metadata). - [x] T002 Hydrate `definitionValues` (+ `presentationValues`) in `app/Services/Intune/PolicySnapshotService.php`. ## Phase 2: Restore (Definition Values) - [x] T003 Implement restore apply for `definitionValues` and `presentationValues` in `app/Services/Intune/RestoreService.php`. ## Phase 3: UI Normalization - [x] T004 Add `GroupPolicyConfigurationNormalizer` and register it (Policy “Normalized settings” is readable). - [x] T009 Make `Normalized diff` labels readable for `groupPolicyConfiguration` and `settingsCatalogPolicy`. - [x] T010 Ensure restore-created versions keep assignments + show scope tags independently. - [x] T012 Add “Restore to Intune” from a specific PolicyVersion (rollback) + show policy version numbers in restore selection UI. ## Phase 4: Tests + Verification - [x] T005 Add tests for hydration + UI display. - [x] T006 Add tests for restore definitionValues apply. - [x] T007 Run tests (targeted). - [x] T008 Run Pint (`./vendor/bin/pint --dirty`). - [x] T011 Fix Admin Templates hydration paging (`@odata.nextLink`) and add coverage. ## Open TODOs (Follow-up) - [ ] Improve Admin Templates value formatting to better match Intune UI (presentation values / multi-value rendering). - [ ] Add a small “snapshot completeness” indicator (e.g., definitionValues count) to reduce confusion when older/incomplete snapshots exist. - [ ] Implement remaining Windows “Templates” profile types (separate policy types/odata subtypes; new specs per type).