Skip to content

Comments

refactor: remove 8 lightweight feature gates, make always-on (M26)#438

Merged
bug-ops merged 1 commit intomainfrom
feat/m26/simplify-feature-gates
Feb 17, 2026
Merged

refactor: remove 8 lightweight feature gates, make always-on (M26)#438
bug-ops merged 1 commit intomainfrom
feat/m26/simplify-feature-gates

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Feb 17, 2026

Summary

  • Remove feature gates for openai, compatible, orchestrator, router, self-learning, qdrant, vault-age, mcp — make these always-on
  • Collapse 3-way tool_executor construction in main.rs into a single block
  • Remove duplicate ToolExecutorBundleNoMcp and build_tool_executor impl from bootstrap.rs
  • Clean up ~90 cfg annotations across 5 crates (zeph-llm, zeph-skills, zeph-mcp, zeph-core, root)
  • Update deny.toml to remove reference to deleted feature
  • Remove dead #[cfg(feature = "self-learning")] from test module

22 files changed, 73 insertions(+), 346 deletions(-)

Default features reduced to []. Remaining gated: tui, candle, metal, cuda, discord, slack, a2a, index, gateway, daemon, scheduler, otel, mock.

Test plan

  • cargo clippy --workspace -- -D warnings
  • cargo clippy --workspace --features tui -- -D warnings
  • cargo nextest run --workspace --lib --bins (1483 passed)
  • Security audit: no new attack surface (MCP is client-only, vault-age runtime-gated)
  • Performance: +3.1 MB binary (+12%), +11 crates, acceptable tradeoff

Closes #436

Remove feature gates for openai, compatible, orchestrator, router,
self-learning, qdrant, vault-age, and mcp. These features added
conditional compilation complexity without significant dependency
savings — qdrant-client was already unconditional via zeph-memory,
rmcp is lightweight, and the rest were code-only modules.

Collapse 3-way tool_executor construction in main.rs into a single
block. Remove duplicate ToolExecutorBundleNoMcp and build_tool_executor
impl from bootstrap.rs. Clean up ~90 cfg annotations across 5 crates.

default features reduced to [] (empty). Remaining gated features:
tui, candle, metal, cuda, discord, slack, a2a, index, gateway,
daemon, scheduler, otel, mock.

22 files changed, -346/+73 lines. All 1483 tests pass.

Closes #436
@bug-ops bug-ops force-pushed the feat/m26/simplify-feature-gates branch from 218e4e2 to 34158a3 Compare February 17, 2026 13:51
@bug-ops bug-ops enabled auto-merge (squash) February 17, 2026 13:54
@bug-ops bug-ops merged commit 70beaab into main Feb 17, 2026
18 checks passed
@bug-ops bug-ops deleted the feat/m26/simplify-feature-gates branch February 17, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: simplify feature gates, make lightweight features always-on

1 participant