# Data Model And Migration Boundaries ## Naming Model - Internal canonical naming uses `Machine` and `Part`. - API/UI compatibility keeps `asset` and `component` terminology where already exposed. - In domain aliases: - `type Asset = Machine` - `type Component = Part` ## Core Persistence Areas - Asset registry: `machines` - Component registry: `parts` - Installations: `installations` - Observations: `observations` - Timeline: `timeline_events` - Failures: `failure_events` - Asset firmware state: `machine_firmware_states` Out of active model: - `projects` is legacy and not used by runtime handlers/contracts. ## Migration Policy - Migrations are stored in `migrations/`. - Schema migrations are applied at startup. - Legacy entities removed in migration `0016_remove_legacy_features` remain out of active scope.