AGENTS.md
Rama master · réplica de lectura del repositorio original.
# Metis Agent Rules
Project documentation is under [`docs/README.md`](./docs/README.md). Current
open production issues: [`docs/PRODUCTION-AUDIT.md`](./docs/PRODUCTION-AUDIT.md).
Do not stop live Metis systemd units as a side effect of a test.
## Provider And Model Contract
- Never hardcode a model, provider capability, context window, parameter value,
usage limit, tool contract, or provider-specific default in UI code, prompts,
runners, or fallback branches.
- Model metadata must flow from the provider registry contract and, whenever a
connection supports discovery, the provider's live discovery response.
- Live discovery is authoritative for model IDs, display names, context,
reasoning/effort values, fast mode, vision, tools, MCP, browser, skills,
subagents, and usage sources. Merge only explicit registry metadata for the
same provider/model family; never infer correctness from a model-name regex.
- Unknown or missing capabilities must stay unknown and be shown as unavailable.
Do not silently invent a default, quota, context size, reasoning level, or
tool.
- Every model switch and every run must validate persisted parameters against
the selected model contract. Metis-only parameters must never be forwarded
to a provider.
- Provider adapters must use the canonical Metis MCP contract. Do not add
native file, shell, browser, task, or subagent tools as an undocumented
fallback.
## Product UI Language
- Built-in interface text, labels, accessibility text, system forms, errors and default templates are English, regardless of the browser or conversation language.
- Format generated interface dates and numbers with an explicit English locale while preserving the user's time zone.
- Preserve user-authored chats, notes, task names and other content. Multilingual input recognition, search aliases and responses in the user's requested language remain supported.
## Change Requirements
- When adding or changing a provider/model contract, update the typed registry,
discovery merge, model-parameter validation, and focused tests together.
- Do not add a model to a picker only to make a UI test pass.
- Prefer a clear "not available" state over a fabricated value.
- Keep this policy synchronized with any future `CLAUDE.md`, `GEMINI.md`,
`CODEX.md`, or other repository agent instruction file.