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.

Projekce, která přestane být aplikována, shodí build, a kontrola, která se nedokáže dostat ke GitHubu, to oznámí, místo aby prošla

Sousední tvrzení — [Milníky a úkoly na GitHubu se generují z kanonických

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

Adaptér končil kódem 11 při driftu od svého vzniku a nic ho nevolalo, takže projekce během pěti dnů zchátrala na desetinu modelu, zatímco každé sestavení bylo zelené. Kontrola rovnou odmítá behind, edited, conflict, unmanaged, state a milestone a hlídá nahromaděný dluh nepromítnutých záznamů proti .ai/repo/ci/github-drift-baseline.txt, který smí klesat a nikdy růst. Jediný drift, který hlásí bez odmítnutí, je drift, který způsobila hlava větve nebo mladé přistání samo, a ten pokrývá projected-record-edit-is-landable.

Co to znamená

Sousední tvrzení — GitHub milníky a úkoly se generují z kanonického modelu — se týká toho, co scripts/github-sync vykresluje a co odmítá. Neříká nic o tom, zda GitHub z toho cokoli skutečně přijal. Toto tvrzení je druhá polovina: že se obojí nyní shoduje a že build selže, když se přestane shodovat.

Princip

scripts/ci/github-check čte remote a klasifikuje každý záznam. Uplatňuje dvě tolerance, ne jednu.

Odmítnuto rovnou, od prvního spuštění:

stateco to znamená
behindkanonický záznam se posunul a nikdo ho nepromítl
editedčlověk přepsal generovanou oblast
conflictčlověk ho přepsal a záznam se od té doby posunul
unmanagedvzdálený úkol si nárokuje kanonické id, které tento repozitář nemá
stateopen/closed na remote se rozchází s odvozeným stavem
milestonepřiřazení milníku na remote se liší

Čtyři z těchto stavů zapisuje apply: behind, state, milestone a closed, které adaptér hlásí vedle state, když je uzavřenou stranou GitHub. Hlásí se jako PENDING a neodmítají se jen ve dvou případech: u záznamů, které head změnil od svého merge base, a na trunku u záznamů změněných v přistání mladším než deklarované okno. To je samostatné tvrzení, projected-record-edit-is-landable. U každého jiného záznamu se odmítají a po oknu se trunk odmítá pro všechny.

Rachetováno proti .ai/repo/ci/github-drift-baseline.txt:

stateco to znamená
missingkanonický záznam bez protějšku na GitHubu
adoptprotějšek nenesoucí značku identity

Baseline smí klesat a nikdy nesmí růst. Zapsat ji je záměrný akt, ve stejném idiomu, jaký .ai/repo/claim-proof-baseline.txt už používá pro pravidla a tvrzení, která nejmenují nic, co by stroj mohl spustit.

Kontrola, která nedosáhne na remote — žádné gh, žádný token, žádné oprávnění — skončí 12 a řekne které. Nikdy neskončí čistě.

Jak to vidět

scripts/ci/github-check                   # 0 in sync, 10 findings, 12 the gate cannot run
scripts/ci/github-check --write-baseline  # record today's backlog as the ceiling, deliberately
scripts/github-sync --plan                # offline: what an apply would create or change

Proč je to samostatné tvrzení

Protože první tvrzení bylo pět dní pravdivé a zelené, zatímco to, co popisuje, přestalo probíhat.

--check od napsání adaptéru končí kódem 11 při driftu. Nikdo ho nevolal: scripts/ci/core-check spouštěl --plan a --render, což dokazuje, že projekci lze vytvořit. Projekce byla aplikována jednou, 2026-09-04, a pak model vyrostl z 19 záznamů na přes 200, zatímco GitHub držel těch 19. Změřeno při 867f3a9: 200 nálezů driftu.

Všech osm promítnutých milníků bylo po celou dobu synchronizováno, protože milníků je málo a byly upravovány ručně — povrch, na který se člověk dívá, byl tedy tím povrchem, který se ještě shodoval. To je to, co vám přinese tvrzení citující skript, který existuje, místo kontroly, která běží.

Co nepokrývá

Tato kontrola nic neaplikuje; dokazuje shodu. Od 2026-10-12 je aplikace důsledkem přistání (.github/workflows/github.yml, project.the-projection-is-applied-at-landing) a scripts/github-sync --apply člověka je záložní cesta. Základní hodnotu kontroly stále snižuje člověk. Základní hodnota je strop a nic ji samo nesnižuje: 2026-10-10 četla 192 missing, zatímco GitHubu chyběly 3 záznamy, takže nový záznam se počítá jako missing a prochází, dokud někdo základní hodnotu nezapíše níž.

Kontrola také neposuzuje model. Říká, která ze dvou stran se pohnula, ne zda kanonické záznamy popisují správnou práci — to je věc plánu. A nerozhoduje o ničem, co neumí změřit: bez gh, tokenu nebo oprávnění skončí kódem 12 s uvedením, čeho se to týká, místo zeleného buildu, který nic nečetl.

Důkazy

test/cases/97_github_gate.sh řídí každou polovinu nad fixture repozitářem s fixture remote, offline: záznam, jehož kanonický text se pohnul, selže rovnou, záznam přidaný do modelu a nikdy neprojektovaný rozbije ratchet, backlog na své základní hodnotě projde, upravený region a nespravovaný vzdálený úkol jsou odmítnuty a kontrola bez základní hodnoty odmítne nějakou hádat. test/cases/45_github_projection.sh dokazuje šest stavů, které čte. test/cases/1038_a_head_is_judged_against_what_it_changes.sh dokazuje, který drift čeká a že všechno ostatní je stále odmítáno.

Pravidlo je project.github-projection-gated@1.

Detail vykreslen z docs/claims/github-projection-gated.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Projekce, která přestane být aplikována, shodí build, a kontrola, která se nedokáže dostat ke GitHubu, to oznámí, místo aby prošla

    Vytvořeno na Plan.

  2. 2 · kanonické tvrzení

    github-projection-gateddeklarovaný stav: zaručeno v docs/CLAIMS.yaml

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

  3. 3 · implementace

    scripts/ci/github-check

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

    Test: test/cases/97_github_gate.sh

  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 97_github_gate

Kde se toto tvrzení používá

pokryté odpovědnosti

Související tvrzení stejná implementace

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