mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-05 08:10:39 +00:00
Stage 2 of the settings TOML redesign. Completes the v2 resolved settings tree and adds a temporary internal bridge so callers can migrate incrementally during stages 3 and 4. - run subtree: model (with splice-aware fallbacks), git author, prepare steps (script xor command), execution (mode, approval, retros as positive-form), checkpoint, sandbox (with local/daytona provider leaves and sticky env), notifications (keyed routes with slack/discord/teams subtables), interviews (provider + subtables), agent (permissions + mcps map), hooks (id-aware ordered list), scm (with github leaf), pull_request, artifacts - cli subtree: target (http/unix), auth (strategy), exec (model, agent, prevent_idle_sleep), output (format, verbosity), updates, logging - server subtree: listen (tcp/unix with tls), api, web, auth (api jwt/mtls, web providers), storage, artifacts (local/s3 provider leaves), slatedb (local/s3 provider leaves), scheduler, logging, integrations (github/slack/discord/teams) - closed ObjectStoreProvider enum so unknown providers hard-fail schema validation - provider-specific subtables use enumerated known providers rather than flatten+HashMap so strict deny_unknown_fields still holds - bridge module (settings::v2::bridge) with bridge_to_old() mapping the v2 resolved tree back to the legacy flat Settings shape for fields that current consumers read. Env interpolation emits raw source form; resolution is a Stage 3 concern - representative_full_tree_parses integration test exercises the canonical example from the brainstorm document end-to-end - 140 tests passing; workspace clippy-clean under -D warnings |
||
|---|---|---|
| .. | ||
| crates | ||
| packages/fabro-api-client | ||