TenantAtlas/specs/014-enrollment-autopilot/tasks.md
ahmido 6a1809fbe9 014-enrollment-autopilot (#20)
This PR completes Feature 014 (Enrollment & Autopilot).

Adds normalization for:
Autopilot deployment profiles (windowsAutopilotDeploymentProfile)
Enrollment Status Page / ESP (windowsEnrollmentStatusPage)
Enrollment Restrictions (enrollmentRestriction, restore remains preview-only)
Improves settings readability:
Autopilot OOBE settings are expanded into readable key/value entries
Enrollment restriction platform restrictions are shown as explicit fields (with sensible defaults)
Array/list values render as badges (avoids Blade rendering crashes on non-string values)
Fixes enrollment configuration type collisions during sync:
Canonical type resolution prevents enrollmentRestriction from “claiming” ESP items
Safe reclassification updates existing wrong rows instead of skipping
Enhances reclassification command:
Can detect ESP even if a policy has no local versions (fetches snapshot from Graph)
Dry-run by default; apply with --write
Tests

Added/updated unit + Filament feature tests for normalization and UI rendering.
Preview-only enforcement for enrollment restrictions is covered.
Targeted test suite and Pint are green.

Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local>
Reviewed-on: #20
2026-01-02 11:59:21 +00:00

1.5 KiB

Tasks: Enrollment & Autopilot (014)

Branch: 014-enrollment-autopilot | Date: 2026-01-01 Input: spec.md, plan.md

Phase 1: Contracts Review

  • T001 Verify config/graph_contracts.php entries for:
    • windowsAutopilotDeploymentProfile
    • windowsEnrollmentStatusPage
    • enrollmentRestriction (resource, type_family, create/update methods, assignment paths/payload keys)
  • T002 Verify config/tenantpilot.php entries and restore modes:
    • Autopilot/ESP = enabled
    • Enrollment restrictions = preview-only

Phase 2: UI Normalization

  • T003 Add an EnrollmentAutopilotPolicyNormalizer (or equivalent) that produces readable normalized settings for the three policy types.
  • T004 Register the normalizer in the app container/provider (tag policy-type-normalizers).

Phase 3: Restore Safety

  • T005 Add a feature test verifying enrollmentRestriction restore is preview-only and skipped on execution (no Graph apply calls).

Phase 3b: Enrollment Configuration Type Collisions

  • T005b Fix ESP vs enrollment restriction collision on deviceEnrollmentConfigurations sync (canonical type resolution + safe reclassification).

Phase 4: Tests + Verification

  • T006 Add unit tests for normalized output (shape + stability) for the three policy types.
  • T007 Add Filament render tests for “Normalized settings” tab for the three policy types.
  • T008 Run targeted tests.
  • T009 Run Pint (./vendor/bin/pint --dirty).

Open TODOs (Follow-up)

  • None.