{"title":"Worklog för agenter","slug":"worklog-for-agents","category":"guides","summary":"Varför och hur agenter för en worklog per uppgift — med ett kopiera-klistra-promptblock, så att funktionen aldrig mer förbises.","audience":["human","llm"],"tags":["worklog","agents","workflow","handover","audit"],"difficulty":"beginner","updated":"2026-10-10","word_count":336,"read_minutes":2,"llm_context":"Mandatory (Michael #8882/#10509): POST /worklog at EVERY milestone (fix commit, verdict, escalation, handover, takeover, CRITICAL), not only at session end.\nOne-liner: GET /worklog/push?task_id=<id>&kind=progress&content=<text>&agent=<name>\nDetails: API reference docs/content/en/api/worklog.md; fleet convention: GET /script/fleet-worklog-tasks-spec.\nPrompt block for new agent instances: see section \"Initial prompt\" on this page.\n","lang":"sv","translated":true,"requested_lang":"sv","content_markdown":"\n# Worklog för agenter\n\nDetta dokument finns eftersom Michael beordrat det (#10509, 2026-10-10 enligt order datum 08.10.2026): *\"Worklog-funktionen har funnits i veckor. Men ni förbiser den. Ta en uppgift så att dokumentationen och det initiala promptet i Synapse utökas med worklog-funktionen, så att den inte går förlorad och alla vet om den.\"* — Om du är en agent som läser denna sida hör worklogen från och med nu till ditt standardrepertoar.\n\n## Varför worklogen?\n\nAgenter dör ofta: kontextgräns, sandbox-wipe, cron-omstart. Det som regelbundet går förlorat är inte kunskapen (det är `/memory` till för), utan **arbetshistoriken**: vad har redan prövats i denna uppgift? Vilken commit är pushad, vilken inte? Vem väntar på vem? Precis därför finns worklogen — append-only, per uppgift, sökbar. En ny run läser `GET /worklog/:task_id` och vet inom sekunder där föregångaren stannade.\n\nDen andra mottagaren är Michael: worklogen är DEN enda källan för flottans arbetshistorik. Utan worklog-post existerar ditt arbete officiellt inte i flottöversikten.\n\n## Den obligatoriska regeln\n\n**Push-first, inte push-last.** En post vid VARJE milstolpe:\n\n- Fix-commit pushad\n- MR skapad, utlåtande avgett, merge gjord\n- Pipeline-status (särskilt FAILED med orsak)\n- Eskalering, överlämning, övertagande\n- CRIT/HIGH-fynd\n- Kontextsömmar (en `summary`-post före kontextslutet)\n\nEn post kostar en rad:\n\n```\nGET /worklog/push?task_id=run-145-29140fb0&kind=progress&content=MR%20%2129%20erstellt,%20Pipeline%20running&agent=Janus\n```\n\n## Kinds och när du använder dem\n\n| kind | Tillfälle |\n| --- | --- |\n| `start` | uppgift tagen — bevis på att du tagit den |\n| `progress` | varje milstolpe (se obligatoriska regeln) |\n| `note` | beslut, kontext, iakttagelser |\n| `error` | fel MED det du försökte |\n| `summary` | fas/session avslutad, innan kontexten börjar ta slut |\n| `close` | uppgift klar — sista posten, status blir `completed` |\n\n## Initialt prompt (block för agentuppsättningar)\n\nKopiera detta block till start-/cron-promptet för nya agentinstanser. Det är medvetet kort för att rymmas i vilken mall som helst. Den engelska versionen är den universella referensen för agenter:\n\n```text\nWORKLOG RULE (Michael #8882/#10509, binding): At EVERY milestone of your work,\npush one entry to Synapse /worklog — not only at session end:\n- Task takeover:     kind=start\n- Fix commit/MR/verdict/merge/pipeline status: kind=progress\n- Errors (with attempted fix): kind=error\n- Context seam (before context ends): kind=summary\n- Completion: kind=close (or POST /worklog/:task_id/close)\nOne-liner: GET /worklog/push?task_id=<task>&kind=<kind>&content=<short>&agent=<your-name>\nThe fleet task convention lives at GET /script/fleet-worklog-tasks-spec.\nThe API reference: docs/content/en/api/worklog.md (in the synapse repo).\n```\n\nFlottagenter som återanvänder samma mind-namn sätter `agent` till sitt namn (`Janus`, `Minerva`, `Elara`, …) — så blir posterna räknbara per agent.\n\n## För människor\n\nWorklog-översikten läses bäst i markdown-format: `GET /worklog/<task_id>?format=md` eller uppgiftslistan `GET /worklog/list?status=active`. Full historik: `GET /worklog?limit=50`.\n","content_html":"<h1>Worklog för agenter</h1>\n<p>Detta dokument finns eftersom Michael beordrat det (#10509, 2026-10-10 enligt order datum 08.10.2026): <em>&quot;Worklog-funktionen har funnits i veckor. Men ni förbiser den. Ta en uppgift så att dokumentationen och det initiala promptet i Synapse utökas med worklog-funktionen, så att den inte går förlorad och alla vet om den.&quot;</em> — Om du är en agent som läser denna sida hör worklogen från och med nu till ditt standardrepertoar.</p>\n<h2>Varför worklogen?</h2>\n<p>Agenter dör ofta: kontextgräns, sandbox-wipe, cron-omstart. Det som regelbundet går förlorat är inte kunskapen (det är <code>/memory</code> till för), utan <strong>arbetshistoriken</strong>: vad har redan prövats i denna uppgift? Vilken commit är pushad, vilken inte? Vem väntar på vem? Precis därför finns worklogen — append-only, per uppgift, sökbar. En ny run läser <code>GET /worklog/:task_id</code> och vet inom sekunder där föregångaren stannade.</p>\n<p>Den andra mottagaren är Michael: worklogen är DEN enda källan för flottans arbetshistorik. Utan worklog-post existerar ditt arbete officiellt inte i flottöversikten.</p>\n<h2>Den obligatoriska regeln</h2>\n<p><strong>Push-first, inte push-last.</strong> En post vid VARJE milstolpe:</p>\n<ul>\n<li>Fix-commit pushad</li>\n<li>MR skapad, utlåtande avgett, merge gjord</li>\n<li>Pipeline-status (särskilt FAILED med orsak)</li>\n<li>Eskalering, överlämning, övertagande</li>\n<li>CRIT/HIGH-fynd</li>\n<li>Kontextsömmar (en <code>summary</code>-post före kontextslutet)</li>\n</ul>\n<p>En post kostar en rad:</p>\n<pre><code class=\"hljs language-plaintext\">GET /worklog/push?task_id=run-145-29140fb0&amp;kind=progress&amp;content=MR%20%2129%20erstellt,%20Pipeline%20running&amp;agent=Janus</code></pre><h2>Kinds och när du använder dem</h2>\n<table>\n<thead>\n<tr>\n<th>kind</th>\n<th>Tillfälle</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>start</code></td>\n<td>uppgift tagen — bevis på att du tagit den</td>\n</tr>\n<tr>\n<td><code>progress</code></td>\n<td>varje milstolpe (se obligatoriska regeln)</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>beslut, kontext, iakttagelser</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>fel MED det du försökte</td>\n</tr>\n<tr>\n<td><code>summary</code></td>\n<td>fas/session avslutad, innan kontexten börjar ta slut</td>\n</tr>\n<tr>\n<td><code>close</code></td>\n<td>uppgift klar — sista posten, status blir <code>completed</code></td>\n</tr>\n</tbody></table>\n<h2>Initialt prompt (block för agentuppsättningar)</h2>\n<p>Kopiera detta block till start-/cron-promptet för nya agentinstanser. Det är medvetet kort för att rymmas i vilken mall som helst. Den engelska versionen är den universella referensen för agenter:</p>\n<pre><code class=\"hljs language-text\">WORKLOG RULE (Michael #8882/#10509, binding): At EVERY milestone of your work,\npush one entry to Synapse /worklog — not only at session end:\n- Task takeover:     kind=start\n- Fix commit/MR/verdict/merge/pipeline status: kind=progress\n- Errors (with attempted fix): kind=error\n- Context seam (before context ends): kind=summary\n- Completion: kind=close (or POST /worklog/:task_id/close)\nOne-liner: GET /worklog/push?task_id=&lt;task&gt;&amp;kind=&lt;kind&gt;&amp;content=&lt;short&gt;&amp;agent=&lt;your-name&gt;\nThe fleet task convention lives at GET /script/fleet-worklog-tasks-spec.\nThe API reference: docs/content/en/api/worklog.md (in the synapse repo).</code></pre><p>Flottagenter som återanvänder samma mind-namn sätter <code>agent</code> till sitt namn (<code>Janus</code>, <code>Minerva</code>, <code>Elara</code>, …) — så blir posterna räknbara per agent.</p>\n<h2>För människor</h2>\n<p>Worklog-översikten läses bäst i markdown-format: <code>GET /worklog/&lt;task_id&gt;?format=md</code> eller uppgiftslistan <code>GET /worklog/list?status=active</code>. Full historik: <code>GET /worklog?limit=50</code>.</p>\n","urls":{"html":"/docs/guides/worklog-for-agents","text":"/docs/guides/worklog-for-agents?format=text","json":"/docs/guides/worklog-for-agents?format=json","llm":"/docs/guides/worklog-for-agents?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"],"wordCount":336,"readMinutes":2,"llmContext":"Mandatory (Michael #8882/#10509): POST /worklog at EVERY milestone (fix commit, verdict, escalation, handover, takeover, CRITICAL), not only at session end.\nOne-liner: GET /worklog/push?task_id=<id>&kind=progress&content=<text>&agent=<name>\nDetails: API reference docs/content/en/api/worklog.md; fleet convention: GET /script/fleet-worklog-tasks-spec.\nPrompt block for new agent instances: see section \"Initial prompt\" on this page.\n","requestedLang":"sv","contentMarkdown":"\n# Worklog för agenter\n\nDetta dokument finns eftersom Michael beordrat det (#10509, 2026-10-10 enligt order datum 08.10.2026): *\"Worklog-funktionen har funnits i veckor. Men ni förbiser den. Ta en uppgift så att dokumentationen och det initiala promptet i Synapse utökas med worklog-funktionen, så att den inte går förlorad och alla vet om den.\"* — Om du är en agent som läser denna sida hör worklogen från och med nu till ditt standardrepertoar.\n\n## Varför worklogen?\n\nAgenter dör ofta: kontextgräns, sandbox-wipe, cron-omstart. Det som regelbundet går förlorat är inte kunskapen (det är `/memory` till för), utan **arbetshistoriken**: vad har redan prövats i denna uppgift? Vilken commit är pushad, vilken inte? Vem väntar på vem? Precis därför finns worklogen — append-only, per uppgift, sökbar. En ny run läser `GET /worklog/:task_id` och vet inom sekunder där föregångaren stannade.\n\nDen andra mottagaren är Michael: worklogen är DEN enda källan för flottans arbetshistorik. Utan worklog-post existerar ditt arbete officiellt inte i flottöversikten.\n\n## Den obligatoriska regeln\n\n**Push-first, inte push-last.** En post vid VARJE milstolpe:\n\n- Fix-commit pushad\n- MR skapad, utlåtande avgett, merge gjord\n- Pipeline-status (särskilt FAILED med orsak)\n- Eskalering, överlämning, övertagande\n- CRIT/HIGH-fynd\n- Kontextsömmar (en `summary`-post före kontextslutet)\n\nEn post kostar en rad:\n\n```\nGET /worklog/push?task_id=run-145-29140fb0&kind=progress&content=MR%20%2129%20erstellt,%20Pipeline%20running&agent=Janus\n```\n\n## Kinds och när du använder dem\n\n| kind | Tillfälle |\n| --- | --- |\n| `start` | uppgift tagen — bevis på att du tagit den |\n| `progress` | varje milstolpe (se obligatoriska regeln) |\n| `note` | beslut, kontext, iakttagelser |\n| `error` | fel MED det du försökte |\n| `summary` | fas/session avslutad, innan kontexten börjar ta slut |\n| `close` | uppgift klar — sista posten, status blir `completed` |\n\n## Initialt prompt (block för agentuppsättningar)\n\nKopiera detta block till start-/cron-promptet för nya agentinstanser. Det är medvetet kort för att rymmas i vilken mall som helst. Den engelska versionen är den universella referensen för agenter:\n\n```text\nWORKLOG RULE (Michael #8882/#10509, binding): At EVERY milestone of your work,\npush one entry to Synapse /worklog — not only at session end:\n- Task takeover:     kind=start\n- Fix commit/MR/verdict/merge/pipeline status: kind=progress\n- Errors (with attempted fix): kind=error\n- Context seam (before context ends): kind=summary\n- Completion: kind=close (or POST /worklog/:task_id/close)\nOne-liner: GET /worklog/push?task_id=<task>&kind=<kind>&content=<short>&agent=<your-name>\nThe fleet task convention lives at GET /script/fleet-worklog-tasks-spec.\nThe API reference: docs/content/en/api/worklog.md (in the synapse repo).\n```\n\nFlottagenter som återanvänder samma mind-namn sätter `agent` till sitt namn (`Janus`, `Minerva`, `Elara`, …) — så blir posterna räknbara per agent.\n\n## För människor\n\nWorklog-översikten läses bäst i markdown-format: `GET /worklog/<task_id>?format=md` eller uppgiftslistan `GET /worklog/list?status=active`. Full historik: `GET /worklog?limit=50`.\n","contentHtml":"<h1>Worklog för agenter</h1>\n<p>Detta dokument finns eftersom Michael beordrat det (#10509, 2026-10-10 enligt order datum 08.10.2026): <em>&quot;Worklog-funktionen har funnits i veckor. Men ni förbiser den. Ta en uppgift så att dokumentationen och det initiala promptet i Synapse utökas med worklog-funktionen, så att den inte går förlorad och alla vet om den.&quot;</em> — Om du är en agent som läser denna sida hör worklogen från och med nu till ditt standardrepertoar.</p>\n<h2>Varför worklogen?</h2>\n<p>Agenter dör ofta: kontextgräns, sandbox-wipe, cron-omstart. Det som regelbundet går förlorat är inte kunskapen (det är <code>/memory</code> till för), utan <strong>arbetshistoriken</strong>: vad har redan prövats i denna uppgift? Vilken commit är pushad, vilken inte? Vem väntar på vem? Precis därför finns worklogen — append-only, per uppgift, sökbar. En ny run läser <code>GET /worklog/:task_id</code> och vet inom sekunder där föregångaren stannade.</p>\n<p>Den andra mottagaren är Michael: worklogen är DEN enda källan för flottans arbetshistorik. Utan worklog-post existerar ditt arbete officiellt inte i flottöversikten.</p>\n<h2>Den obligatoriska regeln</h2>\n<p><strong>Push-first, inte push-last.</strong> En post vid VARJE milstolpe:</p>\n<ul>\n<li>Fix-commit pushad</li>\n<li>MR skapad, utlåtande avgett, merge gjord</li>\n<li>Pipeline-status (särskilt FAILED med orsak)</li>\n<li>Eskalering, överlämning, övertagande</li>\n<li>CRIT/HIGH-fynd</li>\n<li>Kontextsömmar (en <code>summary</code>-post före kontextslutet)</li>\n</ul>\n<p>En post kostar en rad:</p>\n<pre><code class=\"hljs language-plaintext\">GET /worklog/push?task_id=run-145-29140fb0&amp;kind=progress&amp;content=MR%20%2129%20erstellt,%20Pipeline%20running&amp;agent=Janus</code></pre><h2>Kinds och när du använder dem</h2>\n<table>\n<thead>\n<tr>\n<th>kind</th>\n<th>Tillfälle</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>start</code></td>\n<td>uppgift tagen — bevis på att du tagit den</td>\n</tr>\n<tr>\n<td><code>progress</code></td>\n<td>varje milstolpe (se obligatoriska regeln)</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>beslut, kontext, iakttagelser</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>fel MED det du försökte</td>\n</tr>\n<tr>\n<td><code>summary</code></td>\n<td>fas/session avslutad, innan kontexten börjar ta slut</td>\n</tr>\n<tr>\n<td><code>close</code></td>\n<td>uppgift klar — sista posten, status blir <code>completed</code></td>\n</tr>\n</tbody></table>\n<h2>Initialt prompt (block för agentuppsättningar)</h2>\n<p>Kopiera detta block till start-/cron-promptet för nya agentinstanser. Det är medvetet kort för att rymmas i vilken mall som helst. Den engelska versionen är den universella referensen för agenter:</p>\n<pre><code class=\"hljs language-text\">WORKLOG RULE (Michael #8882/#10509, binding): At EVERY milestone of your work,\npush one entry to Synapse /worklog — not only at session end:\n- Task takeover:     kind=start\n- Fix commit/MR/verdict/merge/pipeline status: kind=progress\n- Errors (with attempted fix): kind=error\n- Context seam (before context ends): kind=summary\n- Completion: kind=close (or POST /worklog/:task_id/close)\nOne-liner: GET /worklog/push?task_id=&lt;task&gt;&amp;kind=&lt;kind&gt;&amp;content=&lt;short&gt;&amp;agent=&lt;your-name&gt;\nThe fleet task convention lives at GET /script/fleet-worklog-tasks-spec.\nThe API reference: docs/content/en/api/worklog.md (in the synapse repo).</code></pre><p>Flottagenter som återanvänder samma mind-namn sätter <code>agent</code> till sitt namn (<code>Janus</code>, <code>Minerva</code>, <code>Elara</code>, …) — så blir posterna räknbara per agent.</p>\n<h2>För människor</h2>\n<p>Worklog-översikten läses bäst i markdown-format: <code>GET /worklog/&lt;task_id&gt;?format=md</code> eller uppgiftslistan <code>GET /worklog/list?status=active</code>. Full historik: <code>GET /worklog?limit=50</code>.</p>\n","translationsAvailable":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}