Private
Public Access
0
0
Commit Graph

2 Commits

Author SHA1 Message Date
ed 1577cca568 fix(audit): remove stale 'gemini_native' from deferred-vendors exclusion
The previous exclusion list had 'gemini_native' which is
NOT a real function name in src/ai_client.py. The actual
function is _send_gemini_cli (already migrated to
run_with_tool_loop via send_func + on_pre_dispatch in
commit 4748d134).

The current deferred vendors are now correctly:
  - anthropic (uses anthropic SDK)
  - gemini (uses google-genai streaming)
  - deepseek (uses requests.post)

These will be addressed in Phase 5 t5_6/7/8. When those
ship, the DEFERRED_VENDORS frozenset should be emptied
so the audit gates the migration.

Verified: script still passes; gemini_cli's run_with_tool_loop
usage is detected correctly.
2026-06-11 21:30:04 -04:00
ed 7e4503f4e8 feat(audit): add scripts/audit_no_inline_tool_loops.py + state.toml Phase 1 progress
Task 1.8 (the plan's numbering: 'Add audit script'). Audit checks
that no _send_<vendor> in src/ai_client.py contains an inline
'for round_idx in range(MAX_TOOL_ROUNDS' loop. The audit excludes
the 4 vendored-call-path vendors (anthropic, gemini, gemini_native,
deepseek) which are documented in state.toml's deferred_work
section as future work (they use their own SDKs and need
separate per-vendor conversion to OpenAICompatibleRequest).

state.toml:
- t1_7 (Apply to 4 inline-loop vendors): completed for
  _send_gemini_cli only. Anthropic + Gemini + DeepSeek deferred.
- t1_8 (Add audit script): in_progress.
- t1_7 reuses commit 4748d134 (the send_func + on_pre_dispatch
  refactor that introduced the new helper pattern for
  vendored call paths).

OK: audit passes against the current 4 OpenAI-compat vendors
(minimax, grok, llama, qwen still uses _dashscope_call but
has no inline loop) + gemini_cli.
2026-06-11 16:17:23 -04:00