another attempt :/
This commit is contained in:
69
g3-plan/completed_todo_2025-12-10_10-35-18.md
Normal file
69
g3-plan/completed_todo_2025-12-10_10-35-18.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# Planner Mode UI Output Fixes
|
||||
|
||||
## Phase 1: Read and Understand Current Code
|
||||
- [x] Read crates/g3-planner/src/llm.rs
|
||||
- [x] Read crates/g3-planner/src/planner.rs
|
||||
- [x] Read crates/g3-core/src/lib.rs (logs directory function)
|
||||
|
||||
## Phase 2: Fix Tool Call Display (Single Line Output)
|
||||
- [x] Modify `PlannerUiWriter::print_tool_header()` in crates/g3-planner/src/llm.rs
|
||||
- [x] Change implementation to use proper single-line formatting
|
||||
- [x] Truncate args at char boundary (use char_indices)
|
||||
- [x] Use `println!` with explicit single line format
|
||||
- [x] Add flush after output
|
||||
- [x] Fix import for std::io::Write
|
||||
|
||||
## Phase 3: Fix LLM Text Response Display
|
||||
- [x] Modify `PlannerUiWriter::print_agent_response()` in crates/g3-planner/src/llm.rs
|
||||
- [x] Change from `println!()` to `print!()` to avoid extra newlines
|
||||
- [x] Keep the flush for real-time display
|
||||
- [x] Ensure no carriage returns or status line clearing
|
||||
|
||||
## Phase 4: Fix Logs Directory Location
|
||||
- [x] Debug where logs are actually being written
|
||||
- [x] Add debug prints to verify G3_WORKSPACE_PATH is set
|
||||
- [x] Add debug prints in get_logs_dir() to show what path is returned
|
||||
- [x] Build succeeded - compilation verified
|
||||
|
||||
## Phase 5: Testing Instructions
|
||||
The code has been successfully modified and compiled. To test:
|
||||
|
||||
1. **Test tool call display:**
|
||||
```bash
|
||||
cd /tmp
|
||||
g3 --planning --codepath ~/RustroverProjects/g3
|
||||
```
|
||||
- Verify tool calls appear on single lines like:
|
||||
`🔧 [1] read_file {"file_path":"/path/to/file"}`
|
||||
- Verify NO extra blank lines between tool calls
|
||||
|
||||
2. **Test LLM text response:**
|
||||
- Verify LLM explanatory text appears as contiguous, readable text
|
||||
- Verify no text is overwritten or mangled
|
||||
|
||||
3. **Test logs directory:**
|
||||
- Run: `rm -rf ~/RustroverProjects/g3/logs/*.log ~/RustroverProjects/g3/logs/*.txt`
|
||||
- Run: `cd /tmp && g3 --planning --codepath ~/RustroverProjects/g3`
|
||||
- Check debug output shows: `🔍 DEBUG: Set G3_WORKSPACE_PATH to: ...`
|
||||
- Check: `ls ~/RustroverProjects/g3/logs/` - should contain log files
|
||||
- Check: `ls /tmp/logs/` - should NOT exist or be empty
|
||||
|
||||
4. **After testing succeeds:**
|
||||
- Remove debug print statements from:
|
||||
- crates/g3-planner/src/planner.rs (2 debug prints)
|
||||
- crates/g3-core/src/lib.rs (2 debug prints in get_logs_dir)
|
||||
- Rebuild: `cargo build --release`
|
||||
|
||||
## Summary of Changes
|
||||
|
||||
### Files Modified:
|
||||
1. **crates/g3-planner/src/llm.rs**
|
||||
- Fixed `print_tool_header()`: Uses char_indices for safe truncation, always shows args
|
||||
- Fixed `print_agent_response()`: Changed to `print!()` instead of `println!()`
|
||||
- Added `use std::io::Write;` import
|
||||
|
||||
2. **crates/g3-planner/src/planner.rs**
|
||||
- Added debug prints to verify G3_WORKSPACE_PATH is set (temporary)
|
||||
|
||||
3. **crates/g3-core/src/lib.rs**
|
||||
- Added debug prints to get_logs_dir() (temporary)
|
||||
Reference in New Issue
Block a user