sim-config
sim-config is the Table and Dir substrate for layered SIM configuration. It
keeps configuration as kernel Expr::Map data, merges layers with provenance,
binds shape-checked defaults, offers typed read views, and builds safe
per-library config paths.
It does not introduce a private config value model. Decoders, bootloaders,
probes, and explicit overrides all produce the same ConfigDir shape, then
callers merge those Dirs from built-in defaults through the highest-precedence
process override.
What it provides
ConfigTablefor one library's map-valued table.ConfigDirfor a library-id-to-table Dir.ConfigLayer,EffectiveConfig,MergeTrace, andmerge_layers.- Merge rules for scalar replacement, nested table overlays, id-keyed repeated table replacement, and absent-field preservation.
ConfigShapeandLibConfigDefaultsfor shape-backed defaults, unknown-field reports, and secret-field metadata.ConfigViewtyped accessors over table fields.ConfigRootsandlib_config_pathfor root selection and safelibs/<lib-id>.tomlpaths.
Example
use ;
use Symbol;
use ;
let lib = qualified;
let built_in = one?;
let work = one?;
let effective = merge_layers;
assert!;
# Ok::