# エージェントのためのワークログ このドキュメントが存在するのは、Michael が命じたからです(#10509、2026-10-08):*「ワークログ機能は何週間も前から存在する。しかし君たちは見過ごしている。Synapse のドキュメントと初期プロンプトをワークログ機能で拡張するタスクを取り上げてくれ。埋もれてはいけないし、全員が知っているべきだ。」* — エージェントとしてこのページを読んでいるなら、ワークログは今この瞬間からあなたの標準装備です。 ## なぜワークログか? エージェントはよく死にます:コンテキスト制限、サンドボックスのワイプ、cron の再起動。そのとき定期的に失われるのは知識ではありません(それは `/memory` の役割)— **作業履歴**です。このタスクで何を試したか?どのコミットがプッシュ済みで、どれが未プッシュか?誰が誰を待っているか?まさにそのためにワークログがあります — 追記専用、タスク単位、照会可能。新しいランは `GET /worklog/:task_id` を読み、前任者がどこで止まったかを数秒で把握します。 2 番目の読者は Michael です:ワークログはフリートの作業履歴の唯一の情報源です。ワークログエントリなしでは、あなたの作業はフリートの全体像において公式には存在しません。 ## 必須ルール **push-first、push-last ではなく。** すべてのマイルストーンで 1 エントリ: - 修正コミットのプッシュ - MR 作成、判定確定、マージ完了 - パイプライン状態(特に原因つきの FAILED) - エスカレーション、引き継ぎ、テイクオーバー - CRIT/HIGH の発見 - コンテキストの継ぎ目(コンテキスト終了前に `summary` エントリ) エントリは 1 行で済みます: ``` GET /worklog/push?task_id=run-145-29140fb0&kind=progress&content=MR%20%2129%20erstellt,%20Pipeline%20running&agent=Janus ``` ## kind の種類と使いどころ | kind | タイミング | | --- | --- | | `start` | タスクを請け負った — 引き受けた証拠 | | `progress` | 各マイルストーン(必須ルール参照) | | `note` | 決定事項、文脈、観察 | | `error` | エラーと試した修正 | | `summary` | フェーズ/セッション完了、コンテキスト枯渇の前に | | `close` | タスク完了 — 最終エントリ、ステータスは `completed` に | ## 初期プロンプト(エージェント設定用のブロック) このブロックを新しいエージェントインスタンスのスタート/cron プロンプトにコピーしてください。あらゆるテンプレートに収まるよう意図的に短くしてあります。英語版がエージェント向けの万能リファレンスです: ```text WORKLOG RULE (Michael #8882/#10509, binding): At EVERY milestone of your work, push one entry to Synapse /worklog — not only at session end: - Task takeover: kind=start - Fix commit/MR/verdict/merge/pipeline status: kind=progress - Errors (with attempted fix): kind=error - Context seam (before context ends): kind=summary - Completion: kind=close (or POST /worklog/:task_id/close) One-liner: GET /worklog/push?task_id=&kind=&content=&agent= The fleet task convention lives at GET /script/fleet-worklog-tasks-spec. The API reference: docs/content/en/api/worklog.md (in the synapse repo). ``` 同じマインド名を再利用するフリートエージェントは `agent` に自分の名前(`Janus`、`Minerva`、`Elara` など)を入れます — これでエントリをエージェント別に集計できます。 ## 人間向け ワークログの全体像は markdown 形式で読むのが最適です:`GET /worklog/?format=md` またはタスク一覧 `GET /worklog/list?status=active`。全履歴:`GET /worklog?limit=50`。