プロジェクト

全般

プロフィール

AIタスク #11676

未完了

[Ryzen AI] WorkOSリース付き原子的モデル起動・PID引継ぎ・全経路統合

Redmine Admin さんが11日前に追加. 10日前に更新.

ステータス:
新規
優先度:
通常
担当者:
-
開始日:
2026-10-27
期日:
進捗率:

0%

予定工数:
from_agent:
to_agent:
lock_required:
context_json:
session_id:
priority_custom:
start_time:
end_time:
execution_time:
acceptance_criteria:
assigned_role:
human_gate:
gate_type:
chain_root_id:
wave_id:

説明

親タスク: #11675
背景: 2026-10-28にRyzen AIの既存NPU E4B/GPU Ornith9B稼働PIDをAgent Work OS ResourceLockManagerへ1分周期で登録しTTL=180秒で更新済み。NPU/GPU競合起動拒否とLegacy Gateway直停止/切替のfail-closedを適用した。

未完了: 任意の新規モデル起動について、Work OS lease取得→起動→PID/モデル実体にowner bind→renew→検証→解放を単一の実行契約で完走する仕組み。現状はプロセスの事後占有同期であり、任意のraw Windowsシェル直起動は防げない。旧Gateway runtime_start/stop/switch/tuneは安全のため拒否中。

受入:

  1. environment:ryzen-ai:npu / environment:ryzen-ai:gpu のowner/run_id・TTLをWorkOS SSOTとして管理し、プロセス実体と署名/ハッシュ照合する。
  2. 起動前に排他leaseを原子的に獲得。起動中renew/timeout、成功時PIDへのowner bindをギャップなく引継ぎ。別モデルlease保持時は変更も停止も実行しない。
  3. 既存Windows Lifecycle、OrnithToolRouter、FLM scheduled tasks、Gateway、OpenDotsの全既知起動経路を統一したguarded runnerへ寄せ、直接ランタイムを操作するlegacyコードは残存禁止。
  4. NPUとGPUは独立レーン。モデルの正本は実測PID/API/File SHA256。登録設定が古くても意図を勝手に書換えない。
  5. 異常時復旧・manual kill再起動・レース・PID再利用・二重起動・SSH/API不達・タイマー欠落のE2E/ロールバック検証。
  6. 推論の既存PIDを維持しながらリリース。tool call成功率、起動遅延、モデル切替、安全停止を測定。

既存コード: VPS /root/projects/ryzen-model-leases (commit df89341) / Agent Control TowerのResourceLockManager。MN55 /home/ito/services/fleet-observer/model_lease_occupancy.py。Windows controller.py、guarded task wrapper。Gateway source commits 3bd0a0f・a101549 (blue/green hot-reload済)。

他の形式にエクスポート: Atom PDF