* feat: consolidate offline eval and operator workflows
Compose the retained framework, operator skill, roadmap and cleanup ranges on current main. Preserve current release dependencies and keep candidate execution disabled pending OS containment. Repair draft/DOCX behavior, obligation uniqueness, trusted send and audience guidance, runner provenance and eval diagnostics.
Source-PR: 2930 0abe3727d2b500c6e4830bdeb47ed67cae3f4785
Source-PR: 2931 992b49c44ed872def49675b791168b8fcd091df6
Source-PR: 2932 4a193dd13041cb7a6bebf4d2e910a0cd32bcc797
Source-PR: 2933 59cdfe500a91949ba1415f1edd7279620f21e804
Source-Base: ca185ef5f7
* fix: repair foundation CI and update js-yaml
* fix: reconcile pending-delete capsule locks after close
---------
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
ECC 2.0 Alpha
ecc2/ is the current Rust-based ECC 2.0 control-plane scaffold.
It is usable as an alpha for local experimentation, but it is not the finished ECC 2.0 product yet.
What Exists Today
- terminal UI dashboard
- session store backed by SQLite
- session start / stop / resume flows
- background daemon mode
- observability and risk-scoring primitives
- worktree-aware session scaffolding
- basic multi-session state and output tracking
What This Is For
ECC 2.0 is the layer above individual harness installs.
The goal is:
- manage many agent sessions from one surface
- keep session state, output, and risk visible
- add orchestration, worktree management, and review controls
- support Claude Code first without blocking future harness interoperability
Current Status
This directory should be treated as:
- real code
- alpha quality
- valid to build and test locally
- not yet a public GA release
Open issue clusters for the broader roadmap live in the main repo issue tracker under the ecc-2.0 label.
Run It
From the repo root:
cd ecc2
cargo run
Useful commands:
# Launch the dashboard
cargo run -- dashboard
# Start a new session
cargo run -- start --task "audit the repo and propose fixes" --agent claude --worktree
# List sessions
cargo run -- sessions
# Inspect a session
cargo run -- status latest
# Stop a session
cargo run -- stop <session-id>
# Resume a failed/stopped session
cargo run -- resume <session-id>
# Run the daemon loop
cargo run -- daemon
Bounded Harness Evaluation
ECC2 now has an operator-driven configuration registry and promotion gate. Candidate JSON is canonicalized and addressed by its SHA-256 digest, with immutable trace/evidence references. Evaluation uses the same explicit unique seeds for candidate and active baseline through a pluggable Rust trait. The CLI exposes only a deterministic local recorded-measurements evaluator; it makes no network or process calls.
cargo run -- harness-eval record --config candidate.json --trace-ref trace://run-1 --evidence-ref evidence://review-1
cargo run -- harness-eval activate-initial <sha256> --evidence-ref evidence://baseline-approval
cargo run -- harness-eval run --candidate <sha256> --baseline <sha256> --seed 1 --seed 2 --measurements measurements.json --evidence-ref evidence://evaluation-1 --min-samples 2 --min-mean-delta 0.05 --min-win-rate 0.5
cargo run -- harness-eval audit
measurements.json contains {"evaluator":"recorded-v1","scores":{"<candidate>":{"1":0.9},"<baseline>":{"1":0.7}},"health":{"<candidate>":true}} (with every requested seed present). Promotion requires minimum paired samples, arithmetic-mean delta, and per-seed win rate. SQLite transactions update the active pointer and append audit evidence atomically; a failed or errored candidate-keyed recorded health assertion restores the prior pointer and records rollback evidence. Database triggers reject update/deletion of candidate, evaluation, and audit rows.
Limitations: this performs one bounded deterministic comparison. It does not autonomously rewrite prompts or ecc2.toml, train/fine-tune a model, implement or claim reinforcement learning, call a network service, or run shell-command evaluators. It does not alter running sessions. Evidence references and scores are operator assertions, not authenticated truth. Arithmetic gates do not establish statistical significance. The active pointer is registry state only; it is not automatic deployment into a harness runtime.
Validate
cd ecc2
cargo test
What Is Still Missing
The alpha is missing the higher-level operator surface that defines ECC 2.0:
- richer multi-agent orchestration
- explicit agent-to-agent delegation and summaries
- visual worktree / diff review surface
- stronger external harness compatibility
- deeper memory and roadmap-aware planning layers
- release packaging and installer story
Repo Rule
Do not market ecc2/ as done just because the scaffold builds.
The right framing is:
- ECC 2.0 alpha exists
- it is usable for internal/operator testing
- it is not the complete release yet