agent-fault
FreeРегистрация косяка агента в системе учёта WP-316 L1. Без LLM — детерминированный скрипт без WP Gate.
The English summary is being prepared. Showing the original description.
Аудит пользовательской инсталляции IWE. Запускает scripts/iwe-audit.sh + MCP healthcheck + smoke-test ритуала через sentinel-механику (контракт dry-run-contract.md), передаёт отчёт subagent'у в роли VR.R.002 Аудитор (context isolation) → verdict ✅/⚠️/❌ по 6 компонентам (Inventory, L1 drift, {{GOVERNANCE_REPO}}, L3 customizations, MCP, ритуал). Используй после restore из бэкапа, после update.sh, или при еженедельной сверке.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Service Clause: VR.SC.005-installation-audit Роль: VR.R.002 Аудитор (PACK-verification) — субагент с context isolation Принцип: детектор отчитывается, оператор делает (см.
scripts/iwe-drift.sh:7-11). Auto-fix не входит в обещание.
Аргументы: $ARGUMENTS
Аудит пользовательской инсталляции IWE. Запускает scripts/iwe-audit.sh + MCP healthcheck + smoke-test ритуала через sentinel-механику (контракт dry-run-contract.md), передаёт отчёт subagent'у в роли VR.R.002 Аудитор (context isolation) → verdict ✅/⚠️/❌ по 6 компонентам (Inventory, L1 drift, {{GOVERNANCE_REPO}}, L3 customizations, MCP, ритуал). Используй после restore из бэкапа, после update.sh, или при еженедельной сверке.
За ≤5 минут — markdown-отчёт ✅/⚠️/❌ по 6 компонентам инсталляции:
/run-protocol close day запускается под sentinel-защитой, доходит до write-шагов (см. memory/dry-run-contract.md)Verdict выносит subagent в роли Аудитора, читая отчёт без знаний о текущей сессии (context isolation).
Найти и запустить iwe-audit.sh через fallback-цепочку (author-mode → workspace, user-mode → $IWE_SCRIPTS из ~/.iwe-paths):
# issue #688: a non-interactive top-level Bash call doesn't go through
# .bashrc/.zshenv (interactive-shell guard) or BASH_ENV (read before the
# harness can set it) — $IWE_SCRIPTS is unset here on plenty of real
# installs even though ~/.iwe-paths exists and is correct. Source it
# directly, in this same shell, before reading the variable — `.` doesn't
# depend on interactive/BASH_ENV machinery at all.
# issue #932: the installer writes <workspace>/.iwe-paths (install-iwe-paths.sh);
# $HOME/.iwe-paths is the legacy location, tried last.
IWE_PATHS="${IWE_PATHS_FILE:-}"
if [ -z "$IWE_PATHS" ]; then
for _c in "${IWE_WORKSPACE:-}/.iwe-paths" "${WORKSPACE_DIR:-}/.iwe-paths" \
"$PWD/.iwe-paths" "${IWE_WORKSPACE:-$HOME/IWE}/.iwe-paths" "$HOME/.iwe-paths"; do
[ -r "$_c" ] && { IWE_PATHS="$_c"; break; }
done
fi
[ -n "$IWE_PATHS" ] && [ -r "$IWE_PATHS" ] && . "$IWE_PATHS"
if [ -n "${IWE_SCRIPTS:-}" ] && [ -f "$IWE_SCRIPTS/iwe-audit.sh" ]; then
# $IWE_SCRIPTS first (#566): the hardcoded workspace copy, when it exists at
# all, is a stale leftover — the installer points IWE_SCRIPTS at the template.
AUDIT_SCRIPT="$IWE_SCRIPTS/iwe-audit.sh"
elif [ -f "${IWE_WORKSPACE:-$HOME/IWE}/scripts/iwe-audit.sh" ]; then
AUDIT_SCRIPT="${IWE_WORKSPACE:-$HOME/IWE}/scripts/iwe-audit.sh"
else
echo "iwe-audit.sh не найден. \$IWE_PATHS ($IWE_PATHS) не даёт рабочий \$IWE_SCRIPTS — проверь, что файл существует и содержит export IWE_SCRIPTS=... (запусти setup.sh из FMT-шаблона, если файла нет)."
exit 1
fi
bash "$AUDIT_SCRIPT" $([ "${ARGUMENTS:-}" = "--critical" ] && echo "--critical")
Сохранить вывод в переменную bash_report. Проверить exit code:
Скрипт покрывает разделы 1-3 отчёта (Inventory, L1 drift, {{GOVERNANCE_REPO}}).
--skip-mcp)Параллельно вызвать 4 MCP tool'а с минимальной нагрузкой, замерить латентность:
| Tool | Параметры | Уровень | Что считаем |
|---|---|---|---|
mcp__claude_ai_IWE__knowledge_search | query: "test", limit: 1 | бесплатный | ✅ если ответ <15s |
mcp__claude_ai_IWE__github_status | (без параметров) | бесплатный | ✅ если ответ |
mcp__claude_ai_IWE__personal_search | query: "ping", limit: 1 | подписочный | ✅ если ответ; 403/subscription_required → ⏸️ (не считать failure) |
mcp__claude_ai_IWE__dt_read_digital_twin | path: "/" | подписочный | ✅ если ответ; 403/subscription_required → ⏸️ (не считать failure) |
Двойник проверяется по корню /, а не по разделу: незаполненная категория метамодели (например 1_declarative) отвечает Path not found, и исправная установка получала ложный ❌ (#932).
Подписочное гейтование (DP.SC.112). personal_* и dt_* требуют активной БР в subscription_grants. Без подписки — это не сбой инсталляции, а ожидаемый отказ. Помечать как ⏸️ subscription_required, не ❌. Coverage считать только по доступным для пользователя tool'ам.
Сформировать markdown-секцию ## 4. MCP healthcheck:
## Algorithm
## 4. MCP healthcheck
| Tool | Статус | Латентность | Примечание |
|------|--------|-------------|------------|
| personal_search | ✅/❌ | Nms | ... |
| knowledge_search | ✅/❌ | Nms | ... |
| github_status | ✅/❌ | Nms | ... |
| dt_read_digital_twin | ✅/❌ | Nms | ... |
Coverage: N/4
Если --skip-mcp → секция «⏸️ MCP healthcheck — пропущен по флагу».
Контракт: memory/dry-run-contract.md. Защита через sentinel-файл + PreToolUse-хук
dry-run-gate.sh.
Создать репетицию через begin-helper (issue #549 stage 2 — эксклюзивное создание под транзакционным замком; token печатается один раз в stdout):
bash "$IWE_SCRIPTS/dry-run-begin.sh" audit-installation "${CLAUDE_SESSION_ID:-}"
Helper печатает gate_id=, owner_token=, owner_session_id=. Запомни все три значения из вывода tool-call'а — shell-переменные между твоими Bash-вызовами не живут (Codex r2), а token хранить в файле нельзя (его прочитает репетиция). Активная чужая репетиция → helper завершится ошибкой с её gate_id.
Запустить subagent через Agent tool (subagent_type=general-purpose, модель Sonnet) с промптом:
Запусти ритуал /run-protocol close day по обычной процедуре. Не изобретай — следуй SKILL.md как написано.
ВАЖНО: в текущем окружении активен sentinel /tmp/iwe-dry-run.flag — это означает dry-run mode.
PreToolUse-хук dry-run-gate.sh заблокирует любой write-tool (Write/Edit/git-write/MCP-write).
Это ожидаемо — твоя задача дойти максимально далеко, фиксируя на каком шаге упёрся.
После прогона отчитайся в формате:
## Smoke-test /run-protocol close day
- Шагов выполнено: N из M
- Упёрлось на: <шаг>: <tool>: <причина блокировки>
- Read-логика: ✅ работает / ❌ упало раньше write-шага
- Заключение: ✅/⚠️/❌
Дождаться завершения subagent'а.
Завершить репетицию (атомарный переход active→completed с capability token; sentinel снимается самим helper'ом после completed — Stop-хук теперь только идемпотентный fallback). Подставь значения, запомненные на шаге 1:
bash "$IWE_SCRIPTS/dry-run-complete.sh" "<gate_id из шага 1>" rehearsal-finished "<owner_session_id из шага 1>" "<owner_token из шага 1>"
Сформировать секцию 6 отчёта:
## 6. Ритуал smoke-test (/run-protocol close day)
<вывод subagent'а>
**Интерпретация:**
- Block на write-шаге после успешных read-шагов → ✅ (read-логика работает, это ожидаемое поведение smoke-теста)
- Block на шаге 1-2 → ❌ (ритуал ломается рано — нет source-файла, MCP отвалился)
- Все шаги без block → ⚠️ (подозрительно — ритуал должен иметь write-шаги)
- Hook-error → ❌ (инфраструктура поломана)
Если subagent упал/завис → попытаться удалить sentinel явно (всегда). Stop владельца удалит capability-файл; чужой Stop не затронет защиту. TTL 10 мин в самом хуке защищает от случаев, когда даже это не отработало (kill -9, краш CLI).
# IWE Installation Audit — YYYY-MM-DD HH:MM
[bash_report — секции 1-3]
[mcp_section — секция 4]
---
[передаётся Аудитору на шаг 4]
Использовать Agent tool с context isolation (subagent_type=general-purpose, модель Sonnet):
⛔ Subagent НЕ получает:
Subagent получает (промпт):
Ты исполняешь роль VR.R.002 Аудитор (PACK-verification). Твоя задача — прочитать markdown-отчёт по аудиту инсталляции IWE и вынести verdict.
Эталон:
- VR.SC.005 (Service Clause): инсталляция должна иметь все критические L1-файлы, ритуалы должны загружаться, MCP должен отвечать, {{GOVERNANCE_REPO}} — быть git-репо.
- Gate-критерии (из WP-265 §Gate-критерии):
- ✅ — 0 critical gaps, ≤2 warnings
- ⚠️ — 1+ warning или ≥3 minor gaps; работоспособно
- ❌ — ≥1 critical: L1 broken (>5 файлов drift), ритуал падает, MCP <2/4 отвечают
Принцип context isolation (VR.SOTA.002): не используй знания о том, как создавалась инсталляция. Оценивай ТОЛЬКО по отчёту.
Отчёт:
[вставить полный собранный отчёт]
Выдай verdict в формате:
## Verdict: [✅ / ⚠️ / ❌]
**Сводка по компонентам:**
- L1 (платформа): ✅/⚠️/❌ — короткое объяснение
- Ритуалы: ✅/⚠️/❌ — ...
- MCP: ✅/⚠️/❌ — ...
- {{GOVERNANCE_REPO}}: ✅/⚠️/❌ — ...
**Критичные gaps (если есть):**
- [список с указанием файла/компонента]
**Рекомендации:**
- Что чинить через `update.sh` (Синхронизатор)
- Что чинить руками (с конкретным шагом)
- Что отложить (некритично)
Не предлагай auto-fix. Не лезь в реализацию. Твоя роль — Аудитор, не Кодировщик.
# Priority (#566): $IWE_SCRIPTS convention first, hardcode only as fallback → $HOME/IWE
if [ -d "${IWE_SCRIPTS:-$HOME/IWE/scripts}" ]; then
AUDIT_LOG_DIR="${IWE_SCRIPTS:-$HOME/IWE/scripts}"
else
AUDIT_LOG_DIR="${IWE_WORKSPACE:-$HOME/IWE}"
fi
mkdir -p "$AUDIT_LOG_DIR"
AUDIT_LOG="$AUDIT_LOG_DIR/iwe-audit-$(date +%Y%m%d-%H%M%S).log"
# Записать конкатенацию: full_report + verdict
Verdict: ⚠️ Работоспособно с N оговорками. Лог: <AUDIT_LOG>Пользователь сам решает, что чинить.
/run-protocol close day). Расширение на week-close / month-close — мини-РП, копия шага 2.5 с другими subcommand'ами.FMT-strategy-template/ (или templates/strategy-skeleton/). Если нет — секция пометится «N/A»./audit-installation ловит регрессию.No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Регистрация косяка агента в системе учёта WP-316 L1. Без LLM — детерминированный скрипт без WP Gate.
The English summary is being prepared. Showing the original description.
Разбор extraction-reports со status pending-review — решение R15 (accept/reject/defer) ЖИВЫМ ПИЛОТОМ, запись в Pack, обновление статуса, коммит. Вызывать при Close при наличии N>0 pending-review отчётов.
The English summary is being prepared. Showing the original description.
Оценка архитектурного решения по 7 характеристикам ЭМОГССБ (v3.1 — фильтр допуска, атрибут-сценарии, совет затронутых сторон; профиль без агрегатного балла, conjunctive screening). Используй когда пользователь предлагает архитектурное решение, новый инструмент или системное изменение.
The English summary is being prepared. Showing the original description.
Classifies raw pilot request → structured JSON {task_type, class, artifact, budget_estimate, confidence, routing_tag, resolution_path, schema_version, result_type, expected_result_kind, result_kind_resolution, hypothesis_relation}. Keyword-fast (<200ms) or Haiku fallback (<60s). Does NOT create WP or call executor.
The English summary is being prepared. Showing the original description.
Audit repository documentation: detect drift between code and docs, report coverage by category. Run manually or on triggered drift critical.
The English summary is being prepared. Showing the original description.
Инструкции для автора шаблона IWE: staging-канал (обкатка → FMT), авторские правила L3, Extensions Gate. Загружать при: staging / promote / author / шаблон / extensions / L3.
The English summary is being prepared. Showing the original description.