Forward provider features so disabled crates add no work #66

Open
opened 2026-10-04 17:46:47 +00:00 by kayg · 0 comments
Owner

Problem and evidence

crates/agent/Cargo.toml:9-12 defaults to both providers, while crates/server/Cargo.toml:22,62 has unconditional Bollard and Docker dependencies and its infraternal-agent dependency does not disable default features. There is no top-level feature-forwarding matrix demonstrating that a disabled provider is absent from the dependency tree.

Recommendation

Forward provider features from the binary/server with default-features = false where appropriate. Remove the server's provider-only dependency/error bridge as compatibility callers move. Add disabled/default/selected-provider compile checks and dependency-tree assertions before claiming feature-off savings.

Payoff and estimate

Disabled providers add no native provider dependency or initialization work. Estimate: 1–2 engineering days after callers move; measure the feature-off build on the perf-test VM before reporting savings.

Priority: Next milestone (PLAN steps 3/8).

2026-10-04 owner decisions: Direct match: providers are compiled-in crates with zero cost when disabled. Performance numbers still require the perf-test-VM A/B. Related: #49.

Report: arch-review report
Source: arch-review 2026-10-04

## Problem and evidence `crates/agent/Cargo.toml:9-12` defaults to both providers, while `crates/server/Cargo.toml:22,62` has unconditional Bollard and Docker dependencies and its `infraternal-agent` dependency does not disable default features. There is no top-level feature-forwarding matrix demonstrating that a disabled provider is absent from the dependency tree. ## Recommendation Forward provider features from the binary/server with `default-features = false` where appropriate. Remove the server's provider-only dependency/error bridge as compatibility callers move. Add disabled/default/selected-provider compile checks and dependency-tree assertions before claiming feature-off savings. ## Payoff and estimate Disabled providers add no native provider dependency or initialization work. Estimate: 1–2 engineering days after callers move; measure the feature-off build on the perf-test VM before reporting savings. **Priority:** Next milestone (PLAN steps 3/8). **2026-10-04 owner decisions:** Direct match: providers are compiled-in crates with zero cost when disabled. Performance numbers still require the perf-test-VM A/B. Related: #49. **Report:** [arch-review report](/mnt/hdd/infraternal/jobs/arch-review/report.md) **Source: arch-review 2026-10-04**
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/infraternal-v0#66
No description provided.