Which Interface? ================ Use the smallest interface that matches the job. * human CLI: ``oduit ...`` for interactive work and shell scripts * agent CLI: ``oduit agent ...`` for structured inspection, planning, source localization, and gated mutations * typed Python API: ``OdooOperations``, ``ModuleManager``, and typed models for programmatic integrations inside Python code * unsafe executor: ``OdooCodeExecutor`` only for trusted arbitrary code, always with ``allow_unsafe=True`` Coding Agents ------------- For external coding agents, treat ``oduit agent ...`` as the primary automation surface. Use :doc:`agent_contract` as the canonical guide for the recommended command sequence, mutation policy, payload expectations, and failure handling. Use :doc:`agent_command_inventory` for the generated agent command matrix and its per-command stability tiers, and :doc:`command_inventory` for the top-level CLI inventory.