---
name: madspec-policy-engine
description: Операционный навык для жизненного цикла проектных правил в MADSpec. Использовать, когда нужно показать, предложить, применить, объяснить или проверить проектные правила через `madspec policy ...`.
---

# `madspec-policy-engine`

## Когда использовать

Используй этот навык, когда пользователь просит:

- показать текущие проектные правила
- предложить или изменить правило проекта
- вывести устаревшее правило из действия
- объяснить, почему правило влияет на процесс
- проверить состояние ветки через `madspec policy validate`

## Язык и стиль

- В русскоязычных ответах не смешивай русский и английский без явной необходимости.
- Английский используй только для имен команд, путей, файлов, API и других точных идентификаторов.
- Перед завершением обязательно перечитай ответ и убери неуместные англицизмы, кальки и смешанные конструкции.

## Канонический порядок работы

1. Прочитай текущее состояние через `madspec policy show --json-output`.
2. Если нужно изменить правила, сначала создай предложение через `madspec policy propose`.
3. Покажи пользователю предварительное сравнение и предупреждения.
4. Применяй изменение только через `madspec policy apply` или `madspec policy set`.
5. После применения изменения при необходимости запускай `madspec policy validate`.

## Источник истины

- `.madspec/system/policy/state.json`
- `.madspec/system/policy/proposals.jsonl`
- `.madspec/system/policy/history.jsonl`

`policy.md` и разделы с правилами внутри производных артефактов ветки — это производные представления.

## Ограничения E1

- Слой правил общий для всего проекта и не поддерживает локальные переопределения на уровне ветки
- Принудительно проверяются только поддержанные инварианты процесса
- Неподдерживаемый `ruleType` автоматически нормализуется в рекомендацию с режимом `guideline`
- Системные правила являются `read-only` и не должны изменяться через пользовательский процесс

## Полезные команды

```bash
madspec policy show --json-output
madspec policy propose --policy-id ... --title ... --description ...
madspec policy apply --proposal-id ...
madspec policy deprecate --policy-id ...
madspec policy validate --stage mvp.plan --toon-output
madspec policy explain --policy-id ... --json-output
```
