Co to znamená
majordomus checkpoint zapíše, co platí právě teď — pár řádků, uvnitř aktivní úlohy — s vypočtenou git identitou. Zapisuje se často. Předávka se zapisuje zřídka, má povinné sekce a je balíčkem, z něhož jiný worker pokračuje. Jsou to dva různé objekty a limit je to, co je drží různé.
Princip
Tělo přichází na stdin a kontroluje se proti checkpoint.max_body_lines. Nad limitem je odmítnuto, ne zkráceno, a chyba říká, ať se místo toho napíše předávka. Zkrácení by vyrobilo záznam, který se čte jako úplný a není.
Front matter počítá stejný pomocník, jaký používá předávka: verzi schématu, časové razítko, úlohu, profil, vlastníka, id repozitáře, worktree, branch, head, stav pracovního stromu a změněné soubory. Tělo obsahující kterékoli z těchto polí je odmítnuto — próza si identitu psát nesmí.
Soubor se vytvoří pomocí link do state/checkpoints/ s režimem 0600, takže nikdy nepřepisuje a nikdy se nestaguje. checkpoint_at v záznamu úlohy se posune a do knihy se připojí událost task.checkpoint nesoucí cestu záznamu.
Prázdné tělo nezapíše žádný soubor a aktualizuje jen checkpoint_at, což je přesně to, co dělá check --checkpoint. Je to tatáž operace; checkpoint je ta, která umí říct i to, co bylo pravda.
Kontrolní bod patří své úloze: --show najde nejnovější pro aktivní úlohu v tomto worktree a větvi a po zahájení nové úlohy nevrátí nic. --list stále ukazuje každý záznam, protože úložiště je jen pro připisování.
Jak to vidět
majordomus checkpoint <<'NOTE'
State mismatch reproduced with test/fixtures/callback.json.
The cause is in normalisation, not in the comparison.
Next: regression test before touching the implementation.
NOTE
# .ai/local/state/checkpoints/20260903T194500Z--main--3f2a9c1--8c1d0e4a2b6f9317.md
majordomus checkpoint --show
stat -f %Lp .ai/local/state/checkpoints/*.md # 600
# the cap refuses rather than truncates
yes line | head -100 | majordomus checkpoint; echo $? # 10Co nepokrývá
Checkpoint za vás nic nezapíše. Majordomus relaci neshrnuje a nebude: chcete-li, aby poznámku napsal model, nechte ji napsat pracovníka a pošlete ji rourou.
Strop je počet řádků, ne úsudek. Čtyřicetiřádkový checkpoint, který nic neříká, projde.
Retence se hlásí, nevynucuje: checkpoint.retention_max_files způsobí, že doctor a watch ohlásí, když úložiště přeroste limit. Nic se automaticky nemaže.
Proč existuje
Bez krátkého záznamu drží mezera mezi „záznam úlohy se pohnul“ a „byla napsána předávka“ vše, co se worker naučil, a to je přesně interval, ve kterém relace umírají. Bez stropu checkpointy narůstají v reporty, reporty jsou příliš dlouhé na citování do briefingu a briefing degraduje na ukazatel — což je místo, kde nástroj začínal, než existoval kterýkoli záznam.