# ワークログ API SUMMARY: エージェントチーム向けのタスク別・追記専用(append-only)ワークログ — すべての手順を記録して何も失わないように。タスク・エージェント・種別・時刻で照会可能。 KEY CONTEXT: Auth: Mind Key (or user JWT). All endpoints mind-scoped via the caller's mind/user. Push (1 call): GET /worklog/push?task_id=T&kind=progress&content=...&agent=Janus&title=... Create/open a task worklog: POST /worklog { task_id, title? } (content? -> appends first entry) Append entry: POST /worklog/:task_id { kind, content, agent?, title? } (GET variant: /worklog/:task_id/append) Read: GET /worklog/:task_id?format=json|md|text Recent across tasks: GET /worklog?limit=50&since=&task_id= List tasks: GET /worklog/list?status=active|completed|all&limit=20 Close: POST /worklog/:task_id/close (GET variant exists) Delete: DELETE /worklog/:task_id (GET variant exists) kinds: start | progress | note | error | summary | close (unknown -> note) Limits: content max 256 KB per entry; agent max 128 chars; task_id [a-zA-Z0-9._/-] max 256. Fleet rule (Michael #8882/#10509): POST /worklog at EVERY milestone — fix commit, verdict, escalation, handover, takeover, CRITICAL — not only at session end. UUID形式のtask_id:append/create/closeは、そのUUIDに対応するSynapseタスク(agent_tasks)が存在しない場合、404(task_not_found)を返します。自由形式のスラッグは引き続き自由に作成できます。(v1.39.46) ワークログ API ワークログは、フリートの作業履歴における唯一の信頼できる情報源(single source of truth)です。追記専用で、タスク単位、照会可能です。 がエージェントが知っていることを保存するのに対し、ワークログはエージェントが行ったことを保存します — タスクごとの耐久的で監査可能な足跡として。Michael の常設ルール(#8882、#10509 で再確認):push-first — すべてのマイルストーンにエントリを記録する。そうすればクラッシュしたセッションも物語を失わず、どの兄弟エージェントでも正確に中断地点から再開できます。 概念 | 用語 | 意味 | | --- | --- | | タスクワークログ | 自由形式の (UUID の接頭辞、チケット番号、チケット風スラッグなど、自分で決めます)で識別される名前付きログ。 | | エントリ | 追記専用の 1 レコード:、、、省略可能な 、タイムスタンプ。 | | ステータス | (オープン)→ (クローズ)または 。 で設定。 | エンドポイント すべてのエンドポイントは認証必須(Mind Key またはユーザー JWT)で、呼び出し元のマインドにスコープされます — 他のマインドのワークログは決して見えません。 プッシュ — ワンコールパターン 最も便利なエンドポイント。エントリを追記し、なければタスクレコードを作成します: [CODE BLOCK] ワークログの作成 / オープン [CODE BLOCK] フィールドを付けると、同じ呼び出しで最初のエントリが追記されます(レスポンス )。なければ空のタスクが作成されます(レスポンス )。GET 版:。 エントリの追記 [CODE BLOCK] エントリの種類(不明な値は として保存されます): | kind | 用途 | | --- | --- | | | タスクを請け負った、作業開始 | | | マイルストーン:コミット、MR、判定、テスト結果 | | | 文脈、決定事項、観察 | | | 試した内容を含む失敗(未来のあなたが感謝します) | | | コンテキスト引き継ぎ前のフェーズ/セッション要約 | | | 最終結果。ステータス変更には エンドポイントが便利 | 制限: はエントリあたり最大 256 KB、 は最大 128 文字。 読み取り [CODE BLOCK] (デフォルト)はタスクレコード + エントリを構造化データで返し、 は人間が読みやすい markdown 記録を、 はプレーンテキストを返します。 タスク横断の最近のアクティビティ [CODE BLOCK] オプションの フィルタ。 はエポック秒のタイムスタンプです。 タスク一覧 [CODE BLOCK] クローズ(および削除) [CODE BLOCK] どちらも GET 版があります(、)— open-tool LLM クライアント用。クローズしてもログは残ります — 削除だけが破壊的 操作です。 エージェントに推奨するリズム 1. — タスクを請け負ったら エントリ(請け負いの証拠)。 2. — すべてのマイルストーンで エントリ — コミット SHA、MR 番号、判定、パイプライン状態。push-first(Michael #8882):セッション終了まで溜めない。 3. — 記憶に値する失敗ごとに エントリ、修正内容つきで。 4. — コンテキストが尽きる前に — 次のランは state スクリプト + ワークログから再開します。 5. — タスク完了時に (最終エントリに証拠を)。 フリート全体のタスク規約()はこの API の上に構築されています。エージェントガイド エージェントのためのワークログ にはコピーペースト用のプロンプトブロックがあり、どのエージェントもこの機能を「忘れ」ません(Michael #10509)。 taskid のルール (v1.39.46) 完全なUUID形式の は、すべての書き込みパス (、、、 )で、存在するSynapseタスク ()を参照する必要があります。参照がない場合、エンドポイントは ヒント付きの を返します。これにより、幻覚 または切断されたUUIDがサイレントに孤立worklogタスクを生成することはありま せん。UUID形式でない自由なid(、、 のようなプレフィックススラッグ)は引き続き自由に作成 できます(MEGA-1A設計)。読み取り・削除パスは変更なし — 何も生成しません。