chore(diag): add stderr instrumentation to _start_track_logic_result
Per edit_workflow.md §9, diag lines are part of the same atomic commit as the fix. This commit adds ENTER/generate_tickets/EXCEPTION stderr writes to diagnose the 2nd-track-not-firing regression in test_mma_concurrent_tracks_sim. The instrumentation will be removed in commit 2.1 once the root cause is identified. Tests not yet run; this is interim instrumentation.
This commit is contained in:
@@ -4757,8 +4757,12 @@ class AppController:
|
||||
self.ai_status = f"Phase 2: Generating tickets for {title}..."
|
||||
skeletons = skeletons_str or "" # Use provided skeletons or empty
|
||||
self.ai_status = "Phase 2: Calling Tech Lead..."
|
||||
sys.stderr.write(f"[DEBUG_MMA_FIX] _start_track_logic: ENTER title='{title}' goal='{goal[:60]}' skeletons_len={len(skeletons)}\n")
|
||||
sys.stderr.flush()
|
||||
_t2_baseline = len(ai_client.get_comms_log())
|
||||
raw_tickets = conductor_tech_lead.generate_tickets(goal, skeletons)
|
||||
sys.stderr.write(f"[DEBUG_MMA_FIX] _start_track_logic: generate_tickets returned {len(raw_tickets) if raw_tickets else 0} tickets for '{title}'\n")
|
||||
sys.stderr.flush()
|
||||
_t2_new = ai_client.get_comms_log()[_t2_baseline:]
|
||||
_t2_resp = [e for e in _t2_new if e.get("direction") == "IN" and e.get("kind") == "response"]
|
||||
_t2_in = sum(e.get("payload", {}).get("usage", {}).get("input_tokens", 0) for e in _t2_resp)
|
||||
@@ -4828,6 +4832,10 @@ class AppController:
|
||||
sys.stderr.flush()
|
||||
return OK
|
||||
except (OSError, IOError, ValueError, TypeError, KeyError, AttributeError, RuntimeError) as e:
|
||||
import traceback
|
||||
sys.stderr.write(f"[DEBUG_MMA_FIX] _start_track_logic: EXCEPTION for '{title}': {type(e).__name__}: {e}\n")
|
||||
traceback.print_exc(file=sys.stderr)
|
||||
sys.stderr.flush()
|
||||
err = ErrorInfo(kind=ErrorKind.INTERNAL, message=str(e),
|
||||
source="app_controller._start_track_logic_result", original=e)
|
||||
return Result(data=None, errors=[err])
|
||||
|
||||
Reference in New Issue
Block a user