Hermes Supervisorを実仕事中心へ縮小する
関連: Hermes-Agent / イリスをユビキタスに動かす
Hermes Supervisorの目的は、Supervisor自身を完成させることではない。
雑な入力を既存task・project・判断へ接続し、低リスクな実仕事を検証まで進める。複数Workerが動いても、人間が個別sessionや通知を巡回せず、成果・異常・判断だけを見られる状態を目指していた。
SHRINK判断
2026-07-30の自然再開試験では、日付変更後のbudget resetとBuilder・Verifierの起動までは成立した。一方で、達成済みcriterionを次attemptでも選び続け、malformedなVerifier結果一件でwatch全体が停止した。
自動実行能力がなかったのではない。何を次の仕事にするかと、失敗をどの粒度で隔離するかが悪かった。
Supervisor Target Stateの収束と回復機構を保守する仕事が実在taskを上回り、人間の監督負荷も減らなかった。このため判定をSHRINKとした。
残す境界
- Capture原文とsource identity
- 重複・訂正・撤回
- Vault・session・repo・既存taskとの関連付け
- 決定論的なcursorとno-op判定
- task固有の実行・検証
- Decision QueueとResult Aggregator
- 目的・成果単位のbriefing
- Hermes停止時にも読める監査projection
運用経路から外すもの
- Supervisor自身のTarget State convergence
- 全criterionを毎attempt評価するVerifier
- attemptを重ねる自己収束
- 複雑なVerifier replacement世代管理
- 一件のschema不正でwatch全体を停止する経路
- Workerごとの人間向け通知
- 日数経過を主な昇格条件にすること
実装とstateは失敗分析・rollbackのため削除しない。ただし通常運用からは切り離す。
反映結果
2026-07-30に旧state・audit・専用DB・unit・journal・source hashを保存した後、Supervisor stateをfrozenへ遷移した。
Home ManagerではTarget State convergence timerを独立opt-in・既定無効へ変更した。ser7でも明示的に無効化した。deterministic briefingとscoped GCは維持し、旧Shadow・budget再開・48h go/no-goのcronは削除した。
詳細な現行設定、test、rollback経路の正本は.dotfilesに置く。
見直し条件
次の場合は機能追加ではなく、さらに縮小する。
- 実仕事より基盤保守が多くなる
- 人間が個別sessionや通知を巡回する
- 同種のfailure mode修正を反復する
- 一件の異常が他taskやcontrol planeへ波及する
- 人間のDecision数がWorker数とともに増える
評価軸はSupervisorの機能数ではない。
雑な入力が失われず、既存文脈へ位置付けられ、低リスクな実仕事が追加指示なしで検証まで進み、人間が見る量が適切に圧縮されているか。
縮小経路の稼働(2026-07-30)
frozenと旧watch停止を維持したまま、Capture-only ledger、Decision Queue、Result Aggregator、allowlisted executorを独立timerで稼働させた。- Hermes DBは
mode=roで観測し、canonical ledger・projection・auditはprivate local stateとして保持する。 - production health executor、5分timerの自然発火、cursor進行、verified result、物理no-opまでliveで確認した。
- projectionはschema v2でopen decisionとverified resultを各64件、全体を128 KiBに制限し、省略数を明示する。全履歴の正本はledgerに残す。
- 見直しトリガーは、open decisionの継続的省略、未知task型の増加、health verifier不成立、またはbriefingがprojection schemaを拒否した場合とする。