feat(common): Policy load_from_dir + save_local with last-wins merge
Lands plan tasks 2.3 (single-file load), 2.4 (multi-file merge cases — last-wins, lex order, non-conf skip, missing-dir default), and 2.5 (save_local preserves sibling files) as one logical unit. - load_from_dir: reads *.conf in lex-ascending order, parses TOML, merges via last-wins on stack key, storage block, and firstrun block. Missing dir yields Policy::default(). Non-.conf entries silently skipped. - save_local: writes 50-local.conf with toml::to_string_pretty; never reads or removes siblings. Created via create_dir_all. - 6 parse tests added: load_single_file, last_file_wins_on_overlap, lex_order_not_filesystem_order, ignores_non_conf_files, missing_dir_yields_default, save_local_preserves_sibling_files.
This commit is contained in:
@@ -10,3 +10,6 @@ serde_json = { workspace = true }
|
||||
toml = { workspace = true }
|
||||
thiserror = { workspace = true }
|
||||
zvariant = { workspace = true }
|
||||
|
||||
[dev-dependencies]
|
||||
tempfile = { workspace = true }
|
||||
|
||||
Reference in New Issue
Block a user