Skip to content

feat(bench): add zeph-bench crate scaffold and BenchmarkChannel #2828

@bug-ops

Description

@bug-ops

Description

Create the crates/zeph-bench/ workspace crate with the bench feature flag and implement BenchmarkChannel that satisfies zeph-core::Channel.

Part of epic #2827. See spec: .local/specs/zeph-bench/spec.md.

Scope

  • crates/zeph-bench/Cargo.toml with dependency on zeph-core, zeph-memory, zeph-llm, zeph-config
  • BenchmarkChannel struct implementing all Channel trait methods (headless: recv from scenario queue, send/send_chunk collect to buffer, confirm=auto-approve, elicit=auto-decline, supports_exit=false, all others no-op)
  • BenchError typed error enum via thiserror
  • Unit tests for channel behavior (recv drains queue, send accumulates response, recv returns None when queue empty)
  • Add bench feature to root Cargo.toml [features] (not included in full)
  • Add dep:zeph-bench and register in workspace dependencies

Acceptance Criteria

  • cargo build --features bench compiles with zero warnings
  • BenchmarkChannel::recv returns turns from an injected queue and None when exhausted
  • BenchmarkChannel::send and send_chunk accumulate response into an internal buffer readable by the harness
  • BenchmarkChannel::confirm returns Ok(true) without blocking
  • BenchmarkChannel::elicit returns Ok(Declined) without blocking
  • Unit tests pass
  • bench feature absent from full bundle

Metadata

Metadata

Assignees

Labels

P2High value, medium complexityenhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions