# Quickstart: Foundations in Inventory (047) ## Goal Verify that foundations are synced as `InventoryItem` records when `include_foundations=true`, and are not synced when `include_foundations=false`. ## Preconditions - Local dev via Sail is running. - You have at least one tenant configured with valid Graph credentials. ## Steps 1. Run an inventory sync with foundations enabled - Use the Inventory UI sync button (Spec 046) with `include_foundations=true`, or run the relevant flow in your preferred admin path. 2. Confirm foundation nodes exist - In Inventory Items, filter `Category = Foundations`. - Confirm you can find: - Scope tags (`roleScopeTag`) - Assignment filters (`assignmentFilter`) - Notification templates (`notificationMessageTemplate`) 3. Confirm coverage shows both matrices - Open Inventory → Coverage. - Confirm both headings are present: “Policies” and “Foundations”. 4. Confirm name resolution (Spec 042.2) - Open a policy that references scope tags or assignment filters. - In the Dependencies section, confirm targets render with resolved display names sourced from local inventory. ## Troubleshooting - If foundation types do not appear, confirm they exist in `config('tenantpilot.foundation_types')` and have Graph contracts in `config/graph_contracts.php`. - If UI doesn’t reflect changes, rebuild assets if needed (`npm run dev` / `composer run dev`) and confirm cache is cleared.