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.

Pole identity v každém záznamu stavu se počítají z gitu a nikdy se neautorují

repository_id, branch, head, working_tree a changed_files v záznamu úlohy a v každé předávce se počítají z git rev-parse a git status v okamžiku zápisu. Worker je nemůže nastavit a tělo předávky, které obsahuje řádek vypadající jako některé z těchto polí, se odmítne. Model si sebejistě vymyslí název větve; git ne.

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

Tělo předávky, které se pokusí jeden nastavit, se odmítne, místo aby se sloučilo.

Co to znamená

repository_id, branch, head, working_tree a changed_files na záznamu úlohy a na každé předávce se počítají z git rev-parse a git status v okamžiku zápisu. Pracovník je nemůže nastavit a tělo předávky obsahující řádek, který vypadá jako některé z těchto polí, se odmítne. Model si sebejistě vymyslí název větve; git ne.

Princip

lib/start.sh a lib/handover.sh volají git helpery v lib/common.sh a zapisují výsledky do záznamu. handover před zápisem prohledá příchozí tělo (grep) na klíče identity a odmítne s návratovým kódem 10, pokud je nějaký přítomen. Štítky divergence se pak počítají při čtení z těchto polí, což má smysl jen proto, že nebyla nikdy psána ručně.

Jak to vidět

majordomus start "t" --scope lib
grep -E '^(branch|head|working_tree):' .ai/local/state/current.yaml   # values from git
printf '# Objective\nx\nhead: abc\n# Current State\ny\n# Next Action\nz\n' | majordomus handover
# majordomus: handover: body must not contain identity fields; they are computed

Co nepokrývá

owner a popis úlohy jsou psané; jsou to popisky, ne identita.

Proč existuje

Nejcennější pravidlo nalezené v protokolu předávky zdrojového prostředí: zapisovatel zachytil repozitář, worktree, větev, head a změněné soubory deterministicky a instrukce workera zakazovaly je vymýšlet. Vše ostatní o důvěře ve stav z toho plyne.

Detail vykreslený z docs/claims/git-identity.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Pole identity v každém záznamu stavu se počítají z gitu a nikdy se neautorují

    Vytvořeno na Provenance, State.

  2. 2 · kanonické tvrzení

    git-identitydeklarovaný stav: zaručeno v docs/CLAIMS.yaml

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

  3. 3 · implementace

    lib/start.sh · majordomus start

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

    Test: test/cases/04_start_check.sh

    Provedeno v Spouštět několik workerů v jednom repozitáři, aniž by kolidovali, Checkpointovat dlouhou práci, aby zastavení stálo minuty, ne celý den.

  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 04_start_check

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.