mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-15 23:32:46 +00:00
refactor(config): delete unused legacy shim modules, document transitional seam
Stage 6 initial cleanup. Removes two fabro-config shim modules that no
longer hold any code and adds a module-level comment to
fabro-types/src/settings/mod.rs documenting the transitional seam
between the flat legacy Settings shape and the authoritative v2
namespaced schema in fabro_types::settings::v2.
Deleted:
- fabro-config/src/combine.rs: was a one-line re-export of
fabro_types::combine::Combine; nothing imports it anymore
- fabro-config/src/settings.rs: was reduced to a header comment
after Stage 3 replaced TryFrom<ConfigLayer> for Settings with
ConfigLayer::resolve via the v2 bridge
Stage 6 full deletion (legacy flat Settings type, the bridge, the
old settings/{hook,mcp,project,run,sandbox,server,user}.rs modules,
plus the Combine trait derive) is scheduled for a follow-up PR that
migrates every consumer call site from the flat settings.llm /
.vars / .sandbox / .setup / .hooks / .mcp_servers / .goal / .work_dir
/ .github / .git / .pull_request / .checkpoint / .artifacts fields to
the v2 SettingsFile tree. That touches ~128 call sites across ~15
files and is a mechanical but large follow-up; the current bridge is
the safe intermediate state.
This commit is contained in:
parent
dba10e5e99
commit
3dd3c7bf8b
4 changed files with 19 additions and 8 deletions
|
|
@ -1 +0,0 @@
|
|||
pub use fabro_types::combine::*;
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
extern crate self as fabro_config;
|
||||
|
||||
pub mod combine;
|
||||
pub mod config;
|
||||
pub mod effective_settings;
|
||||
pub mod home;
|
||||
|
|
@ -12,7 +11,6 @@ pub mod project;
|
|||
pub mod run;
|
||||
pub mod sandbox;
|
||||
pub mod server;
|
||||
pub mod settings;
|
||||
pub mod storage;
|
||||
pub mod user;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
//! Empty module retained for backwards-compatible imports.
|
||||
//!
|
||||
//! The legacy `TryFrom<ConfigLayer> for Settings` impl was replaced by
|
||||
//! [`crate::ConfigLayer::resolve`], which delegates to the v2 bridge in
|
||||
//! `fabro_types::settings::v2::bridge`. Stage 6 deletes this file entirely.
|
||||
|
|
@ -1,3 +1,22 @@
|
|||
//! Legacy flat `Settings` shape plus the v2 namespaced schema.
|
||||
//!
|
||||
//! The authoritative config schema lives in [`v2`] — it is the namespaced
|
||||
//! parse tree that `_version = 1` TOML files decode into. Value-language
|
||||
//! helpers, the merge matrix, and strict unknown-key validation all live
|
||||
//! there.
|
||||
//!
|
||||
//! The flat [`Settings`] type and its submodules (`hook`, `mcp`, `project`,
|
||||
//! `run`, `sandbox`, `server`, `user`) are the **resolved** shape that
|
||||
//! current consumers still read. `fabro_config::ConfigLayer::resolve` walks
|
||||
//! the v2 tree through [`v2::bridge::bridge_to_old`] to produce this flat
|
||||
//! shape, so every consumer that touches `settings.llm`, `settings.vars`,
|
||||
//! `settings.sandbox`, etc. keeps working.
|
||||
//!
|
||||
//! Full deletion of the flat shape (including the bridge) is scheduled for
|
||||
//! a follow-up PR that migrates every consumer call site to read from
|
||||
//! [`v2::SettingsFile`] directly. This module deliberately stays as a
|
||||
//! transitional seam until then.
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::path::PathBuf;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue