Implements the two reviewed designs (Phase 0 contract confirmations + model-boundary design). New package internal/investigate/orchestrate: ModelClient seam, 2-act vocabulary (CALL_TOOL/SUBMIT_REPORT), deterministic Run loop, budgets (MaxTurns 12, 256/64KiB caps, 30s turn timeout — owner-confirmed or adjust), repetition/no-progress escalation, KnownEvidence grounding, InvestigationOutput, FakeModelClient scripted tests. No ADK. No state mutation (loop never calls T11). Escalation persistence decided at implementation: worker-written REFER_HUMAN report vs workflow event.
Implements the two reviewed designs (Phase 0 contract confirmations + model-boundary design). New package internal/investigate/orchestrate: ModelClient seam, 2-act vocabulary (CALL_TOOL/SUBMIT_REPORT), deterministic Run loop, budgets (MaxTurns 12, 256/64KiB caps, 30s turn timeout — owner-confirmed or adjust), repetition/no-progress escalation, KnownEvidence grounding, InvestigationOutput, FakeModelClient scripted tests. No ADK. No state mutation (loop never calls T11). Escalation persistence decided at implementation: worker-written REFER_HUMAN report vs workflow event.