mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-05 08:10:39 +00:00
Partial Stage 6.1 migration of consumers off the legacy flat Settings shape to v2 SettingsFile. Commits the in-flight work so subsequent sessions can resume from here. Workspace currently does NOT build -- fabro-server still has ~60 consumer sites that reference state.settings as legacy Settings, and fabro-cli is entirely untouched. Landed in this commit: fabro-types - RunRecord.settings: Settings -> SettingsFile - RunCreatedProps.settings: Settings -> SettingsFile fabro-config - effective_settings: full rewrite. resolve_settings now returns SettingsFile; apply_server_defaults / apply_local_daemon_overrides are v2-native and use the v2 merge matrix for server-owned domains. - project::resolve_working_directory takes &SettingsFile and reads run.working_dir as an InterpString. fabro-workflow - start.rs, create.rs, source.rs, validate.rs, run_options.rs, git.rs, initialize.rs, manager_loop.rs all migrated to &SettingsFile reads. - resolve_sandbox_provider / resolve_worktree_mode / resolve_daytona_config / resolve_fallback_chain walk v2 trees using the bridge helper fns. - LifecycleOptions built from run_prepare_commands() / run_prepare_timeout_ms(). - Hooks built via bridge_hook on v2 HookEntry. - MCPs built via bridge_mcp_entry on v2 McpEntryLayer. - resolve_run_settings writes resolved model/provider back into run.model (InterpString), not the flat llm struct. - preprocess_and_validate pulls var expansion from run_inputs_as_strings. fabro-server/run_manifest.rs - PreparedManifest.settings -> SettingsFile. - prepare_manifest_with_mode takes &SettingsFile. - build_preflight_report / run_llm_check / resolve_model_provider / run_github_token_check / resolve_sandbox_provider / resolve_daytona_config all migrated. - Tests rewritten to use v2 fixtures via ConfigLayer::parse. fabro-server/server.rs - AppState.settings type changed to Arc<RwLock<SettingsFile>>. - github_app_credentials call site uses settings.github_app_id_str() accessor instead of the flat app_id(). Known remaining errors: - fabro-server/server.rs: ~60 state.settings.read() sites still reference legacy Settings fields (llm, sandbox, setup, git, etc.). - fabro-server/web_auth.rs: heavy git settings usage, tests. - fabro-server/serve.rs: state mutation of flat llm/sandbox fields. - fabro-server/diagnostics.rs: app_id / api auth strategies. - fabro-cli: manifest_builder, commands, tests all untouched. - Test fixtures across the workspace still construct Settings literals. - insta snapshots will need bulk-accept after the runtime shape stabilizes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| crates | ||
| packages/fabro-api-client | ||