AIタスク #11682
未完了
[P6 Blocker Supervisor] MN55スワーム障害分類・独立継続・監査再開ゲート
Redmine Admin さんが10日前に追加.
10日前に更新.
説明
親: Redmine #11675(M1 #11676、M2 #11679)
目的: MN55を司令塔とするLocal AI Swarmの障害分類・永続化・独立タスク継続・権限ゲートを共通コンポーネント化する。
2026-10-28 ステージング実装:
- MN55 branch feature/p6-blocker-supervisor-20261028
- Git SHA 9afe5275ab66e6c5c7dd1d5d5ad00cec9abb64c0
- path /home/ito/staging/ai-swarm-p6-20261028
- Policy: 読取限定の通信/レート制限だけ3回まで再試行。ポリシー拒否、承認待ち、リース競合、不明な副作用はHOLD。モデル生成コマンドや本番操作は登録不可。
- Supervisor: 厳密なDAG/参照allowlist、独立タスク継続、依存タスクのBLOCKED_DEPENDENCY、起動前RUNNING永続化、クラッシュ後HOLD、Work OS/HMAC以外のDone拒否、状態ファイル0600・HMAC・イベントハッシュチェーン、再実行禁止。
- Adapters: 既存Work OS parallel 3段階 / DAG個別証跡、M2 HMACレビューの読取照合。P6読み取り専用周期監視の実装、systemd unit は staging templateのみ。
- 全回帰190/190 PASS。既存実データを使うshadow job p6-4aec6b77503f4be090bd:parallel_workos VERIFIED、real_git_review VERIFIED、production_rollout WAIT_APPROVAL。署名付きreview xec-31d0592373d88fb573e30c11、Work OS pswarm-8e048c587af84320bbe5を再利用。
- 以前の残差分も別Git checkpointとして保存:MN55 ea0553a332e3bd3e262d4c1e46fc69407c286c96、VPS 4a6da2dfd418e17f598bd0a0e76c9187f210efa1。
残課題/承認ゲート:
- P6 active-mode のfixture DAG実行アダプターは意図的に無効。Work OS CAS/lease、provenance/approval bindを設計・検証。
- systemdユーザーサービスの設置/有効化、既存配車への接続は未実施(本番変更の明示承認IDと切戻し確認必須)。
- アラート配信、状態保管期限/ローテーション、定期運用メトリクス、実障害下での受入。
- 監査証跡・安全に再開できるWork OSのreconcile gateを本番運用へ接続する。
注意: モデル停止・本番Gitマージ・デプロイ・本番モデル起動経路変更は行っていない。
隔離基盤実装と回帰テストは完了(190/190)。実機shadow検証成功。実行サービスの有効化・承認付き配車の本番組込は未承認のため未実施、当面進行中として管理。
2026-10-28 18時台 P6開発継続:承認証明をP6 Supervisorへ隔離統合。対象 MN55 branch feature/p6-approval-reconcile-20261028、隔離Git /home/ito/staging/ai-swarm-p6-approval-20261028、commit e7341532d83497ef316c87b6080eacbdc43bc11c。前ターンのp6_approval_gate.py/31テストはSHA256一致で再利用、p6_approval_integration.pyで真正の運用者binding署名+Work OS証明署名/期限/失効/承認者分離/監査artifact SHAを型付き検証する注入型アダプターを追加。Supervisorの承認再照合は approval_id単独→plan_id/task_id/approval_id束縛へ変更。ステージング作用の実行直前に署名付き承認を再検証し、失効/期限切れ/承認証明差異/承認祖先なしはHOLD(副作用前に拒否、無条件再試行なし)。MN55全246/246回帰合格。実機shadow plan p6-b52b52bb6e0044849e2b: parallel_workos VERIFIED、real_git_review VERIFIED、production_rollout WAIT_APPROVAL。既存 P6 source checkout clean、稼働commander/parallel/DAG/APIはactive。VPS Work OS本体には想定workos-approval-proof/v1の認証済み取得・署名検証APIを確認できず、別途Command Approval Runtime v1は未常駐で代用不可。ゆえに既存P6本番adapterは依然APPROVAL_REQUIREDでfail-closed、カナリアuser systemd有効化・本番Git反映・モデル変更・WorkOS本番書込なし。docs/P6_APPROVAL_GATE_STAGING_20261028.mdへ詳細。次:正規署名付きWork OS証拠APIの仕様確定/接続、読み取り専用実機E2Eと承認ID・切戻し準備後のステージングカナリア。
2026-10-28 P6追加進捗:承認証跡API未接続でも独立して進められる読み取り専用監視を実装。MN55隔離 branch feature/p6-approval-reconcile-20261028、commit 132514d74a7af9e3a48b2b1d1935f9372c041b80。新規 p6_observability.py と test_p6_observability.py。署名付きP6チェックポイント(HMAC+イベントハッシュチェーン検証)からタスク状態集計、HOLD/WAIT_APPROVAL通知候補と安定した重複排除SHAを出力。署名不一致・改ざん・symlink・不正ファイル名は完了として集計せず隔離。外部通知、ジョブ再実行、Work OS書込、systemd有効化、本番変更は一切行わない。実機 read-only報告: 2 plans、VERIFIED 4、WAIT_APPROVAL 2、異常0。全回帰258/258 PASS。前段承認バインディング統合 commit e7341532d83497ef316c87b6080eacbdc43bc11c も隔離済み。P6本番適用は依然HOLD(真正署名付きWork OS proof provider未実装、既存本番adapterはAPPROVAL_REQUIRED)。詳細 docs/P6_APPROVAL_GATE_STAGING_20261028.md。次は正規Work OS署名/失効仕様の確定、read-only実API受入、権限付き canary rollout の独立承認。
2026-10-28 18時台 P6承認証明E2E・スコープ防御の継続開発。非破壊・隔離実装のみ。
【VPS】/root/projects/staging/p6-workos-evidence-20261028、feature/p6-evidence-readonly-20261028、Git commit 14dfb52157fe3351af65042cbd8af499aa2ee6ec。既存Agent Work OS SQLite schema artifacts/evidence_recordsを利用した mode=ro + query_only=ON の証跡読み取りアダプター p6_workos_artifact_readonly.py、独立Ed25519 Work OS/運用者公開鍵とdomain-separated detached signatureを厳格に照合する p6_workos_detached_verify.py を追加。人間の承認発行・秘密鍵を含まず、読み取りはREADBACK_ONLY、署名検証後もSIGNATURE_VERIFIED_ONLY/approval_granted=false。テスト用秘密鍵はメモリ内でのみ生成、実DBへの登録なし。新規reader24件+署名22件、既存を含むVPS全108/108 PASS。MN55→VPS固定SSHによる実Work OS read-only schema canary成功(両テーブル互換、signature_proof_issuer_installed=false、mutation_performed=false)。
【MN55】/home/ito/staging/ai-swarm-p6-effect-scope-20261028、feature/p6-effect-scope-20261028、Git commit 8f67d6ed09a8413e918faaa4868e7a2fb5673627。P6 _fresh_stage_approval に独立した実行スコープの署名証明を必須化。正確なeffect_action/ref、approval_evidence_sha256、scope_evidence_sha256、Work OS起源を再照合。読み取り専用canaryの承認でrun_fixture_dagを実行しない。現行本番型PinnedApprovalVerifier.verify_effect_scopeは常時HOLDで、偽証明・期限切れ・取消・対象不一致は副作用前HOLD。MN55全265/265 PASS。
【残課題】Work OS本体に本物の人間認証・署名付きproof issuer、失効レジストリ、別監査アーティファクト取得APIは未実装。Command Approval Runtime v1/Oni Approval BureauのDB状態を代用しない。MN55でのEd25519 verifier依存性のピン留め(VPSにはcryptographyあり、MN55にはなし)と正式な信頼鍵配備が必要。本番導入は承認ゲートHOLD。原本のMN55/VPSサービス・Git checkout/モデルは変更・停止なし。詳細: VPS docs/P6_WORKOS_PROOF_READBACK_CONTRACT.md、MN55 docs/P6_EFFECT_SCOPE_HARDENING_20261028.md。
2026-10-29 P6 Work OS承認証明発行・失効管理の隔離実装(本番未適用)。
MN55/VPS/B550のリモートSSHは当会話ではプラットフォーム安全性チェックで実行前拒否。別経路で迂回せず、既存P6契約・実Work OSスキーマの前回確認情報を基に独立オフライン環境で開発・検証した。
実装: p6_offline_approval_issuer.py 外部署名済み運用者意図/判断と独立Work OS署名を検証し、二つの不変証跡を組立。p6_staging_revocation.py 外部署名済み失効イベントの追記専用SQLite台帳、署名/ハッシュチェーン/並列競合/重複拒否。p6_workos_registration_plan.py 既存artifacts/evidence_recordsに沿った未承認登録提案(status pending_review、実DB書込なし)。p6_staging_gate.py 全署名、監査SHA、失効再照合を合成し、問題なくてもSTAGING_REVIEWABLE_ONLY / approval_granted=false。従来p6_approval_gateを再利用。
従来31件を含む108/108テストPASS。秘密鍵はテスト時の一時メモリ内のみ。署名発行基盤/鍵配布/実Work OS認証付き登録・失効権威は未接続。本番適用はHOLD。
隔離ローカルGit commit 737e4be814fb86f2912ed536c1279bd0cba60706、branch staging/p6-issuer-20261029(MN55/VPSのGitではない)。成果物 ZIP p6_issuer_staging_20261029.zip SHA256 b6439f77d3d0209db4cf2b86f1573ce5a4794686ef4b76ecba5930949b1a625d、Git bundle p6_issuer_staging_20261029.bundle SHA256 e78f455a3d1e696df91dfeb64f8935606b273fabd77b97f66e2bee97598a679f(当会話添付)。README・MANIFEST・QA_REPORT同梱。
残課題:本人認証された外部運用者署名と独立Work OS署名・発行API、信頼鍵配布/失効台帳外部アンカー、実機read-only E2E、別承認ID付き段階的適用。ポリシー拒否を迂回して本番変更していない。
2026-10-29 JST P6 Google承認導入(隔離ステージング実装)。VPS Work OS stagingの新Worktree /root/projects/staging/p6-google-approval-20261029、branch feature/p6-google-oidc-passkey-20261029、Git commit 0d7b761e91f76d13f805bc37c2e7a0f4b8e5f1db (作業ツリーclean)。既存の原本VPS Work OS/Git checkout不変、MN55モデル稼働サービスに変更なし。Google OIDC認可コード+PKCE-S256+state/nonce/署名検証ID token/Google sub allowlist、WebAuthnパスキー(生体等userVerification required、同一RP origin、短命challenge、操作APPROVE/REJECT拘束、sign_count検査)、Google Authenticator専用TOTP(QR+手動key、別途使い捨てvoucher、Fernet暗号化、6桁30秒、ワンタイム利用、誤入力5回で15分ロック)、HTTPS・Cookie・CSRF/CSP、iPhone向けWeb UI、管理者専用オフラインvoucher/未承認要求CLIを実装。ステージング専用venvへバージョン固定インストール(system global不変)。既存Work OS回帰含め159/159 PASS、Git diff --check PASS。正規Google Cloud OAuth client/承認者の検証済みsub/独立Work OS署名発行API/実公開HTTPSドメインは未設定のため、本物のGoogleログイン・実端末WebAuthn・本番署名E2Eは未実行。GoogleとWebAuthnの正常系はテストモック、失敗系は専用ライブラリの検証を含む。本人認証・TOTP認証後も state=AWAITING_EXTERNAL_WORKOS_ISSUER、execution_authorized=false、P6本番HOLD維持。systemd unitは未設置テンプレートのみ、サービス起動・本番マージ・Work OSレコード変更・LLM起動切替なし。README_P6_GOOGLE_APPROVAL.md に本人対応が必要なGoogle Cloud Client設定、HTTPS、allowlist、信頼鍵とロールバックの手順を記載。次工程:オーナーによるOAuth Cloud ClientとGoogle sub登録、実端末Googleログイン/パスキー/Authenticator受入、別署名issuerと失効照合の正規接続、別承認IDでcanary。
Google OIDC/パスキー/TOTPの隔離実装をコミットし159/159回帰合格。本番サインイン・Work OS独立署名サービス・本番導入は承認待ちHOLD。詳細は最新コメントとVPS隔離Git 0d7b761 を参照。
他の形式にエクスポート: Atom
PDF