# Plan: Device Categories (Enrollment/Organization) (028) **Branch**: `feat/028-device-categories` **Date**: 2026-01-04 **Input**: [spec.md](./spec.md) ## Approach 1. Confirm Graph endpoints and patchable fields: - list: `GET /deviceManagement/deviceCategories` - create/update/delete supported 2. Add `deviceCategory` to `config/tenantpilot.php` under `foundation_types` (risk low, restore enabled). 3. Add contract entry in `config/graph_contracts.php` for foundations (resource + create/update methods). 4. Extend `FoundationSnapshotService` to fetch categories (list + per-item payload). 5. Extend `FoundationMappingService` and restore flow: - match by `displayName` - create missing 6. Add targeted Pest tests for foundation capture + restore. ## Decisions / Notes - This is modeled as a **foundation type** (captured automatically with backup sets), not a Policy inventory type.