Skip to content

feat(tui,experiments): reverse search backward nav and subject error tolerance#4976

Merged
bug-ops merged 2 commits into
mainfrom
4856-tui-experiments
Jun 7, 2026
Merged

feat(tui,experiments): reverse search backward nav and subject error tolerance#4976
bug-ops merged 2 commits into
mainfrom
4856-tui-experiments

Conversation

@bug-ops

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

Copy link
Copy Markdown
Owner

Summary

Changed files

File Change
crates/zeph-tui/src/widgets/reverse_search.rs select_previous() + updated select_next() (wrap), 4 new tests
crates/zeph-tui/src/app/keys.rs Ctrl+S binding in handle_reverse_search_key
crates/zeph-config/src/experiment.rs tolerate_subject_errors: bool field (default false)
crates/zeph-experiments/src/evaluator.rs Phase 1 tolerance logic + with_tolerate_subject_errors() builder
crates/zeph-core/src/agent/experiment_cmd.rs Wire config.tolerate_subject_errors into Evaluator
CHANGELOG.md [Unreleased] entries for both features

Test plan

  • cargo nextest run -p zeph-tui --lib --bins: 568 PASS (4 new reverse-search tests)
  • cargo nextest run -p zeph-experiments -p zeph-config --lib --bins: 663 PASS
  • cargo nextest run -p zeph-core --lib --bins: 1533 PASS (wiring test included)
  • cargo clippy -p zeph-tui -p zeph-experiments -p zeph-config -p zeph-core -- -D warnings: CLEAN
  • cargo +nightly fmt --check: CLEAN
  • Live TUI Ctrl+S key — blocked (no interactive terminal in CI)
  • Live --experiment-run with tolerate_subject_errors = true — blocked (LLM credits unavailable)

Closes #4691
Closes #4856

@github-actions github-actions Bot added documentation Improvements or additions to documentation rust Rust code changes core zeph-core crate enhancement New feature or request size/L Large PR (201-500 lines) labels Jun 7, 2026
@bug-ops
bug-ops enabled auto-merge (squash) June 7, 2026 10:45
@bug-ops
bug-ops force-pushed the 4856-tui-experiments branch 2 times, most recently from 8f7b420 to ed27c3b Compare June 7, 2026 10:51
…tolerance

Add `select_previous()` to `ReverseSearchState` with wrap-around semantics
(matching bash/zsh Ctrl+R/Ctrl+S conventions) and wire it to Ctrl+S in
`handle_reverse_search_key`. Closes #4691.

Add `tolerate_subject_errors: bool` config field to `ExperimentConfig`
(default false). When true, per-case Phase 1 failures are excluded from
scoring instead of aborting the run — matching Phase 2 graceful degradation
behavior. Failed cases increment `error_count` and set `is_partial = true`.
`EvalReport::is_partial` documents the partial-anchor comparison caveat.
Closes #4856.
@bug-ops
bug-ops force-pushed the 4856-tui-experiments branch from ed27c3b to 6612a0d Compare June 7, 2026 10:59
…-prompt tests

skill_bodies_prepended_to_system_prompt and no_skills_does_not_add_fence_to_system_prompt
used a hard-coded 200 ms sleep to wait for the mock provider to be called. Under CI load
(shard 5/5, many concurrent tests) the async task was not scheduled in time, causing a
spurious failure.

Replace the sleep with a 5 s timeout polling loop that exits as soon as the provider is
called — fast in practice (<50 ms), reliable under load.
@bug-ops
bug-ops merged commit 180ca4d into main Jun 7, 2026
32 checks passed
@bug-ops
bug-ops deleted the 4856-tui-experiments branch June 7, 2026 11:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core zeph-core crate documentation Improvements or additions to documentation enhancement New feature or request rust Rust code changes size/L Large PR (201-500 lines)

Projects

None yet

1 participant