refactor(g3-core): use StreamingState and IterationState structs in stream_completion_with_tools
Consolidate scattered state variables in the 834-line stream_completion_with_tools() function to use the existing StreamingState and IterationState structs from streaming.rs. This eliminates code-path aliasing where state was tracked in multiple places and makes the streaming loop easier to reason about. Changes: - Add assistant_message_added field to StreamingState - Add stream_stop_reason field to IterationState - Replace 8 inline state variables with StreamingState::new() - Replace 7 iteration-local variables with IterationState::new() - All 585 workspace tests pass This is a pure refactor with no behavior changes. The state structs were already defined in streaming.rs but not used in the main streaming loop. Agent: fowler
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# Project Memory
|
||||
> Updated: 2026-01-20T08:53:25Z | Size: 16.3k chars
|
||||
> Updated: 2026-01-20T09:01:08Z | Size: 16.7k chars
|
||||
|
||||
### Remember Tool Wiring
|
||||
- `crates/g3-core/src/tools/memory.rs` [0..5000] - `execute_remember()`, `get_memory_path()`, `merge_memory()`
|
||||
@@ -295,4 +295,11 @@ Shared display functions for interactive and agent modes.
|
||||
- `print_workspace_path()` [20..29] - prints formatted workspace path
|
||||
- `LoadedContent` [32..39] - tracks loaded project files (README, AGENTS.md, Memory, include prompt)
|
||||
- `print_loaded_status()` [87..103] - prints "✓ README ✓ AGENTS.md" status line
|
||||
- `print_project_heading()` [106..114] - prints project name from README
|
||||
- `print_project_heading()` [106..114] - prints project name from README
|
||||
|
||||
### Interactive Commands Module
|
||||
Handles `/` commands in interactive mode (extracted from interactive.rs).
|
||||
|
||||
- `crates/g3-cli/src/commands.rs`
|
||||
- `handle_command()` [17..320] - dispatches `/help`, `/compact`, `/thinnify`, `/skinnify`, `/fragments`, `/rehydrate`, `/run`, `/dump`, `/clear`, `/readme`, `/stats`, `/resume`
|
||||
- Returns `Result<bool>` - true if command handled and loop should continue
|
||||
Reference in New Issue
Block a user