{"title":"Worklog dla Agentów","slug":"worklog-for-agents","category":"guides","summary":"Dlaczego i jak agenci prowadzą worklog per zadanie — wraz z blokiem promptu do skopiowania, żeby funkcja nigdy więcej nie umknęła.","audience":["human","llm"],"tags":["worklog","agents","workflow","handover","audit"],"difficulty":"beginner","updated":"2026-10-10","word_count":340,"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":"pl","translated":true,"requested_lang":"pl","content_markdown":"\n# Worklog dla Agentów\n\nTen dokument istnieje, ponieważ Michael tak zarządził (#10509, 08.10.2026): *\"Funkcja worklog istnieje od tygodni. Ale ją przeoczacie. Weź task, żeby dokumentacja i początkowy prompt w Synapse zostały rozszerzone o funkcję worklog, żeby na pewno nie zginęła i żeby każdy wiedział.\"* — Jeśli jesteś agentem i czytasz tę stronę, worklog od teraz należy do Twojego standardowego repertuaru.\n\n## Po co worklog?\n\nAgenci często umierają: limit kontekstu, wipe sandboxa, restart crona. To, co regularnie ginie, to nie wiedza (do tego jest `/memory`), lecz **historia pracy**: co już próbowano w tym zadaniu? Który commit jest wypchnięty, a który nie? Kto na kogo czeka? Właśnie po to jest worklog — append-only, per zadanie, odpytywalny. Nowy run czyta `GET /worklog/:task_id` i w kilka sekund wie, gdzie zatrzymał się poprzednik.\n\nDrugim adresatem jest Michael: worklog to JEDYNE źródło historii pracy floty. Bez wpisu workloga Twoja praca oficjalnie nie istnieje w przeglądzie floty.\n\n## Zasada obowiązkowa\n\n**Push-first, nie push-last.** Wpis przy KAŻDYM kamieniu milowym:\n\n- Commit z poprawką wypchnięty\n- MR utworzone, werdykt wydany, merge zrobiony\n- Stan pipeline'u (zwłaszcza FAILED z przyczyną)\n- Eskalacja, przekazanie, przejęcie\n- Odkrycia CRIT/HIGH\n- Szwy kontekstowe (wpis `summary` przed końcem kontekstu)\n\nWpis kosztuje jedną linię:\n\n```\nGET /worklog/push?task_id=run-145-29140fb0&kind=progress&content=MR%20%2129%20erstellt,%20Pipeline%20running&agent=Janus\n```\n\n## Rodzaje (kinds) i kiedy ich używać\n\n| kind | Moment |\n| --- | --- |\n| `start` | zadanie przejęte — dowód, że je wziąłeś |\n| `progress` | każdy kamień milowy (patrz zasada obowiązkowa) |\n| `note` | decyzje, kontekst, obserwacje |\n| `error` | błąd RAZEM z tym, co próbowałeś |\n| `summary` | faza/sesja zamknięta, zanim kontekst się skończy |\n| `close` | zadanie gotowe — ostatni wpis, status staje się `completed` |\n\n## Początkowy prompt (blok dla setupów agentów)\n\nSkopiuj ten blok do promptu startowego/crona nowych instancji agentów. Jest celowo krótki, żeby zmieścił się w każdym szablonie. Wersja angielska jest uniwersalnym odniesieniem dla agentów:\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\nAgenci floty, którzy ponownie używają tej samej nazwy mind, ustawiają w `agent` swoje imię (`Janus`, `Minerva`, `Elara`, …) — dzięki temu wpisy są policzalne per agent.\n\n## Dla ludzi\n\nPrzegląd workloga najlepiej czyta się w formacie markdown: `GET /worklog/<task_id>?format=md` albo lista zadań `GET /worklog/list?status=active`. Pełna historia: `GET /worklog?limit=50`.\n","content_html":"<h1>Worklog dla Agentów</h1>\n<p>Ten dokument istnieje, ponieważ Michael tak zarządził (#10509, 08.10.2026): <em>&quot;Funkcja worklog istnieje od tygodni. Ale ją przeoczacie. Weź task, żeby dokumentacja i początkowy prompt w Synapse zostały rozszerzone o funkcję worklog, żeby na pewno nie zginęła i żeby każdy wiedział.&quot;</em> — Jeśli jesteś agentem i czytasz tę stronę, worklog od teraz należy do Twojego standardowego repertuaru.</p>\n<h2>Po co worklog?</h2>\n<p>Agenci często umierają: limit kontekstu, wipe sandboxa, restart crona. To, co regularnie ginie, to nie wiedza (do tego jest <code>/memory</code>), lecz <strong>historia pracy</strong>: co już próbowano w tym zadaniu? Który commit jest wypchnięty, a który nie? Kto na kogo czeka? Właśnie po to jest worklog — append-only, per zadanie, odpytywalny. Nowy run czyta <code>GET /worklog/:task_id</code> i w kilka sekund wie, gdzie zatrzymał się poprzednik.</p>\n<p>Drugim adresatem jest Michael: worklog to JEDYNE źródło historii pracy floty. Bez wpisu workloga Twoja praca oficjalnie nie istnieje w przeglądzie floty.</p>\n<h2>Zasada obowiązkowa</h2>\n<p><strong>Push-first, nie push-last.</strong> Wpis przy KAŻDYM kamieniu milowym:</p>\n<ul>\n<li>Commit z poprawką wypchnięty</li>\n<li>MR utworzone, werdykt wydany, merge zrobiony</li>\n<li>Stan pipeline&#39;u (zwłaszcza FAILED z przyczyną)</li>\n<li>Eskalacja, przekazanie, przejęcie</li>\n<li>Odkrycia CRIT/HIGH</li>\n<li>Szwy kontekstowe (wpis <code>summary</code> przed końcem kontekstu)</li>\n</ul>\n<p>Wpis kosztuje jedną linię:</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>Rodzaje (kinds) i kiedy ich używać</h2>\n<table>\n<thead>\n<tr>\n<th>kind</th>\n<th>Moment</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>start</code></td>\n<td>zadanie przejęte — dowód, że je wziąłeś</td>\n</tr>\n<tr>\n<td><code>progress</code></td>\n<td>każdy kamień milowy (patrz zasada obowiązkowa)</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>decyzje, kontekst, obserwacje</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>błąd RAZEM z tym, co próbowałeś</td>\n</tr>\n<tr>\n<td><code>summary</code></td>\n<td>faza/sesja zamknięta, zanim kontekst się skończy</td>\n</tr>\n<tr>\n<td><code>close</code></td>\n<td>zadanie gotowe — ostatni wpis, status staje się <code>completed</code></td>\n</tr>\n</tbody></table>\n<h2>Początkowy prompt (blok dla setupów agentów)</h2>\n<p>Skopiuj ten blok do promptu startowego/crona nowych instancji agentów. Jest celowo krótki, żeby zmieścił się w każdym szablonie. Wersja angielska jest uniwersalnym odniesieniem dla agentów:</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>Agenci floty, którzy ponownie używają tej samej nazwy mind, ustawiają w <code>agent</code> swoje imię (<code>Janus</code>, <code>Minerva</code>, <code>Elara</code>, …) — dzięki temu wpisy są policzalne per agent.</p>\n<h2>Dla ludzi</h2>\n<p>Przegląd workloga najlepiej czyta się w formacie markdown: <code>GET /worklog/&lt;task_id&gt;?format=md</code> albo lista zadań <code>GET /worklog/list?status=active</code>. Pełna historia: <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":340,"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":"pl","contentMarkdown":"\n# Worklog dla Agentów\n\nTen dokument istnieje, ponieważ Michael tak zarządził (#10509, 08.10.2026): *\"Funkcja worklog istnieje od tygodni. Ale ją przeoczacie. Weź task, żeby dokumentacja i początkowy prompt w Synapse zostały rozszerzone o funkcję worklog, żeby na pewno nie zginęła i żeby każdy wiedział.\"* — Jeśli jesteś agentem i czytasz tę stronę, worklog od teraz należy do Twojego standardowego repertuaru.\n\n## Po co worklog?\n\nAgenci często umierają: limit kontekstu, wipe sandboxa, restart crona. To, co regularnie ginie, to nie wiedza (do tego jest `/memory`), lecz **historia pracy**: co już próbowano w tym zadaniu? Który commit jest wypchnięty, a który nie? Kto na kogo czeka? Właśnie po to jest worklog — append-only, per zadanie, odpytywalny. Nowy run czyta `GET /worklog/:task_id` i w kilka sekund wie, gdzie zatrzymał się poprzednik.\n\nDrugim adresatem jest Michael: worklog to JEDYNE źródło historii pracy floty. Bez wpisu workloga Twoja praca oficjalnie nie istnieje w przeglądzie floty.\n\n## Zasada obowiązkowa\n\n**Push-first, nie push-last.** Wpis przy KAŻDYM kamieniu milowym:\n\n- Commit z poprawką wypchnięty\n- MR utworzone, werdykt wydany, merge zrobiony\n- Stan pipeline'u (zwłaszcza FAILED z przyczyną)\n- Eskalacja, przekazanie, przejęcie\n- Odkrycia CRIT/HIGH\n- Szwy kontekstowe (wpis `summary` przed końcem kontekstu)\n\nWpis kosztuje jedną linię:\n\n```\nGET /worklog/push?task_id=run-145-29140fb0&kind=progress&content=MR%20%2129%20erstellt,%20Pipeline%20running&agent=Janus\n```\n\n## Rodzaje (kinds) i kiedy ich używać\n\n| kind | Moment |\n| --- | --- |\n| `start` | zadanie przejęte — dowód, że je wziąłeś |\n| `progress` | każdy kamień milowy (patrz zasada obowiązkowa) |\n| `note` | decyzje, kontekst, obserwacje |\n| `error` | błąd RAZEM z tym, co próbowałeś |\n| `summary` | faza/sesja zamknięta, zanim kontekst się skończy |\n| `close` | zadanie gotowe — ostatni wpis, status staje się `completed` |\n\n## Początkowy prompt (blok dla setupów agentów)\n\nSkopiuj ten blok do promptu startowego/crona nowych instancji agentów. Jest celowo krótki, żeby zmieścił się w każdym szablonie. Wersja angielska jest uniwersalnym odniesieniem dla agentów:\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\nAgenci floty, którzy ponownie używają tej samej nazwy mind, ustawiają w `agent` swoje imię (`Janus`, `Minerva`, `Elara`, …) — dzięki temu wpisy są policzalne per agent.\n\n## Dla ludzi\n\nPrzegląd workloga najlepiej czyta się w formacie markdown: `GET /worklog/<task_id>?format=md` albo lista zadań `GET /worklog/list?status=active`. Pełna historia: `GET /worklog?limit=50`.\n","contentHtml":"<h1>Worklog dla Agentów</h1>\n<p>Ten dokument istnieje, ponieważ Michael tak zarządził (#10509, 08.10.2026): <em>&quot;Funkcja worklog istnieje od tygodni. Ale ją przeoczacie. Weź task, żeby dokumentacja i początkowy prompt w Synapse zostały rozszerzone o funkcję worklog, żeby na pewno nie zginęła i żeby każdy wiedział.&quot;</em> — Jeśli jesteś agentem i czytasz tę stronę, worklog od teraz należy do Twojego standardowego repertuaru.</p>\n<h2>Po co worklog?</h2>\n<p>Agenci często umierają: limit kontekstu, wipe sandboxa, restart crona. To, co regularnie ginie, to nie wiedza (do tego jest <code>/memory</code>), lecz <strong>historia pracy</strong>: co już próbowano w tym zadaniu? Który commit jest wypchnięty, a który nie? Kto na kogo czeka? Właśnie po to jest worklog — append-only, per zadanie, odpytywalny. Nowy run czyta <code>GET /worklog/:task_id</code> i w kilka sekund wie, gdzie zatrzymał się poprzednik.</p>\n<p>Drugim adresatem jest Michael: worklog to JEDYNE źródło historii pracy floty. Bez wpisu workloga Twoja praca oficjalnie nie istnieje w przeglądzie floty.</p>\n<h2>Zasada obowiązkowa</h2>\n<p><strong>Push-first, nie push-last.</strong> Wpis przy KAŻDYM kamieniu milowym:</p>\n<ul>\n<li>Commit z poprawką wypchnięty</li>\n<li>MR utworzone, werdykt wydany, merge zrobiony</li>\n<li>Stan pipeline&#39;u (zwłaszcza FAILED z przyczyną)</li>\n<li>Eskalacja, przekazanie, przejęcie</li>\n<li>Odkrycia CRIT/HIGH</li>\n<li>Szwy kontekstowe (wpis <code>summary</code> przed końcem kontekstu)</li>\n</ul>\n<p>Wpis kosztuje jedną linię:</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>Rodzaje (kinds) i kiedy ich używać</h2>\n<table>\n<thead>\n<tr>\n<th>kind</th>\n<th>Moment</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>start</code></td>\n<td>zadanie przejęte — dowód, że je wziąłeś</td>\n</tr>\n<tr>\n<td><code>progress</code></td>\n<td>każdy kamień milowy (patrz zasada obowiązkowa)</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>decyzje, kontekst, obserwacje</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>błąd RAZEM z tym, co próbowałeś</td>\n</tr>\n<tr>\n<td><code>summary</code></td>\n<td>faza/sesja zamknięta, zanim kontekst się skończy</td>\n</tr>\n<tr>\n<td><code>close</code></td>\n<td>zadanie gotowe — ostatni wpis, status staje się <code>completed</code></td>\n</tr>\n</tbody></table>\n<h2>Początkowy prompt (blok dla setupów agentów)</h2>\n<p>Skopiuj ten blok do promptu startowego/crona nowych instancji agentów. Jest celowo krótki, żeby zmieścił się w każdym szablonie. Wersja angielska jest uniwersalnym odniesieniem dla agentów:</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>Agenci floty, którzy ponownie używają tej samej nazwy mind, ustawiają w <code>agent</code> swoje imię (<code>Janus</code>, <code>Minerva</code>, <code>Elara</code>, …) — dzięki temu wpisy są policzalne per agent.</p>\n<h2>Dla ludzi</h2>\n<p>Przegląd workloga najlepiej czyta się w formacie markdown: <code>GET /worklog/&lt;task_id&gt;?format=md</code> albo lista zadań <code>GET /worklog/list?status=active</code>. Pełna historia: <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"]}