Runtime and Maintainer Boundaries

Copy Markdown View Source

LLM DB is a read-mostly runtime catalog. Building, refreshing, publishing, and reconstructing that catalog are repository-maintainer workflows. This guide is the inventory and compatibility plan for keeping those two concerns separate.

Supported runtime surface

These modules are covered by the runtime compatibility policy:

ModulesOwnership
LLMDB, LLMDB.Model, LLMDB.Provider, LLMDB.SpecTyped catalog queries and model-spec handling
LLMDB.HistoryRead-only access to installed history artifacts
LLMDB.LoadErrorFirst-use catalog initialization failure
LLMDB.SnapshotVersioned snapshot artifact reading and writing
LLMDB.SourceSupported build-time source extension behaviour

Runtime implementation modules are internal even though they remain shipped:

ModulesOwnership
LLMDB.Catalog, LLMDB.Loader, LLMDB.Packaged, LLMDB.Query, LLMDB.RuntimeLazy loading, indexing, storage, and query execution
LLMDB.Config, LLMDB.ExecutionContract, LLMDB.Merge, LLMDB.Normalize, LLMDB.Pricing, LLMDB.Schema.PricingShared runtime normalization, filtering, execution inference, and pricing support
LLMDB.Generated.ProviderRegistry, LLMDB.Generated.ValidModalitiesGenerated bounded decode registries
LLMDB.Snapshot.ReleaseStore, LLMDB.Snapshot.SparseShared remote snapshot/history transport and schema-v2 sparse wire codec used by configured runtime readers and maintainer tasks

The internal module layout and raw map/index shapes are not compatibility contracts. Consumers should enter through LLMDB, LLMDB.History, or the versioned LLMDB.Snapshot format.

Supported tooling entry points

The supported command surface is the Mix task name, not the implementation module it currently calls:

TaskOwnership
mix llm_db.modelsRead-only catalog inspection
mix llm_db.installOptional Igniter-based consumer installation
mix llm_db.snapshot.fetchFetch/install a published snapshot
mix llm_db.pullMaintainer-only upstream synchronization and the sole automatic dotenv boundary
mix llm_db.build, mix llm_db.snapshot.buildMaintainer-only canonical snapshot build (snapshot.build is a supported alias)
mix llm_db.snapshot.publishMaintainer-only snapshot publication
mix llm_db.history.backfillDeprecated legacy Git-history backfill kept callable through the compatibility window
mix llm_db.history.migrate_gitOne-time migration to snapshot-store history
mix llm_db.history.rebuild, mix llm_db.history.sync, mix llm_db.history.checkPublished history maintenance
mix llm_db.versionMaintainer-only CalVer bump

The corresponding task modules are Mix.Tasks.LlmDb.Build, Mix.Tasks.LlmDb.History.Backfill, Mix.Tasks.LlmDb.History.Check, Mix.Tasks.LlmDb.History.MigrateGit, Mix.Tasks.LlmDb.History.Rebuild, Mix.Tasks.LlmDb.History.Sync, Mix.Tasks.LlmDb.Install, Mix.Tasks.LlmDb.Models, Mix.Tasks.LlmDb.Pull, Mix.Tasks.LlmDb.Snapshot.Build, Mix.Tasks.LlmDb.Snapshot.Fetch, Mix.Tasks.LlmDb.Snapshot.Publish, and Mix.Tasks.LlmDb.Version. Mix.Tasks.LlmDb.Install.Docs is an internal helper for the conditional install task.

Compatibility facades and direct tooling internals

No module or task is removed in this minor release.

Current direct callSupported replacementStatus
LLMDB.Application direct callbackRely on lazy queries; use LLMDB.load/1 for explicit loadingCompiler-deprecated for one minor release
LLMDB.Dotenv.load!/1mix llm_db.pullCompiler-deprecated; pull remains task-scoped
LLMDB.Store query callsEquivalent LLMDB query/load callsCompatibility facade; direct use is documentation-deprecated
LLMDB.Engine.run/1, LLMDB.Snapshot.Buildermix llm_db.buildDocumentation-deprecated maintainer orchestration
LLMDB.History.BackfillOne-time mix llm_db.history.migrate_git --publish, then mix llm_db.history.rebuild --publishCompiler- and runtime-deprecated; remains callable until no earlier than v2027.0.0
LLMDB.History.Migrator, LLMDB.History.Rebuilder, LLMDB.History.Bundle, LLMDB.History.Diff, LLMDB.History.LineageCorresponding mix llm_db.history.* taskDocumentation-deprecated maintainer orchestration with internal shared diff/lineage logic
LLMDB.Snapshot.ReleaseStore mutation/publishing callsmix llm_db.snapshot.publish or mix llm_db.history.rebuild --publishInternal shared transport; runtime fetch behavior remains supported through configuration
LLMDB.Enrich, LLMDB.Validate, LLMDB.Enrich.AzureWireProtocol, LLMDB.Enrich.RuntimeContractmix llm_db.buildInternal ETL stages
LLMDB.Sources.Anthropic, LLMDB.Sources.Google, LLMDB.Sources.Llmfit, LLMDB.Sources.Local, LLMDB.Sources.ModelsDev, LLMDB.Sources.OpenAI, LLMDB.Sources.OpenRouter, LLMDB.Sources.Remote, LLMDB.Sources.XAI, LLMDB.Sources.ZenmuxLLMDB.Source for extensions; mix llm_db.pull/build for workflowsInternal bundled adapters and shared remote transport

Documentation-only deprecation avoids warnings inside the still-supported task wrappers during the extraction window. It does not grant these modules a new public compatibility guarantee.

Dependency ownership

Every direct dependency remains available in this minor release:

DependencyCurrent owner and plan
zoiRuntime schemas and validation; remains required
jasonRuntime snapshot decoding plus tooling serialization; remains required
reqRemote release snapshot/history reads and maintainer source transport; remains required until remote transport is extracted or replaced
tomlMaintainer source ingestion; candidate for a companion tooling package, but remains required while tasks ship here
dotenvyDeprecated LLMDB.Dotenv facade and mix llm_db.pull; remains required through the compatibility window
igniterOptional install-task integration; remains optional
plug, meckTest-only dependencies
ex_doc, git_ops, git_hooks, usage_rulesDevelopment/release tooling with runtime: false where applicable
dialyxir, credoDevelopment/test quality tooling with runtime: false

Extraction and removal sequence

  1. This minor release documents the boundary, keeps every task/module working, and deprecates direct compatibility calls with concrete replacements.
  2. A later compatible release may introduce a companion package and have the existing Mix tasks delegate to it. Task names and options remain stable during that transition.
  3. After at least one minor deprecation window, the next major release may remove maintainer implementation modules and compatibility facades from the core package.
  4. LLMDB.Dotenv and core dotenvy can be removed only in that major release, after mix llm_db.pull owns an equivalent task-private or companion implementation.
  5. toml can move with source ingestion. req can leave the runtime dependency graph only after configured GitHub-release snapshot/history reads are moved behind an equivalent adapter or companion dependency.

The legacy mix llm_db.history.backfill task and LLMDB.History.Backfill functions may be removed no earlier than v2027.0.0, and only after at least one minor release has carried their actionable deprecation warnings. The maintained replacement is the one-time mix llm_db.history.migrate_git --publish seed followed by mix llm_db.snapshot.publish and mix llm_db.history.rebuild --publish for new observations.

Upstream synchronization never runs during application startup, lazy catalog initialization, explicit LLMDB.load/1, or queries. Provider credentials and dotenv parsing remain exclusively inside the maintainer pull workflow.