feat(mma): Phase 1 — source_tier tagging at emission

- ai_client: add current_tier module var; stamp source_tier on every _append_comms entry
- multi_agent_conductor: set current_tier='Tier 3' around send(), clear in finally
- conductor_tech_lead: set current_tier='Tier 2' around send(), clear in finally
- gui_2: _on_tool_log captures current_tier; _append_tool_log stores dict with source_tier
- tests: 8 new tests covering current_tier, source_tier in comms, tool log dict format
This commit is contained in:
2026-03-02 16:18:00 -05:00
parent 264b04f060
commit 8d9f25d0ce
5 changed files with 152 additions and 14 deletions

View File

@@ -276,10 +276,10 @@ class App:
"Tier 3": {"input": 0, "output": 0, "model": "gemini-2.5-flash-lite"},
"Tier 4": {"input": 0, "output": 0, "model": "gemini-2.5-flash-lite"},
}
self._tool_log: list[tuple[str, str, float]] = []
self._tool_log: list[dict] = []
self._comms_log: list[dict[str, Any]] = []
self._pending_comms: list[dict[str, Any]] = []
self._pending_tool_calls: list[tuple[str, str, float]] = []
self._pending_tool_calls: list[dict] = []
self._pending_history_adds: list[dict[str, Any]] = []
self._trigger_blink = False
self._is_blinking = False
@@ -891,8 +891,9 @@ class App:
def _on_tool_log(self, script: str, result: str) -> None:
session_logger.log_tool_call(script, result, None)
source_tier = ai_client.current_tier
with self._pending_tool_calls_lock:
self._pending_tool_calls.append((script, result, time.time()))
self._pending_tool_calls.append({"script": script, "result": result, "ts": time.time(), "source_tier": source_tier})
def _on_api_event(self, *args, **kwargs) -> None:
payload = kwargs.get("payload", {})
@@ -1488,8 +1489,8 @@ class App:
return True
return False
def _append_tool_log(self, script: str, result: str) -> None:
self._tool_log.append((script, result, time.time()))
def _append_tool_log(self, script: str, result: str, source_tier: str | None = None) -> None:
self._tool_log.append({"script": script, "result": result, "ts": time.time(), "source_tier": source_tier})
self.ui_last_script_text = script
self.ui_last_script_output = result
self._trigger_script_blink = True