# Specification: Gemini CLI Parity ## Overview Achieve full functional and behavioral parity between the Gemini CLI integration (`gemini_cli_adapter.py`, `cli_tool_bridge.py`) and the direct Gemini API implementation (`ai_client.py`). This ensures that users leveraging the Gemini CLI as a headless backend provider experience the same level of capability, reliability, and observability as direct API users. ## Functional Requirements - **Token Estimation Parity:** Implement accurate token counting for both input and output in the Gemini CLI adapter to match the precision of the direct API. - **Safety Settings Parity:** Enable full configuration and enforcement of Gemini safety filters when using the CLI provider. - **Tool Calling Parity:** Synchronize tool definition mapping, call handling, and response processing between the CLI bridge and the direct SDK. - **System Instructions Parity:** Ensure system prompts and instructions are consistently passed and handled across both providers. - **Bridge Robustness:** Enhance the `cli_tool_bridge.py` and adapter to improve latency, error handling (retries), and detailed subprocess observability. ## Non-Functional Requirements - **Observability:** Detailed logging of CLI subprocess interactions for debugging. - **Performance:** Minimize the overhead introduced by the bridge mechanism. - **Maintainability:** Ensure that future changes to `ai_client.py` can be easily mirrored in the CLI adapter. ## Acceptance Criteria - [ ] Token counts for identical prompts match within a 5% margin between CLI and Direct API. - [ ] Safety settings configured in the GUI are correctly applied to CLI sessions. - [ ] Tool calls from the CLI are successfully executed and returned via the bridge without loss of context. - [ ] System instructions are correctly utilized by the model when using the CLI. - [ ] Automated tests verify that responses and tool execution flows are identical for both providers. ## Out of Scope - Performance optimizations for the `gemini` CLI binary itself. - Support for non-Gemini CLI providers in this track.