Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Správný předchozí záznam se vyhledá podle worktree a branche a nesouvisející se nikdy nenabídne

handover --resolve, checkpoint --show a context odpovídají na stejnou otázku: který ze záznamů na disku se týká práce, která se tu právě děje? Odpověď je deterministická, je vysvětlená a když neexistuje bezpečná odpověď, řekne to místo nabídnutí nejbližší věci.

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: nespuštěno Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

Stejný worktree a větev, jinak stejná větev, jinak nic. Shody v rámci jedné sekundy se rozhodují pořadím v ledgeru. Absence se hlásí jako absence.

Co to znamená

handover --resolve, checkpoint --show a context všechny odpovídají na stejnou otázku: který ze záznamů na disku je o práci, která se děje tady? Odpověď je deterministická, je vysvětlena, a když neexistuje bezpečná odpověď, řekne to, místo aby nabídla nejbližší věc.

Princip

mj_resolve_latest v lib/common.sh přečte front matter každého záznamu, ponechá jen kandidáty ve stejném repozitáři a poté je seřadí:

  1. stejná worktree a stejná větev
  2. stejná větev, pokud větev není detached
  3. nic

Neexistuje žádná úroveň pro celý repozitář. Záznam z jiného worktree nebo jiné větve není nikdy záložní, protože pracovník nepozná, že vypůjčený kontext je špatný, dokud podle něj nezačne jednat.

V rámci jedné úrovně vyhrává nejnovější. created_at má přesnost na sekundy, takže dva záznamy zapsané v jedné sekundě by jinak řadily náhodné přípony jmen souborů; ledger je jen k připojování a zapisuje se v pořadí příkazů, takže mj_record_rank používá pozici v ledgeru jako rozhodčí — jediné přenositelné monotónní řazení dostupné bez časových značek pod sekundu.

Výsledek nese své zdůvodnění: třídu shody, štítek gitu porovnávající zaznamenaný head se současným, stáří záznamu a jeho úlohu. Poškozený záznam se přeskočí s varováním na stderr, nikdy tiše, a doctor selže, když byl jakýkoli záznam přeskočen.

Jak to vidět

majordomus handover --resolve
# Handover: .ai/local/state/handovers/20260903T201455Z--main--9b1e2d4--c0ffee12.md
# Match: same_worktree_same_branch
# Git state: advanced
# Created: 2026-09-03T20:14:55Z (37m ago)
# Task: t-20260903193012-a4f1

git checkout -b unrelated
majordomus handover --resolve
# No relevant handover.

Co nepokrývá

Obsah nesoudí. Záznam, který se vyřeší, může být přesto chybný; štítek gitu říká, jak daleko se repozitář posunul, a zbytek je váš úsudek.

Nesleduje záznam přes přepsanou historii. Štítek diverged znamená, že zaznamenaný commit není předkem aktuálního, a záznam je hlášen, ne reinterpretován.

Záznamy neslučuje. Nejnovější kompatibilní se nabídne celý.

Proč existuje

Selhání, kterému to brání, je konkrétní a tiché: repozitář hromadí záznamy, relace na nesouvisející větvi vyřeší globálně nejnovější z nich a worker pokračuje sebejistě proti stavu jiné úlohy. Absence je lepší než nesprávná paměť, takže resolver se zastaví, místo aby sahal dál.

Detail vykreslený z docs/claims/record-resolution.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Správný předchozí záznam se vyhledá podle worktree a branche a nesouvisející se nikdy nenabídne

    Vytvořeno na Continuity, Handover.

  2. 2 · kanonické tvrzení

    record-resolutiondeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v přečtěte si na tomto webu · docs/CONTINUITY.md

  3. 3 · implementace

    lib/common.sh

  4. 4 · test a scénáře

    Test: test/cases/23_context.sh

    Provádí se v Předat práci s ještě otevřenou otázkou a ponechat ji blokující, Pokračovat ve správném worktree, nikdy proti cizí úloze.

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: nespuštěno jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh 23_context

Kde se toto tvrzení používá

Související tvrzení stejná implementace

Okamžiky, na které to odpovídá

Prohledává názvy a popisy všech stránek, které tento web publikuje.