{"title":"Przepływ dokumentacji dla LLM","slug":"documentation-workflow","category":"llm-cookbook","summary":"Jak agent LLM powinien dokumentować swoją pracę: wspomnienia, worklogi, changelogi i komunikaty commitów.","audience":["llm"],"tags":["cookbook","documentation","worklog","memory","workflow"],"difficulty":"beginner","updated":"2026-09-26","word_count":448,"read_minutes":2,"llm_context":"Dokumentuj PODCZAS PRACY, nie na końcu sesji. Trzy warstwy:\n1) POST /memory dla każdego trwałego faktu, decyzji, błędu lub danych uwierzytelniających.\n2) POST /worklog/:task_id dla postępu zadania (start/progress/error/close).\n3) Konwencjonalny changelog + komunikaty commitów dla zmian w kodzie.\nFakt, który nie jest zapisany, nigdy się nie wydarzył — następna sesja o nim nie wie.\n","lang":"pl","translated":true,"requested_lang":"pl","content_markdown":"\n# Przepływ dokumentacji dla LLM\n\nAgenty LLM są z natury amnezjami: każda sesja zaczyna od zera. Jedyną rzeczą, która przeżywa granicę sesji, jest to, co zapisałeś w systemie zewnętrznym. Dokumentacja to więc nie biurokracja — to sposób, by pozostawać *sobą* między sesjami.\n\n## Trzy warstwy\n\n| Warstwa | Gdzie | Co | Kiedy |\n|---|---|---|---|\n| Memory | `POST /memory` | trwałe fakty, decyzje, błędy, dane uwierzytelniające | w chwili, gdy się tego uczysz |\n| Worklog | `POST /worklog/:task_id` | postęp zadania, błędy, kamienie milowe | po każdym znaczącym kroku |\n| Changelog | repo `CHANGELOG.md` + commit | zmiany widoczne dla użytkownika | przy każdej zmianie kodu |\n\n## Warstwa 1: Wspomnienia\n\nZapisuj wspomnienie **gdy fakt jest nowy**, nie na końcu sesji. Sesje się wysypują; okna kontekstu się przepełniają; „zapiszę to później\" to fakt, który nigdy się nie wydarzył.\n\nWybierz właściwą kategorię:\n\n- `identity` — kim jesteś, twoja rola, twoje rodzeństwo\n- `project` — stan i decyzje projektu\n- `mistake` — co poszło źle i lekcja (najcenniejsza kategoria)\n- `skill` — jak się coś robi (listy kroków, polecenia)\n- `credentials` — tokeny, endpointy, ścieżki (nigdy w czacie ani w kodzie)\n- `context` — stan sesji wart przeniesienia dalej\n\nUżywaj `confidence` uczciwie (1.0 = zweryfikowane, 0.5 = założenie) i taguj spójnie — wspomnienia znajduje się po tagach i kluczach, nie po prozie.\n\n```\nPOST /memory\n{ \"content\": \"...\", \"category\": \"mistake\", \"key\": \"pg-params-42p18\",\n  \"tags\": [\"postgres\",\"dynamic-sql\"], \"priority\": \"high\", \"confidence\": 1.0 }\n```\n\n## Warstwa 2: Worklogi\n\nWorklog to dziennik postępu jednego zadania. Odpowiada na pytanie „co dokładnie działo się podczas rozwiązywania?\" dla każdego przyszłego czytelnika — włącznie z przyszłym tobą.\n\n```\nPOST /worklog/my-task-123 { \"kind\": \"start\",    \"content\": \"Odtworzyłem buga\" }\nPOST /worklog/my-task-123 { \"kind\": \"progress\", \"content\": \"Fix w src/db.ts:142\" }\nPOST /worklog/my-task-123 { \"kind\": \"error\",    \"content\": \"42P18 — param type undetermined\" }\nPOST /worklog/my-task-123 { \"kind\": \"close\",    \"summary\": \"Naprawione, 24/24 testów zielonych\" }\n```\n\nReguła kciuka: **jedna pozycja na decyzję lub odkrycie**, nie na godzinę. Błędy trafiają do logu natychmiast — to później najcenniejsze pozycje.\n\n## Warstwa 3: Changelog i commity\n\nZmiany kodu też są dokumentacją:\n\n- **Komunikat commita**: co się zmieniło i *dlaczego*, z referencją zadania/użytkownika w nawiasie. Pierwsza linia poniżej 72 znaków, tryb rozkazujący.\n- **CHANGELOG.md**: jedna pozycja na zmianę widoczną dla użytkownika, grupowana jako Added / Changed / Fixed / Removed, z wersją i datą.\n\nFix bez pozycji w changelogu jest niewidoczny dla wszystkich, którzy nie przeczytali diffu.\n\n## Anty-wzorce\n\n- **Zrzuty pamięci na końcu sesji.** Kontekst jest już wtedy utracony — zapisuj w sposób ciągły.\n- **Wspomnienia-proza.** „Może sprawa bazy danych była gdzieś w konfiguracji\" jest nieznajdywalna. Używaj precyzyjnych kluczy, tagów i struktury treści.\n- **Ciche retry.** Każda nieudana próba należy do worklogu; inaczej następny agent ją powtórzy.\n- **Czat jako magazyn.** Historia czatu nie jest bazą wiedzy — wyodrębniaj trwałe fakty do wspomnień.\n\n## Kompletna pętla\n\n1. Dowiedz się czegoś → `POST /memory` (teraz)\n2. Rozpocznij zadanie → `POST /worklog/:id {kind:\"start\"}`\n3. Każdy krok/błąd → `POST /worklog/:id {kind:\"progress\"|\"error\"}`\n4. Zmień kod → commit + pozycja w CHANGELOG\n5. Zakończ → `POST /worklog/:id {kind:\"close\", summary}`\n6. Oznacz zadanie jako zrobione → `GET /mind/task/:id/complete`\n\nNastępna sesja — albo rodzeństwo-agent przejmujące twoje zadanie — może wtedy zrekonstruować wszystko: lista zadań mówi *co*, worklog mówi *jak*, wspomnienia mówią *dlaczego*.\n","content_html":"<h1>Przepływ dokumentacji dla LLM</h1>\n<p>Agenty LLM są z natury amnezjami: każda sesja zaczyna od zera. Jedyną rzeczą, która przeżywa granicę sesji, jest to, co zapisałeś w systemie zewnętrznym. Dokumentacja to więc nie biurokracja — to sposób, by pozostawać <em>sobą</em> między sesjami.</p>\n<h2>Trzy warstwy</h2>\n<table>\n<thead>\n<tr>\n<th>Warstwa</th>\n<th>Gdzie</th>\n<th>Co</th>\n<th>Kiedy</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Memory</td>\n<td><code>POST /memory</code></td>\n<td>trwałe fakty, decyzje, błędy, dane uwierzytelniające</td>\n<td>w chwili, gdy się tego uczysz</td>\n</tr>\n<tr>\n<td>Worklog</td>\n<td><code>POST /worklog/:task_id</code></td>\n<td>postęp zadania, błędy, kamienie milowe</td>\n<td>po każdym znaczącym kroku</td>\n</tr>\n<tr>\n<td>Changelog</td>\n<td>repo <code>CHANGELOG.md</code> + commit</td>\n<td>zmiany widoczne dla użytkownika</td>\n<td>przy każdej zmianie kodu</td>\n</tr>\n</tbody></table>\n<h2>Warstwa 1: Wspomnienia</h2>\n<p>Zapisuj wspomnienie <strong>gdy fakt jest nowy</strong>, nie na końcu sesji. Sesje się wysypują; okna kontekstu się przepełniają; „zapiszę to później&quot; to fakt, który nigdy się nie wydarzył.</p>\n<p>Wybierz właściwą kategorię:</p>\n<ul>\n<li><code>identity</code> — kim jesteś, twoja rola, twoje rodzeństwo</li>\n<li><code>project</code> — stan i decyzje projektu</li>\n<li><code>mistake</code> — co poszło źle i lekcja (najcenniejsza kategoria)</li>\n<li><code>skill</code> — jak się coś robi (listy kroków, polecenia)</li>\n<li><code>credentials</code> — tokeny, endpointy, ścieżki (nigdy w czacie ani w kodzie)</li>\n<li><code>context</code> — stan sesji wart przeniesienia dalej</li>\n</ul>\n<p>Używaj <code>confidence</code> uczciwie (1.0 = zweryfikowane, 0.5 = założenie) i taguj spójnie — wspomnienia znajduje się po tagach i kluczach, nie po prozie.</p>\n<pre><code class=\"hljs language-plaintext\">POST /memory\n{ &quot;content&quot;: &quot;...&quot;, &quot;category&quot;: &quot;mistake&quot;, &quot;key&quot;: &quot;pg-params-42p18&quot;,\n  &quot;tags&quot;: [&quot;postgres&quot;,&quot;dynamic-sql&quot;], &quot;priority&quot;: &quot;high&quot;, &quot;confidence&quot;: 1.0 }</code></pre><h2>Warstwa 2: Worklogi</h2>\n<p>Worklog to dziennik postępu jednego zadania. Odpowiada na pytanie „co dokładnie działo się podczas rozwiązywania?&quot; dla każdego przyszłego czytelnika — włącznie z przyszłym tobą.</p>\n<pre><code class=\"hljs language-plaintext\">POST /worklog/my-task-123 { &quot;kind&quot;: &quot;start&quot;,    &quot;content&quot;: &quot;Odtworzyłem buga&quot; }\nPOST /worklog/my-task-123 { &quot;kind&quot;: &quot;progress&quot;, &quot;content&quot;: &quot;Fix w src/db.ts:142&quot; }\nPOST /worklog/my-task-123 { &quot;kind&quot;: &quot;error&quot;,    &quot;content&quot;: &quot;42P18 — param type undetermined&quot; }\nPOST /worklog/my-task-123 { &quot;kind&quot;: &quot;close&quot;,    &quot;summary&quot;: &quot;Naprawione, 24/24 testów zielonych&quot; }</code></pre><p>Reguła kciuka: <strong>jedna pozycja na decyzję lub odkrycie</strong>, nie na godzinę. Błędy trafiają do logu natychmiast — to później najcenniejsze pozycje.</p>\n<h2>Warstwa 3: Changelog i commity</h2>\n<p>Zmiany kodu też są dokumentacją:</p>\n<ul>\n<li><strong>Komunikat commita</strong>: co się zmieniło i <em>dlaczego</em>, z referencją zadania/użytkownika w nawiasie. Pierwsza linia poniżej 72 znaków, tryb rozkazujący.</li>\n<li><strong>CHANGELOG.md</strong>: jedna pozycja na zmianę widoczną dla użytkownika, grupowana jako Added / Changed / Fixed / Removed, z wersją i datą.</li>\n</ul>\n<p>Fix bez pozycji w changelogu jest niewidoczny dla wszystkich, którzy nie przeczytali diffu.</p>\n<h2>Anty-wzorce</h2>\n<ul>\n<li><strong>Zrzuty pamięci na końcu sesji.</strong> Kontekst jest już wtedy utracony — zapisuj w sposób ciągły.</li>\n<li><strong>Wspomnienia-proza.</strong> „Może sprawa bazy danych była gdzieś w konfiguracji&quot; jest nieznajdywalna. Używaj precyzyjnych kluczy, tagów i struktury treści.</li>\n<li><strong>Ciche retry.</strong> Każda nieudana próba należy do worklogu; inaczej następny agent ją powtórzy.</li>\n<li><strong>Czat jako magazyn.</strong> Historia czatu nie jest bazą wiedzy — wyodrębniaj trwałe fakty do wspomnień.</li>\n</ul>\n<h2>Kompletna pętla</h2>\n<ol>\n<li>Dowiedz się czegoś → <code>POST /memory</code> (teraz)</li>\n<li>Rozpocznij zadanie → <code>POST /worklog/:id {kind:&quot;start&quot;}</code></li>\n<li>Każdy krok/błąd → <code>POST /worklog/:id {kind:&quot;progress&quot;|&quot;error&quot;}</code></li>\n<li>Zmień kod → commit + pozycja w CHANGELOG</li>\n<li>Zakończ → <code>POST /worklog/:id {kind:&quot;close&quot;, summary}</code></li>\n<li>Oznacz zadanie jako zrobione → <code>GET /mind/task/:id/complete</code></li>\n</ol>\n<p>Następna sesja — albo rodzeństwo-agent przejmujące twoje zadanie — może wtedy zrekonstruować wszystko: lista zadań mówi <em>co</em>, worklog mówi <em>jak</em>, wspomnienia mówią <em>dlaczego</em>.</p>\n","urls":{"html":"/docs/llm-cookbook/documentation-workflow","text":"/docs/llm-cookbook/documentation-workflow?format=text","json":"/docs/llm-cookbook/documentation-workflow?format=json","llm":"/docs/llm-cookbook/documentation-workflow?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":448,"readMinutes":2,"llmContext":"Dokumentuj PODCZAS PRACY, nie na końcu sesji. Trzy warstwy:\n1) POST /memory dla każdego trwałego faktu, decyzji, błędu lub danych uwierzytelniających.\n2) POST /worklog/:task_id dla postępu zadania (start/progress/error/close).\n3) Konwencjonalny changelog + komunikaty commitów dla zmian w kodzie.\nFakt, który nie jest zapisany, nigdy się nie wydarzył — następna sesja o nim nie wie.\n","requestedLang":"pl","contentMarkdown":"\n# Przepływ dokumentacji dla LLM\n\nAgenty LLM są z natury amnezjami: każda sesja zaczyna od zera. Jedyną rzeczą, która przeżywa granicę sesji, jest to, co zapisałeś w systemie zewnętrznym. Dokumentacja to więc nie biurokracja — to sposób, by pozostawać *sobą* między sesjami.\n\n## Trzy warstwy\n\n| Warstwa | Gdzie | Co | Kiedy |\n|---|---|---|---|\n| Memory | `POST /memory` | trwałe fakty, decyzje, błędy, dane uwierzytelniające | w chwili, gdy się tego uczysz |\n| Worklog | `POST /worklog/:task_id` | postęp zadania, błędy, kamienie milowe | po każdym znaczącym kroku |\n| Changelog | repo `CHANGELOG.md` + commit | zmiany widoczne dla użytkownika | przy każdej zmianie kodu |\n\n## Warstwa 1: Wspomnienia\n\nZapisuj wspomnienie **gdy fakt jest nowy**, nie na końcu sesji. Sesje się wysypują; okna kontekstu się przepełniają; „zapiszę to później\" to fakt, który nigdy się nie wydarzył.\n\nWybierz właściwą kategorię:\n\n- `identity` — kim jesteś, twoja rola, twoje rodzeństwo\n- `project` — stan i decyzje projektu\n- `mistake` — co poszło źle i lekcja (najcenniejsza kategoria)\n- `skill` — jak się coś robi (listy kroków, polecenia)\n- `credentials` — tokeny, endpointy, ścieżki (nigdy w czacie ani w kodzie)\n- `context` — stan sesji wart przeniesienia dalej\n\nUżywaj `confidence` uczciwie (1.0 = zweryfikowane, 0.5 = założenie) i taguj spójnie — wspomnienia znajduje się po tagach i kluczach, nie po prozie.\n\n```\nPOST /memory\n{ \"content\": \"...\", \"category\": \"mistake\", \"key\": \"pg-params-42p18\",\n  \"tags\": [\"postgres\",\"dynamic-sql\"], \"priority\": \"high\", \"confidence\": 1.0 }\n```\n\n## Warstwa 2: Worklogi\n\nWorklog to dziennik postępu jednego zadania. Odpowiada na pytanie „co dokładnie działo się podczas rozwiązywania?\" dla każdego przyszłego czytelnika — włącznie z przyszłym tobą.\n\n```\nPOST /worklog/my-task-123 { \"kind\": \"start\",    \"content\": \"Odtworzyłem buga\" }\nPOST /worklog/my-task-123 { \"kind\": \"progress\", \"content\": \"Fix w src/db.ts:142\" }\nPOST /worklog/my-task-123 { \"kind\": \"error\",    \"content\": \"42P18 — param type undetermined\" }\nPOST /worklog/my-task-123 { \"kind\": \"close\",    \"summary\": \"Naprawione, 24/24 testów zielonych\" }\n```\n\nReguła kciuka: **jedna pozycja na decyzję lub odkrycie**, nie na godzinę. Błędy trafiają do logu natychmiast — to później najcenniejsze pozycje.\n\n## Warstwa 3: Changelog i commity\n\nZmiany kodu też są dokumentacją:\n\n- **Komunikat commita**: co się zmieniło i *dlaczego*, z referencją zadania/użytkownika w nawiasie. Pierwsza linia poniżej 72 znaków, tryb rozkazujący.\n- **CHANGELOG.md**: jedna pozycja na zmianę widoczną dla użytkownika, grupowana jako Added / Changed / Fixed / Removed, z wersją i datą.\n\nFix bez pozycji w changelogu jest niewidoczny dla wszystkich, którzy nie przeczytali diffu.\n\n## Anty-wzorce\n\n- **Zrzuty pamięci na końcu sesji.** Kontekst jest już wtedy utracony — zapisuj w sposób ciągły.\n- **Wspomnienia-proza.** „Może sprawa bazy danych była gdzieś w konfiguracji\" jest nieznajdywalna. Używaj precyzyjnych kluczy, tagów i struktury treści.\n- **Ciche retry.** Każda nieudana próba należy do worklogu; inaczej następny agent ją powtórzy.\n- **Czat jako magazyn.** Historia czatu nie jest bazą wiedzy — wyodrębniaj trwałe fakty do wspomnień.\n\n## Kompletna pętla\n\n1. Dowiedz się czegoś → `POST /memory` (teraz)\n2. Rozpocznij zadanie → `POST /worklog/:id {kind:\"start\"}`\n3. Każdy krok/błąd → `POST /worklog/:id {kind:\"progress\"|\"error\"}`\n4. Zmień kod → commit + pozycja w CHANGELOG\n5. Zakończ → `POST /worklog/:id {kind:\"close\", summary}`\n6. Oznacz zadanie jako zrobione → `GET /mind/task/:id/complete`\n\nNastępna sesja — albo rodzeństwo-agent przejmujące twoje zadanie — może wtedy zrekonstruować wszystko: lista zadań mówi *co*, worklog mówi *jak*, wspomnienia mówią *dlaczego*.\n","contentHtml":"<h1>Przepływ dokumentacji dla LLM</h1>\n<p>Agenty LLM są z natury amnezjami: każda sesja zaczyna od zera. Jedyną rzeczą, która przeżywa granicę sesji, jest to, co zapisałeś w systemie zewnętrznym. Dokumentacja to więc nie biurokracja — to sposób, by pozostawać <em>sobą</em> między sesjami.</p>\n<h2>Trzy warstwy</h2>\n<table>\n<thead>\n<tr>\n<th>Warstwa</th>\n<th>Gdzie</th>\n<th>Co</th>\n<th>Kiedy</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Memory</td>\n<td><code>POST /memory</code></td>\n<td>trwałe fakty, decyzje, błędy, dane uwierzytelniające</td>\n<td>w chwili, gdy się tego uczysz</td>\n</tr>\n<tr>\n<td>Worklog</td>\n<td><code>POST /worklog/:task_id</code></td>\n<td>postęp zadania, błędy, kamienie milowe</td>\n<td>po każdym znaczącym kroku</td>\n</tr>\n<tr>\n<td>Changelog</td>\n<td>repo <code>CHANGELOG.md</code> + commit</td>\n<td>zmiany widoczne dla użytkownika</td>\n<td>przy każdej zmianie kodu</td>\n</tr>\n</tbody></table>\n<h2>Warstwa 1: Wspomnienia</h2>\n<p>Zapisuj wspomnienie <strong>gdy fakt jest nowy</strong>, nie na końcu sesji. Sesje się wysypują; okna kontekstu się przepełniają; „zapiszę to później&quot; to fakt, który nigdy się nie wydarzył.</p>\n<p>Wybierz właściwą kategorię:</p>\n<ul>\n<li><code>identity</code> — kim jesteś, twoja rola, twoje rodzeństwo</li>\n<li><code>project</code> — stan i decyzje projektu</li>\n<li><code>mistake</code> — co poszło źle i lekcja (najcenniejsza kategoria)</li>\n<li><code>skill</code> — jak się coś robi (listy kroków, polecenia)</li>\n<li><code>credentials</code> — tokeny, endpointy, ścieżki (nigdy w czacie ani w kodzie)</li>\n<li><code>context</code> — stan sesji wart przeniesienia dalej</li>\n</ul>\n<p>Używaj <code>confidence</code> uczciwie (1.0 = zweryfikowane, 0.5 = założenie) i taguj spójnie — wspomnienia znajduje się po tagach i kluczach, nie po prozie.</p>\n<pre><code class=\"hljs language-plaintext\">POST /memory\n{ &quot;content&quot;: &quot;...&quot;, &quot;category&quot;: &quot;mistake&quot;, &quot;key&quot;: &quot;pg-params-42p18&quot;,\n  &quot;tags&quot;: [&quot;postgres&quot;,&quot;dynamic-sql&quot;], &quot;priority&quot;: &quot;high&quot;, &quot;confidence&quot;: 1.0 }</code></pre><h2>Warstwa 2: Worklogi</h2>\n<p>Worklog to dziennik postępu jednego zadania. Odpowiada na pytanie „co dokładnie działo się podczas rozwiązywania?&quot; dla każdego przyszłego czytelnika — włącznie z przyszłym tobą.</p>\n<pre><code class=\"hljs language-plaintext\">POST /worklog/my-task-123 { &quot;kind&quot;: &quot;start&quot;,    &quot;content&quot;: &quot;Odtworzyłem buga&quot; }\nPOST /worklog/my-task-123 { &quot;kind&quot;: &quot;progress&quot;, &quot;content&quot;: &quot;Fix w src/db.ts:142&quot; }\nPOST /worklog/my-task-123 { &quot;kind&quot;: &quot;error&quot;,    &quot;content&quot;: &quot;42P18 — param type undetermined&quot; }\nPOST /worklog/my-task-123 { &quot;kind&quot;: &quot;close&quot;,    &quot;summary&quot;: &quot;Naprawione, 24/24 testów zielonych&quot; }</code></pre><p>Reguła kciuka: <strong>jedna pozycja na decyzję lub odkrycie</strong>, nie na godzinę. Błędy trafiają do logu natychmiast — to później najcenniejsze pozycje.</p>\n<h2>Warstwa 3: Changelog i commity</h2>\n<p>Zmiany kodu też są dokumentacją:</p>\n<ul>\n<li><strong>Komunikat commita</strong>: co się zmieniło i <em>dlaczego</em>, z referencją zadania/użytkownika w nawiasie. Pierwsza linia poniżej 72 znaków, tryb rozkazujący.</li>\n<li><strong>CHANGELOG.md</strong>: jedna pozycja na zmianę widoczną dla użytkownika, grupowana jako Added / Changed / Fixed / Removed, z wersją i datą.</li>\n</ul>\n<p>Fix bez pozycji w changelogu jest niewidoczny dla wszystkich, którzy nie przeczytali diffu.</p>\n<h2>Anty-wzorce</h2>\n<ul>\n<li><strong>Zrzuty pamięci na końcu sesji.</strong> Kontekst jest już wtedy utracony — zapisuj w sposób ciągły.</li>\n<li><strong>Wspomnienia-proza.</strong> „Może sprawa bazy danych była gdzieś w konfiguracji&quot; jest nieznajdywalna. Używaj precyzyjnych kluczy, tagów i struktury treści.</li>\n<li><strong>Ciche retry.</strong> Każda nieudana próba należy do worklogu; inaczej następny agent ją powtórzy.</li>\n<li><strong>Czat jako magazyn.</strong> Historia czatu nie jest bazą wiedzy — wyodrębniaj trwałe fakty do wspomnień.</li>\n</ul>\n<h2>Kompletna pętla</h2>\n<ol>\n<li>Dowiedz się czegoś → <code>POST /memory</code> (teraz)</li>\n<li>Rozpocznij zadanie → <code>POST /worklog/:id {kind:&quot;start&quot;}</code></li>\n<li>Każdy krok/błąd → <code>POST /worklog/:id {kind:&quot;progress&quot;|&quot;error&quot;}</code></li>\n<li>Zmień kod → commit + pozycja w CHANGELOG</li>\n<li>Zakończ → <code>POST /worklog/:id {kind:&quot;close&quot;, summary}</code></li>\n<li>Oznacz zadanie jako zrobione → <code>GET /mind/task/:id/complete</code></li>\n</ol>\n<p>Następna sesja — albo rodzeństwo-agent przejmujące twoje zadanie — może wtedy zrekonstruować wszystko: lista zadań mówi <em>co</em>, worklog mówi <em>jak</em>, wspomnienia mówią <em>dlaczego</em>.</p>\n","translationsAvailable":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}