omnigraph/crates
Ragnor Comerford d3ebc29c05
feat(config): layered merge engine + per-field provenance
Add merge_layers(Vec<LoadedLayer>) -> (OmnigraphConfig, Provenance): folds parsed
config layers low->high into one merged config plus a dotted-path origin map.
Settings-objects deep-merge per leaf (a higher layer's Some/non-empty wins, None
inherits); named-resource maps (servers/graphs/aliases/queries) union by key with
a higher layer's entry replacing the lower wholesale (no intra-entry bleed); lists
and scalars replace. Provenance is a sorted BTreeMap side-table, so the merged
OmnigraphConfig shape and all its accessors stay unchanged — only config view reads
it. Pure structure: every layer is already version-gated and path-resolved before
merge. Not yet wired into loading.
2026-06-05 11:19:53 +02:00
..
omnigraph style: apply rustfmt across the workspace 2026-06-03 15:48:47 +02:00
omnigraph-api-types style: apply rustfmt across the workspace 2026-06-03 15:48:47 +02:00
omnigraph-cli refactor(config): remove top-level policy:/queries: under v1 2026-06-04 21:43:03 +02:00
omnigraph-compiler fix(optimize): skip blob-bearing tables to avoid Lance compaction crash (#138) 2026-06-02 17:12:00 +02:00
omnigraph-config feat(config): layered merge engine + per-field provenance 2026-06-05 11:19:53 +02:00
omnigraph-policy fix(optimize): skip blob-bearing tables to avoid Lance compaction crash (#138) 2026-06-02 17:12:00 +02:00
omnigraph-queries style: apply rustfmt across the workspace 2026-06-03 15:48:47 +02:00
omnigraph-server refactor(config,cli,server): rename the server: config block to serve: 2026-06-04 21:38:25 +02:00