mirror of
https://github.com/mikeyobrien/ralph-orchestrator.git
synced 2026-04-25 07:05:57 +03:00
[PR #165] [MERGED] feat(tui): add guidance injection for human-in-the-loop steering #173
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ralph-orchestrator#173
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/mikeyobrien/ralph-orchestrator/pull/165
Author: @mikeyobrien
Created: 2/7/2026
Status: ✅ Merged
Merged: 2/7/2026
Merged by: @mikeyobrien
Base:
main← Head:feat/148-tui-guidance-injection📝 Commits (1)
574b7cefeat(tui): add guidance injection for human-in-the-loop steering📊 Changes
10 files changed (+623 additions, -5 deletions)
View changed files
📝
Cargo.lock(+2 -0)📝
crates/ralph-cli/src/loop_runner.rs(+79 -4)📝
crates/ralph-tui/Cargo.toml(+3 -0)➕
crates/ralph-tui/examples/guidance_test.rs(+97 -0)📝
crates/ralph-tui/src/app.rs(+38 -0)📝
crates/ralph-tui/src/input.rs(+23 -1)📝
crates/ralph-tui/src/lib.rs(+15 -0)📝
crates/ralph-tui/src/state.rs(+313 -0)📝
crates/ralph-tui/src/widgets/footer.rs(+40 -0)📝
crates/ralph-tui/src/widgets/help.rs(+13 -0)📄 Description
Closes #148
Summary
Adds two keybindings to the TUI that let you inject guidance into a running loop without restarting it:
:— Queue guidance for the next iteration (written ashuman.guidanceevents beforebuild_prompt())!— Send guidance now (appended directly toevents.jsonlfor the current iteration)How it works
:or!to enter guidance input mode (footer becomes a text input)loop_runnerat the top of the next iteration and written ashuman.guidanceeventsevents.jsonlvia the resolved events pathThe events path is resolved from
.ralph/current-events(the authoritative marker for the timestamped events file), falling back toctx.events_path().Changes
crates/ralph-tui/src/state.rs—GuidanceMode,GuidanceResultenums, guidance state fields,start_guidance(),send_guidance(),cancel_guidance(), flash message support, 10 new unit testscrates/ralph-tui/src/input.rs—:and!key mappings + testscrates/ralph-tui/src/app.rs— Guidance input interception (keys + paste), flash expirycrates/ralph-tui/src/widgets/footer.rs— Guidance input rendering + flash messagescrates/ralph-tui/src/widgets/help.rs— Guidance section in help overlaycrates/ralph-tui/src/lib.rs—with_events_path()builder,guidance_next_queue()accessorcrates/ralph-cli/src/loop_runner.rs— Queue drain + event writing at iteration boundary,resolve_current_events_path()helpercrates/ralph-tui/examples/guidance_test.rs— Interactive test harnessTesting
cargo run -p ralph-tui --example guidance_test🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.