# Руководство по участию в разработке (Contributing Guide) Мы приветствуем новые контракты безопасности и правила защиты агентных систем! ## Принципы разработки контрактов 1. **Детерминизм**: Контракт должен выдавать одинаковый результат при одинаковых входных данных. Использование вероятностных моделей (второй LLM) внутри контрактов **запрещено**. 2. **Низкая задержка (<5 мс)**: Проверка вызова не должна замедлять работу агента. Используйте регулярные выражения, парсинг деревьев AST и строгие множества. 3. **Объяснимость (Unsat Core)**: При возврате `allowed=False` контракт обязан сформировать четкое машиночитаемое объяснение, чтобы агент понял, какое именно правило нарушено, и смог продолжить безопасную работу. ## Порядок работы 1. Форкните репозиторий `https://git.isslab.ru/isslab/mcp-sentinel`. 2. Создайте ветку: `git checkout -b feature/new-contract`. 3. Добавьте контракт в `contracts/` и покройте его тестами в `tests/test_contracts.py`. 4. Запустите тесты: `python -m unittest discover -s tests`. 5. Откройте Pull Request.