# 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.

