Migration

Schema versioning with chained migration functions. Auto-backup before migration. Validator ensures configs conform to the current schema before commit.

Migration Pipeline

graph TD LOAD["Load YAML"] --> DET{"schema_version<br/>< current?"} DET -->|yes| BAK["backup_before_migration()"] BAK --> CHAIN["Chain migrations<br/>through every prior schema version"] CHAIN --> VAL["Validator.validate()"] DET -->|no| VAL VAL --> CHK["check_required_fields()"] CHK --> DES["deserialize&lt;T&gt;()"] DES --> GIT["Commit to Git"]

Migration Registration

FieldTypeDescription
from_versionu32Source schema version
to_versionu32Target schema version
functionfn(Value) -> Result<Value>Transform function
description&'static strHuman-readable description

Validation Errors

ErrorDetail
ParseErrorYAML parse failure with path and line number
MissingFieldRequired field absent at path
TypeErrorExpected type vs actual type at path

Config Models

  • LayoutConfig — schema_version + LayoutDefinition (tree, sizes, active_pane)
  • AppStateConfig — schema_version + ThemeSettings + SidebarSettings + RenderingSettings + MonitoringSettings

Questions?

Reach out for help with integration, deployment, or custom domain codecs.