refactor(epic-1973): Extract experiments logic into zeph-experiments crate (Phase 1d)#2008
Merged
refactor(epic-1973): Extract experiments logic into zeph-experiments crate (Phase 1d)#2008
Conversation
…crate (Phase 1d) - New `zeph-experiments` crate at Layer 2 with ExperimentEngine, Evaluator, and all experiment-related types - Extracted: engine.rs, evaluator.rs, benchmark.rs, grid.rs, neighborhood.rs, random.rs, search_space.rs, snapshot.rs, types.rs, generator.rs, error.rs (3,958 LOC) - `zeph-core/src/experiments` replaced with thin re-export shim preserving all import paths (crate::experiments::*) - Feature flag `experiments` propagated to zeph-experiments; all public API preserved - Updated workspace Cargo.toml to include zeph-experiments - All 5,917 tests pass - CI checks pass: cargo +nightly fmt, cargo clippy, cargo nextest
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Completes Phase 1d of god-crate decomposition: extract ExperimentEngine and all experiment-related logic from zeph-core into new zeph-experiments Layer 2 crate.
Changes
New crate:
crates/zeph-experiments/(3,958 LOC extracted from zeph-core/src/experiments/)Modified files:
pub mod experiments { pub use zeph_experiments::* }) + integration testArchitecture
Layering (verified):
API Preservation: zeph-core re-exports all experiments symbols via public use, preserving 20+ import paths (crate::experiments::ExperimentEngine, etc.)
Validation
✅ Tester: 5,917/5,917 tests pass (no regressions)
✅ Code quality:
cargo +nightly fmt --check✓ |cargo clippy --workspace --features full -- -D warnings✓✅ Standalone build: zeph-experiments compiles independently
✅ Feature flags: experiments feature properly gated, mock features working
Quality Checks
cargo +nightly fmt --check✓cargo clippy --workspace --features full -- -D warnings✓cargo nextest run --config-file .github/nextest.toml --workspace --features full --lib --bins: 5,917/5,917 ✓Test Plan
crate::experiments::*Related