← ClaudeAtlas

assurance-looplisted

Doctrine 継続保証キャンペーンの運転手順。保証ループを回す・DISCOVER/CHALLENGE を実行する・ 規範カタログや網羅台帳を進める・カオス試験や故障注入を計画する・事象を分析する・ 「保証キャンペーンを進めて」「保証ループを回して」「観点を創出して」「独立検証して」と 言われたときに使う。セッションを跨いだ再開は台帳と状態機械が持ち、会話の記憶に依存しない。 開発専用(assurance/ レーン)。配布物・配布 Skill には触れない。
Forest-Project-Lab/doctrine · ★ 2 · AI & Automation · score 66
Install: claude install-skill Forest-Project-Lab/doctrine
# assurance-loop — 保証キャンペーンの運転手順 開発専用スキル。規範は campaign 指示(CLAUDE.md 経由の会話)・ADR-114/115/116・ PROC-001・`assurance/README.md`・規範3冊(JERG=検証計画と証拠・STPA=創出・CAST=失敗後更新)。 ## 0. 前提確認(毎回・省略禁止) 1. セッション冒頭に「セッション開始(要点復唱)」の契約注入があるか。無ければ統治フックが 死んでいる(R11)。**報せたうえで止まる。**注入の無いセッションで統治木を編集しない (ガードもリンタも効いていない可能性がある)。レーンの読み取りだけなら続けてよい。 2. `git fetch origin` と open Issue / open PR / CI の再取得。過去の報告を現状として信用しない。 3. `python3 assurance/harness/doctor.py --json` — UNASSESSED ならレーン前提が欠けている。 SDK 実行はせず決定論試験だけで続行し、その旨を台帳と報告へ残す。 4. `python3 plugin/scripts/docs-audit.py --root doctrine_docs --json --today <今日>` — error か warn が 1 件でもあれば、他の何より先に扱う。**`--today` は必ず渡す** (渡さないと壁時計を読み、日付が変わっただけで結果が変わる。WATCH-001 第11項と同じ形)。 ## 1. 次にやることの正本 **手で選ばない。** `assurance/.venv/bin/python assurance/harness/orchestrator.py status` の `next_actions` が決定論で導く(ADR-115)。 **着手は先頭の一件から。** 一回の反復で何件消化してもよいが、飛ばしてはならない。 先頭を飛ばしたくなったら、それは正本の優先順が誤っている疑いなので、飛ばさずに 正本の側を直す(実際に INC-006・INC-012・INC-015 がその形で見つかった)。 優先の意味論: - 事象(incidents)の CAST_ANALYSIS が pending なら、それが新規 DISCOVER より先。 修正済みの欠陥も「なぜ既存の保証が見逃したか」の分析が済むまで閉じない。 - カタログが UNASSESSED / PARTIAL なら INGEST_NORMS(抽出・再開)。順序は jerg→stpa→cast。 - カタログが揃い網羅台帳が UNKNOWN のままなら MAP_COVERAGE(jerg レーンが doctrine の 現状と突き合わせ、五値へ割り当てる。証拠ポインタの無い「実装・試験・証拠あり」は書かない)。 ## 2. 状態機械(外側は決定論。LLM の気分で遷移しない) INGEST_NORMS → MAP_COVERAGE → DISCOVER → CHALLENGE → FORMALIZE → REPRODUCE_RED → FIX → VERIFY → ATTACK_EVALUATOR → RECORD → CURATE(正本: `harness/orchestrator.py`) - 状態は二つに分かれる(ADR-120)。**名指しさ