69 lines
2.8 KiB
Markdown
69 lines
2.8 KiB
Markdown
# 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) |