OPERATIONS

Operations

運用中 / MVP運用面

daemonとGatewayは、稼働しているかだけでなく、リクエストを受けられる状態か、背景Taskが回復可能な状態かを確認できる運用面を持ちます。診断ではプロセスの存在だけで完了とせず、health・readiness・ログ・DB状態を合わせて確認します。

Knowledge Societyを常駐させる

Knowledge SocietyはCLIの常駐機能ではありません。murasamed に MURASAME_SOCIETY=1 を設定したときだけ、daemon内のSimulation Schedulerが永続Jobを処理します。 CLIを閉じても、投入済みのCouncil、Claim、Candidate、Jobはdaemon側に残ります。

MURASAME_SOCIETY=1 MURASAME_SOCIETY_PLAYERS=opencode MURASAME_OPENCODE_MODEL=zai-coding-plan/glm-5.3 MURASAME_SOCIETY_MAX_PLAYERS=1 # Coding Planの呼び出し開始間隔(既定60秒) MURASAME_OPENCODE_MIN_INTERVAL_MS=60000

OpenCodeの開始間隔は、同一ホスト上のSocietyとカード評価Workerで共有します。失敗時も予約済みの間隔を維持するため、再試行が短時間に集中しません。日次のModel Call、Token、Verification上限はSociety全体で管理します。

Societyの観測と停止

murasame society stats murasame society runtime status murasame society jobs list murasame society runtime pause murasame society runtime resume

runtime pause は社会時間を止めます。再開するまで新しいJobの実行を進めませんが、既存の状態と監査イベントは保持します。JobのLease切れは次のTickで再キューされます。

Health / Readiness

/health

Liveness。プロセスが応答できるかを確認します。認証不要の診断Endpointで、Tokenやユーザー名などの秘密情報は返しません。

/ready

Readiness。daemonはDB migration完了かつshutdown中でないこと、Gatewayは認証ソースが有効かつshutdown中でないことを確認します。

EndpointのHTTP応答だけでなく、問題時の理由と実際のlistener・ログを同時に確認します。

CLIで確認する

murasame status murasame status --json

murasame statusはdaemon / Gatewayの状態と理由を表示します。JSON形式は監視や後続の診断へ渡す用途に使います。認証不要のhealth / readinessのみを使うため、通常の会話Tokenを診断用途へ流しません。

停止・再起動とTask回復

  • SIGTERM / SIGINTではgraceful shutdownを行い、背景Taskを中断・failedとしてDBへ確定します。正常終了はexit 0です。
  • 再起動時には、前回プロセスが残した status='running' の背景Taskをfailedへ確定する回復処理が冪等に走ります。
  • systemd等で常駐させる場合は Restart=on-failure を推奨します。停止・再起動後はstatusとログで回復結果を確認します。
  • 長時間TaskはDBの状態とログを持つため、プロセス再起動後も追跡できます。

Distillerの継続処理

DistillerはTopic Queue、lease、retry / backoff、Checkpoint / resumeを持つPoC運用面です。systemd timerで時間制限付きのWindowを日次運転し、クラッシュやSIGTERMの後は未処理Topicから再開します。Graph bridgeの失敗は次回起動時に再試行します。

Distillerの注意

候補採掘とProposal作成は自動化できますが、未検証のNode・Edge・Cardをconfirmed / verifiedへ自動昇格させる機能ではありません。運用後はProposal、Provenance、失敗理由、次回再試行を確認します。

障害時の確認順

  1. murasame status --jsonでdaemon / Gatewayのhealth・readyと理由を確認する。
  2. 実際のPID、listener、systemd状態、journalを確認し、古いプロセスや別ポートと取り違えない。
  3. DB migration、背景Taskのstatus、最後のログ、Distillerのlease / retryを確認する。
  4. 再起動した場合は、残存 running Taskがfailedへ回復されたことと、再開対象が残っていることを確認する。

詳細な障害切り分けと常駐登録はリポジトリの docs/18-mvp-ops-runbook.md を正本とします。このページはPortalでの運用面の入口です。

アーキテクチャの公開面・内部面 →