TenantAtlas/specs/027-enrollment-config-subtypes/tasks.md
ahmido 817ad208da feat/027-enrollment-config-subtypes (#31)
expose enrollment config subtypes as their own policy types (limit/platform restrictions/notifications) with preview-only restore risk and proper Graph contracts
classify enrollment configs by their @odata.type + deviceEnrollmentConfigurationType so sync only keeps ESP in windowsEnrollmentStatusPage and the rest stay in their own types, including new restore-normalizer UI blocks + warnings
hydrate enrollment notifications: snapshot fetch now downloads each notification template + localized messages, normalized view surfaces template names/subjects/messages, and restore previews keep preview-only behavior
tenant UI tweaks: Tenant list and detail actions moved into an action group; “Open in Entra” re-added in index, and detail now has “Deactivate” + tests covering the new menu layout and actions
tests added/updated for sync, snapshots, restores, normalized settings, tenant UI, plus Pint/test suite run

Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local>
Reviewed-on: #31
2026-01-04 13:25:15 +00:00

1.1 KiB

Tasks: Enrollment Configuration Subtypes (027)

Branch: feat/027-enrollment-config-subtypes
Date: 2026-01-04
Input: spec.md, plan.md

Phase 1: Setup

  • T001 Create spec/plan/tasks and checklist.

Phase 2: Research & Design

  • T002 Confirm @odata.type for each subtype and whether Graph supports assignments.
  • T003 Decide restore modes and risk levels.

Phase 3: Tests (TDD)

  • T004 Add sync tests ensuring each subtype is classified correctly.
  • T005 Add snapshot capture test for at least one subtype.
  • T006 Add restore preview test ensuring preview-only behavior.

Phase 4: Implementation

  • T007 Add new types to config/tenantpilot.php.
  • T008 Add contracts in config/graph_contracts.php (resource + type families).
  • T009 Update PolicySyncService enrollment classification logic.
  • T010 Add normalizer for readable UI output (key fields per subtype).
  • T013 Hydrate notification templates for enrollment notifications.

Phase 5: Verification

  • T011 Run targeted tests.
  • T012 Run Pint (./vendor/bin/pint --dirty).