sigh
This commit is contained in:
@@ -7,9 +7,9 @@ description: Focused on track execution, architectural design, and implementatio
|
|||||||
|
|
||||||
You are the Tier 2 Tech Lead. Your role is to manage the implementation of tracks (`/conductor:implement`), ensure architectural integrity, and oversee the work of Tier 3 and 4 sub-agents.
|
You are the Tier 2 Tech Lead. Your role is to manage the implementation of tracks (`/conductor:implement`), ensure architectural integrity, and oversee the work of Tier 3 and 4 sub-agents.
|
||||||
|
|
||||||
## Architecture Fallback
|
## Architecture
|
||||||
|
|
||||||
When implementing tracks, consult these docs for threading, data flow, and module interactions:
|
YOU MUST READ THE FOLLOWING BEFORE IMPLEMENTING TRACKS:
|
||||||
|
|
||||||
- All immediate files in ./conductor.
|
- All immediate files in ./conductor.
|
||||||
- AST Skeleton summaries of: ./src, ./simulation, ./tests, ./scripts python files.
|
- AST Skeleton summaries of: ./src, ./simulation, ./tests, ./scripts python files.
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ paths = [
|
|||||||
"C:\\projects\\manual_slop\\tests\\artifacts\\temp_livetoolssim.toml",
|
"C:\\projects\\manual_slop\\tests\\artifacts\\temp_livetoolssim.toml",
|
||||||
"C:\\projects\\manual_slop\\tests\\artifacts\\temp_liveexecutionsim.toml",
|
"C:\\projects\\manual_slop\\tests\\artifacts\\temp_liveexecutionsim.toml",
|
||||||
]
|
]
|
||||||
active = "C:\\projects\\manual_slop\\tests\\artifacts\\temp_project.toml"
|
active = "C:\\projects\\manual_slop\\tests\\artifacts\\temp_livetoolssim.toml"
|
||||||
|
|
||||||
[gui.show_windows]
|
[gui.show_windows]
|
||||||
"Context Hub" = true
|
"Context Hub" = true
|
||||||
|
|||||||
@@ -851,7 +851,9 @@ class AppController:
|
|||||||
"action": "handle_ai_response",
|
"action": "handle_ai_response",
|
||||||
"payload": payload
|
"payload": payload
|
||||||
})
|
})
|
||||||
|
if self.test_hooks_enabled:
|
||||||
|
with self._api_event_queue_lock:
|
||||||
|
self._api_event_queue.append({"type": "response", "payload": payload})
|
||||||
def _handle_request_event(self, event: events.UserRequestEvent) -> None:
|
def _handle_request_event(self, event: events.UserRequestEvent) -> None:
|
||||||
"""Processes a UserRequestEvent by calling the AI client."""
|
"""Processes a UserRequestEvent by calling the AI client."""
|
||||||
ai_client.current_tier = None # Ensure main discussion is untagged
|
ai_client.current_tier = None # Ensure main discussion is untagged
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ class GeminiCliAdapter:
|
|||||||
# Mock a JSON error result to bubble up
|
# Mock a JSON error result to bubble up
|
||||||
stdout_final += '\n{"type": "result", "status": "error", "error": "subprocess timeout"}\n'
|
stdout_final += '\n{"type": "result", "status": "error", "error": "subprocess timeout"}\n'
|
||||||
|
|
||||||
|
last_decode_error = None
|
||||||
for line in stdout_final.splitlines():
|
for line in stdout_final.splitlines():
|
||||||
line = line.strip()
|
line = line.strip()
|
||||||
if not line: continue
|
if not line: continue
|
||||||
@@ -108,6 +109,8 @@ class GeminiCliAdapter:
|
|||||||
stream_callback(content)
|
stream_callback(content)
|
||||||
elif msg_type == "result":
|
elif msg_type == "result":
|
||||||
self.last_usage = data.get("stats") or data.get("usage")
|
self.last_usage = data.get("stats") or data.get("usage")
|
||||||
|
if data.get("status") == "error":
|
||||||
|
raise Exception(data.get("error", "Unknown CLI error"))
|
||||||
if "session_id" in data:
|
if "session_id" in data:
|
||||||
self.session_id = data.get("session_id")
|
self.session_id = data.get("session_id")
|
||||||
elif msg_type == "tool_use":
|
elif msg_type == "tool_use":
|
||||||
@@ -118,10 +121,15 @@ class GeminiCliAdapter:
|
|||||||
}
|
}
|
||||||
if tc["name"]:
|
if tc["name"]:
|
||||||
tool_calls.append(tc)
|
tool_calls.append(tc)
|
||||||
except json.JSONDecodeError:
|
except json.JSONDecodeError as e:
|
||||||
|
last_decode_error = e
|
||||||
continue
|
continue
|
||||||
|
|
||||||
current_latency = time.time() - start_time
|
current_latency = time.time() - start_time
|
||||||
|
if process.returncode != 0 and not accumulated_text and not tool_calls:
|
||||||
|
if last_decode_error:
|
||||||
|
raise Exception(f"Gemini CLI failed (exit {process.returncode}) with JSONDecodeError: {last_decode_error}\nOutput: {stdout_final}")
|
||||||
|
raise Exception(f"Gemini CLI failed with exit {process.returncode}\nStderr: {stderr_final}")
|
||||||
session_logger.open_session()
|
session_logger.open_session()
|
||||||
session_logger.log_cli_call(
|
session_logger.log_cli_call(
|
||||||
command=command,
|
command=command,
|
||||||
|
|||||||
Reference in New Issue
Block a user