fabro/lib/crates
Bryan Helmkamp 74834c31a0 refactor(settings): stage 6.3b shrink server runtime types + delete Combine
Prunes `fabro-types/src/settings/server.rs` down to just the three
types that still have live consumers:

- `ApiAuthStrategy` — used by `fabro-server::jwt_auth::resolve_auth_mode_with_lookup`
- `TlsSettings` — used by `fabro-server::tls::*` and the mTLS integration test
- `ApiSettings` — the shim struct built by
  `fabro-server::serve::build_legacy_api_settings` so the pre-v2
  `resolve_auth_mode_with_lookup` signature still compiles

Deletes the rest as dead code (all unreferenced in the workspace):
`AuthProvider`, `AuthSettings`, `GitProvider`, `GitSettings`,
`GitAuthorSettings`, `WebSettings`, `WebhookSettings`,
`WebhookStrategy`, `SlackSettings`, `FeaturesSettings`, `LogSettings`,
`ArtifactStorageBackend`, `ArtifactStorageSettings`. Trims the
`ApiSettings` struct itself to just the two fields the auth resolver
reads; drops the never-used `base_url` field and the
`build_legacy_api_settings` lines that were computing it.

Drops `pub use settings::{ArtifactStorageBackend, ArtifactStorageSettings}`
from `fabro-types/src/lib.rs`.

Also deletes the dead `Combine` trait machinery alongside its only
remaining consumers:

- `lib/crates/fabro-types/src/combine.rs` — deleted.
- `pub mod combine;` / `pub use fabro_macros::Combine;` removed from
  `fabro-types/src/lib.rs`.
- `#[proc_macro_derive(Combine)] fn derive_combine` — deleted from
  `fabro-macros/src/lib.rs` along with its `syn::{Data, DeriveInput,
  Fields}` imports. The `e2e_test` proc-macro is untouched.

The seven legacy runtime type modules
(`hook`, `mcp`, `project`, `run`, `sandbox`, `user`, plus now the
bulk of `server`) are effectively all gone. Only a tiny `server.rs`
remains as a transitional home for the three auth-resolver types
until Stage 6.6g rewrites `resolve_auth_mode_with_lookup` to walk
the v2 `server.auth.api` subtree directly.

3,758 workspace tests pass. `cargo fmt --check --all` and
`cargo clippy --workspace -- -D warnings` are clean.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 18:27:46 -04:00
..
fabro-agent refactor(settings): stage 6.3b promote user runtime types into consumers 2026-04-09 17:59:49 -04:00
fabro-api fix(api): resolve build spec path at runtime 2026-04-07 23:05:07 -04:00
fabro-checkpoint refactor(settings): stage 6.3b promote user runtime types into consumers 2026-04-09 17:59:49 -04:00
fabro-cli refactor(settings): stage 6.3b promote mcp runtime types into fabro-mcp 2026-04-09 18:12:00 -04:00
fabro-config refactor(settings): stage 6.3b promote hook + project runtime types 2026-04-09 18:07:04 -04:00
fabro-core feat: embed fabro spa and align interruption semantics 2026-04-08 14:43:44 -04:00
fabro-devcontainer refactor(workspace): satisfy clippy all-targets warnings 2026-04-05 14:37:32 -04:00
fabro-github refactor(cli): make run-adjacent commands server-only 2026-04-06 06:12:16 -04:00
fabro-graphviz Clean up workspace clippy warnings 2026-03-30 11:27:25 -04:00
fabro-hooks refactor(settings): stage 6.3b promote hook + project runtime types 2026-04-09 18:07:04 -04:00
fabro-interview feat: embed fabro spa and align interruption semantics 2026-04-08 14:43:44 -04:00
fabro-llm feat: embed fabro spa and align interruption semantics 2026-04-08 14:43:44 -04:00
fabro-macros refactor(settings): stage 6.3b shrink server runtime types + delete Combine 2026-04-09 18:27:46 -04:00
fabro-mcp refactor(settings): stage 6.3b promote mcp runtime types into fabro-mcp 2026-04-09 18:12:00 -04:00
fabro-model fix(clippy): restore workspace lint cleanups after main merge 2026-04-07 18:01:53 -04:00
fabro-oauth refactor(workspace): satisfy clippy all-targets warnings 2026-04-05 14:37:32 -04:00
fabro-proc feat(run): harden server-supervised worker lifecycle 2026-04-07 07:59:35 -04:00
fabro-retro Merge remote-tracking branch 'origin/main' 2026-04-07 15:24:07 -04:00
fabro-sandbox refactor(settings): stage 6.3b promote sandbox runtime types into fabro-sandbox 2026-04-09 18:17:06 -04:00
fabro-server refactor(settings): stage 6.3b shrink server runtime types + delete Combine 2026-04-09 18:27:46 -04:00
fabro-slack fix(clippy): restore workspace lint cleanups 2026-04-07 20:40:02 -04:00
fabro-spa feat: embed fabro spa and align interruption semantics 2026-04-08 14:43:44 -04:00
fabro-store refactor(settings): stage 6.3b delete legacy flat Settings struct 2026-04-09 17:32:03 -04:00
fabro-telemetry fix(home): migrate all runtime consumers to use Home 2026-04-06 13:36:43 -04:00
fabro-test test(migration): land final Stage 4 fixes — 100% workspace tests green 2026-04-09 11:07:18 -04:00
fabro-tracker fix(test): remove hidden HTTP client startup overhead 2026-04-04 21:25:51 -04:00
fabro-types refactor(settings): stage 6.3b shrink server runtime types + delete Combine 2026-04-09 18:27:46 -04:00
fabro-util refactor(home): move Home to fabro-util so all crates can share it 2026-04-06 13:08:35 -04:00
fabro-validate Add publish = false to all crates to prevent accidental crates.io publish 2026-03-29 13:47:09 -04:00
fabro-workflow refactor(settings): stage 6.3b promote run runtime types + delete to_runtime 2026-04-09 18:21:59 -04:00