refactor: delete orphaned dirs, dead streaming infra, unused session/compressor
Orphaned files/dirs: - ``strix/agents/StrixAgent/`` — empty, only ``__pycache__``. - ``strix/tools/browser/litellm/`` — empty, only ``__pycache__``. - ``strix/strix_runs/`` — runtime output left in the working tree. - ``strix/prompts/`` — single Jinja template that nothing renders. Dead streaming pipeline (was never wired in the SDK migration): - Delete ``strix/interface/streaming_parser.py`` (XML tool-call parser for an output format the SDK doesn't produce). - Strip ``streaming_content`` / ``interrupted_content`` dicts and five unused methods from ``Tracer``. - Strip the streaming-render path + ``interrupted`` branch from TUI. - Trim ``strix/llm/utils.py``: drop ``normalize_tool_format``, ``parse_tool_invocations``, ``format_tool_call``, ``fix_incomplete_tool_call`` and the XML-stripping in ``clean_content``. Keep only the inter-agent-XML scrub. Unwired session compression: - Delete ``strix/llm/strix_session.py`` and ``strix/llm/memory_compressor.py``. ``Runner.run`` was never called with a ``session=``, so the compressor never ran. Drop the matching test file and the ``strix_memory_compressor_timeout`` config knob. Tracer cleanup: - Remove ``log_agent_creation``, ``log_tool_execution_start``, ``update_tool_execution``, ``update_agent_status``, ``get_agent_tools`` — none had production callers. - Rewrite the redaction + correlation tests against ``log_chat_message`` (which still emits events). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -39,21 +39,15 @@ def test_tracer_local_mode_writes_jsonl_with_correlation(
|
||||
tracer = Tracer("local-observability")
|
||||
set_global_tracer(tracer)
|
||||
tracer.set_scan_config({"targets": ["https://example.com"], "user_instructions": "focus auth"})
|
||||
tracer.log_agent_creation("agent-1", "Root Agent", "scan auth")
|
||||
tracer.log_chat_message("starting scan", "user", "agent-1")
|
||||
execution_id = tracer.log_tool_execution_start(
|
||||
"agent-1",
|
||||
"send_request",
|
||||
{"url": "https://example.com/login"},
|
||||
)
|
||||
tracer.update_tool_execution(execution_id, "completed", {"status_code": 200, "body": "ok"})
|
||||
tracer.log_chat_message("scanning login form", "assistant", "agent-1")
|
||||
|
||||
events_path = tmp_path / "strix_runs" / "local-observability" / "events.jsonl"
|
||||
assert events_path.exists()
|
||||
|
||||
events = _load_events(events_path)
|
||||
assert any(event["event_type"] == "tool.execution.updated" for event in events)
|
||||
assert not any(event["event_type"] == "traffic.intercepted" for event in events)
|
||||
assert any(event["event_type"] == "chat.message" for event in events)
|
||||
assert any(event["event_type"] == "run.configured" for event in events)
|
||||
|
||||
for event in events:
|
||||
assert event["run_id"] == "local-observability"
|
||||
@@ -66,20 +60,15 @@ def test_tracer_redacts_sensitive_payloads(monkeypatch: pytest.MonkeyPatch, tmp_
|
||||
|
||||
tracer = Tracer("redaction-run")
|
||||
set_global_tracer(tracer)
|
||||
execution_id = tracer.log_tool_execution_start(
|
||||
tracer.log_chat_message(
|
||||
"request failed with token sk-secret-token-value",
|
||||
"assistant",
|
||||
"agent-1",
|
||||
"send_request",
|
||||
{
|
||||
"url": "https://example.com",
|
||||
metadata={
|
||||
"api_key": "sk-secret-token-value",
|
||||
"authorization": "Bearer super-secret-token",
|
||||
},
|
||||
)
|
||||
tracer.update_tool_execution(
|
||||
execution_id,
|
||||
"error",
|
||||
{"error": "request failed with token sk-secret-token-value"},
|
||||
)
|
||||
|
||||
events_path = tmp_path / "strix_runs" / "redaction-run" / "events.jsonl"
|
||||
events = _load_events(events_path)
|
||||
@@ -255,7 +244,10 @@ def test_events_with_agent_id_include_agent_name(
|
||||
|
||||
tracer = Tracer("agent-name-enrichment")
|
||||
set_global_tracer(tracer)
|
||||
tracer.log_agent_creation("agent-1", "Root Agent", "scan auth")
|
||||
# _enrich_actor pulls names from the tracer's agents dict; populate it
|
||||
# the same way the orchestration path will once wired (placeholder
|
||||
# until live wiring lands).
|
||||
tracer.agents["agent-1"] = {"name": "Root Agent"}
|
||||
tracer.log_chat_message("hello", "assistant", "agent-1")
|
||||
|
||||
events_path = tmp_path / "strix_runs" / "agent-name-enrichment" / "events.jsonl"
|
||||
|
||||
Reference in New Issue
Block a user