Ни один опасный инструмент не выполнится без твоего разрешения
ContinuityOS — локальный governance-шлюз для AI coding-агентов (Claude Code, Cursor, Codex CLI). Каждое рискованное действие проходит preflight: решение ALLOW · WARN · DENY · CONFIRM · DRY-RUN с причиной, tamper-evident аудит-леджером и реальным откатом. И решает он по твоему канону, а не по статичному списку.
Preflight перед каждым действием
| Команда агента | Решение |
|---|---|
rm -rf / · python -c "shutil.rmtree('/')" · find / -delete | DENY — заблокировано |
git push --force · cat .env · правка .git/ | ASK — нужно подтверждение |
| действие против твоего канона (напр. «не трогать прод-БД») | ASK — конфликт с правилом |
npm test · git commit · pytest | ALLOW — выполняется |
ContinuityBench: 30/30 решений верны, 0 ложных срабатываний на безопасной работе. Adversarial-набор обфускаций: 8/8 пойманы.
Решает по ТВОЕМУ контексту
🧭 Context-aware
Статичные policy-движки знают только regex. ContinuityOS сверяет действие с твоим каноном (записанные правила) — и ловит то, что паттерн пропустит.
🔌 MCP-native
Claude Code PreToolUse hook или MCP-тулза preflight_action. Встаёт в путь агента 6 строками в settings.json.
🧾 Аудит-леджер
Append-only hash-chain: каждое решение записано, подмену видно (continuity audit).
↩️ Реальный rollback
Снапшот затронутых файлов на диск перед деструктивным действием → continuity rollback <id>.
Поставить за минуту
pip install continuityos
continuity init
# обернуть команду:
continuity run shell -- <cmd>
# или в Claude Code — .claude/settings.json:
{ "hooks": { "PreToolUse": [ { "matcher": "Bash|Write|Edit",
"hooks": [ { "type": "command", "command": "python -m continuityos.gate.claude_hook" } ] } ] } }
Под капотом — память + continuity-движок (canon, frontiers, checkpoints, twin), который и делает решения контекстными. Apache-2.0, один локальный SQLite, ничего не уходит наружу.