# 009 — Presets / profiles ## Summary Implement presets ("profiles") that track parsing/indexing rules (param + metric declarations) and stored dashboards, so restarting ottyl against a given CLI app doesn't lose that configuration. ## Scope - Profile = a named bundle of: param declarations ([001](001-param-declarations.md)), metric declarations ([002](002-metric-declarations.md)), and saved dashboards ([014](014-dashboards-ui.md), once it exists — can stub the dashboard field until then). - Persisted under the settings storage location from [008](008-settings-model.md); settings reference which profile(s) exist / which is active. - On startup, load the active profile's param/metric declarations into the engine before ingestion starts (or apply-and-backfill if logs arrive before load completes — define the ordering explicitly). - CRUD for profiles, exposed later via NavMenu UI ([011](011-navmenu-ui.md)). ## Acceptance criteria - Declaring params/metrics through a profile, restarting the process, and re-running the same CLI command reproduces the same bucket derivation without re-declaring anything. - Multiple profiles can exist; switching the active profile changes which declarations are loaded on next start. ## Depends on - [008 — Settings model](008-settings-model.md) - [002 — Metric declarations](002-metric-declarations.md)