Skip to content

refactor(build): promote task-metrics, self-check, env-vault to always-on#3661

Merged
bug-ops merged 1 commit into
mainfrom
feat/m27/3660-expand-default-features
May 7, 2026
Merged

refactor(build): promote task-metrics, self-check, env-vault to always-on#3661
bug-ops merged 1 commit into
mainfrom
feat/m27/3660-expand-default-features

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented May 7, 2026

Summary

  • Promotes three lightweight feature flags to always-on by removing the flags entirely: task-metrics, self-check, env-vault
  • Simplifies default from 5 flags to ["scheduler", "sqlite"]
  • Adds sqlite explicitly to full (was relying on default)
  • Cleans up ~43 #[cfg] annotations and 3 stale doc-comments

Analysis

Full feature-by-feature analysis performed before implementation:

  • task-metrics: 2 lightweight deps (cpu-time, metrics) already in default; zero functional change
  • self-check: zero external deps, 8 cfg sites, pure quality pipeline code
  • env-vault: zero external deps, EnvVaultProvider is a ~25-line env-var reader always safe to compile

Breaking changes

The env-vault, self-check, and task-metrics feature flags are removed from zeph-vault, zeph-core, zeph-agent-context, and zeph-common. Downstream consumers must remove these flags from their Cargo.toml.

Test plan

  • cargo nextest run --workspace --lib --bins — 8934 tests pass
  • cargo nextest run --workspace --lib --bins --features full — 9327 tests pass
  • cargo +nightly fmt --check clean
  • cargo clippy --workspace --lib --bins -- -D warnings clean
  • cargo deny check advisories clean (1 pre-existing RUSTSEC-2025-0134 in ignore list)
  • No new transitive dependencies (Cargo.lock unchanged)

Closes #3659

…s-on

Remove three lightweight feature flags that were already in the default
build and have zero or trivial external dependencies. This eliminates
three feature propagation chains and ~43 #[cfg] annotations across the
workspace.

Changes:
- task-metrics: removed from zeph-common, zeph-core; cpu-time and
  metrics deps are now non-optional
- self-check: removed from zeph-agent-context, zeph-core; quality
  pipeline always compiled
- env-vault: removed from zeph-vault, zeph-core; EnvVaultProvider
  always compiled
- default simplified from 5 flags to ["scheduler", "sqlite"]
- full now includes sqlite explicitly (was implicit via default)
- specs 001, 029, 039, 046, 049 updated to reflect always-on status

BREAKING CHANGE: the env-vault, self-check, and task-metrics feature
flags are removed from all published crates. Downstream consumers must
remove these flags from their Cargo.toml dependencies.

Closes #3659
@github-actions github-actions Bot added documentation Improvements or additions to documentation rust Rust code changes core zeph-core crate dependencies Dependency updates labels May 7, 2026
@bug-ops bug-ops enabled auto-merge (squash) May 7, 2026 20:07
@github-actions github-actions Bot added refactor Code refactoring without functional changes size/M Medium PR (51-200 lines) labels May 7, 2026
@bug-ops bug-ops merged commit 9091e4a into main May 7, 2026
36 checks passed
@bug-ops bug-ops deleted the feat/m27/3660-expand-default-features branch May 7, 2026 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core zeph-core crate dependencies Dependency updates documentation Improvements or additions to documentation refactor Code refactoring without functional changes rust Rust code changes size/M Medium PR (51-200 lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: simplify feature gates — promote task-metrics, self-check, env-vault to always-on

1 participant