shepherd-registry 6.4.5

The shepherd registry: the SQLite schema, migration runner, and query surface that every harness reads directly.
/*
    Appellation: embedded <module>
    Contrib: @FL03
*/
//! Compile-time-embedded registry schema SQL.
//!
//! The 21 files under this module's `sql/` directory are the one schema
//! authority. `include_str!` packages them with the Rust crate so the native
//! CLI, component, and language adapters cannot drift through copied schemas.

/// The baseline schema (`sql/0001_init.sql`). Applied
/// FIRST, before any migration -- it creates `schema_versions` itself and
/// self-inserts its own `(1, unixepoch(), 'baseline-v5.0.0')` row, so
/// [`super::runner::apply_all`] never records version 1 a second time.
/// `0001_init.sql` sits at the schema-dir TOP LEVEL, outside `migrations/`,
/// and is applied before the ordered migration sequence.
pub(super) const INIT_SQL: &str = include_str!("sql/0001_init.sql");

/// One vendored migration file.
pub(super) struct Migration {
    /// The 4-digit version this migration advances `schema_versions` to.
    pub(super) version: u32,
    /// The source filename, used in error messages so a failure names the
    /// exact file in native diagnostics.
    pub(super) filename: &'static str,
    /// The verbatim SQL text.
    pub(super) sql: &'static str,
}

/// Every migration under `sql/migrations/`
/// (`0002_styles.sql` .. `0021_spawn_lead.sql`), in filename (== version)
/// order. `0001_init.sql` is NOT here:
/// it sits outside `migrations/` and is [`INIT_SQL`] above.
pub(super) const MIGRATIONS: &[Migration] = &[
    Migration {
        version: 2,
        filename: "0002_styles.sql",
        sql: include_str!("sql/migrations/0002_styles.sql"),
    },
    Migration {
        version: 3,
        filename: "0003_canonical_types_filter.sql",
        sql: include_str!("sql/migrations/0003_canonical_types_filter.sql"),
    },
    Migration {
        version: 4,
        filename: "0004_fts_search.sql",
        sql: include_str!("sql/migrations/0004_fts_search.sql"),
    },
    Migration {
        version: 5,
        filename: "0005_watch_paths.sql",
        sql: include_str!("sql/migrations/0005_watch_paths.sql"),
    },
    Migration {
        version: 6,
        filename: "0006_cache_telemetry.sql",
        sql: include_str!("sql/migrations/0006_cache_telemetry.sql"),
    },
    Migration {
        version: 7,
        filename: "0007_canonical_state.sql",
        sql: include_str!("sql/migrations/0007_canonical_state.sql"),
    },
    Migration {
        version: 8,
        filename: "0008_worktrees.sql",
        sql: include_str!("sql/migrations/0008_worktrees.sql"),
    },
    Migration {
        version: 9,
        filename: "0009_locks_mode_sprint.sql",
        sql: include_str!("sql/migrations/0009_locks_mode_sprint.sql"),
    },
    Migration {
        version: 10,
        filename: "0010_sprint_metrics.sql",
        sql: include_str!("sql/migrations/0010_sprint_metrics.sql"),
    },
    Migration {
        version: 11,
        filename: "0011_mem_entries_prior_kind.sql",
        sql: include_str!("sql/migrations/0011_mem_entries_prior_kind.sql"),
    },
    Migration {
        version: 12,
        filename: "0012_loop_state.sql",
        sql: include_str!("sql/migrations/0012_loop_state.sql"),
    },
    Migration {
        version: 13,
        filename: "0013_focus.sql",
        sql: include_str!("sql/migrations/0013_focus.sql"),
    },
    Migration {
        version: 14,
        filename: "0014_compile_runs.sql",
        sql: include_str!("sql/migrations/0014_compile_runs.sql"),
    },
    Migration {
        version: 15,
        filename: "0015_struct_shapes.sql",
        sql: include_str!("sql/migrations/0015_struct_shapes.sql"),
    },
    Migration {
        version: 16,
        filename: "0016_mailbox_kind_relax.sql",
        sql: include_str!("sql/migrations/0016_mailbox_kind_relax.sql"),
    },
    Migration {
        version: 17,
        filename: "0017_focus_lane.sql",
        sql: include_str!("sql/migrations/0017_focus_lane.sql"),
    },
    Migration {
        version: 18,
        filename: "0018_eval_runs.sql",
        sql: include_str!("sql/migrations/0018_eval_runs.sql"),
    },
    Migration {
        version: 19,
        filename: "0019_teammate_declared_state.sql",
        sql: include_str!("sql/migrations/0019_teammate_declared_state.sql"),
    },
    Migration {
        version: 20,
        filename: "0020_drop_mailbox.sql",
        sql: include_str!("sql/migrations/0020_drop_mailbox.sql"),
    },
    Migration {
        version: 21,
        filename: "0021_spawn_lead.sql",
        sql: include_str!("sql/migrations/0021_spawn_lead.sql"),
    },
];