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.

Zda úloha přidala dluh, zanechala branch nebo worktree, nebo rozrostla backlog, odpovídá invariant dokončení z gitu, základů dluhu a zaznamenaného pozorování forge, měřeno od místa, kde úloha začala; odečet, který nebyl proveden, je neznámý, nikdy propuštění

Když se člověk na konci relace zeptá, zda je všechno hotovo, zda nějaký dluh

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

odečty patří repozitáři, ne jednomu pracovníkovi; případ přidá záznam do baseline, vytvoří větev a worktree a poškodí výchozí commit úlohy, aby viděl unknown místo pass.

Co to znamená

Když se člověk na konci relace ptá, zda je vše hotovo, zda nebyl přidán dluh a zda není víc větví, worktrees a pull requestů než na začátku, odpovědí je čtení, které nástroj provede. Worker hlásí toto čtení. Neodpovídá z toho, co si pamatuje, že dělal, a otázka, kterou nic nemohlo přečíst, je unknown.

Princip

Invariant hotovo (apps/majordomus-cli/src/gates/done.rs) nese tři závěrečné otázky a apps/majordomus-cli/src/gates/closing.rs pro každou bere jedno čtení, měřené od místa, kde úloha začala:

  • no-new-debt počítá záznamy každého .ai/repo/*-baseline.txt na commitu, kde úloha začala, a v pracovním stromu. Základní stav, který získal záznam, činí otázku fail, commitnutý či nikoli; ten, který se objeví poprvé, je jmenován a není růstem.
  • nothing-accumulated čte první řádek reflogu každé lokální větve a reflogu HEAD každého propojeného worktree, což je okamžik, kdy to git vytvořil. Co bylo vytvořeno od začátku úlohy a stále existuje, činí otázku queued a je jmenováno.
  • backlog-not-grown čte zaznamenané pozorování forge a očísluje pull requesty otevřené od zahájení úlohy, které jsou stále otevřené.

Každé čtení je samostatný výsledek. Jedno, které selže, nestrhne ostatní a jeho otázka říká, proč je unknown.

Jak to vidět

majordomus check jmenuje každou otázku invariantu, která není zodpovězena, jako id=status na svém řádku done; důkazy za každou jsou v questions z gates.completion, stejně přes příkazový řádek, HTTP, MCP i Cockpit.

test/cases/1037_the_closing_question_is_measured.sh přidá položku do baseline a uvidí fail s čísly, vytvoří branch a worktree a uvidí je dlužné a pojmenované, dokud obojí nezmizí, a rozbije startovní commit úlohy, aby viděl unknown tam, kde by průchod byl lží.

Co nepokrývá

Neříká, že je méně větví, worktrees nebo pull requestů než na začátku: co se mezitím odstranilo, nezanechá záznam, takže údaje jmenují, co přibylo a co zůstává, s aktuálními součty. Neříká, kdo větev vytvořil, protože git to neví; údaje jsou údaji repozitáře. Nic neodstraňuje a neodmítá žádný finish. Údaj o backlogu je tak starý jako poslední majordomus prs refresh a říká, kdy to bylo.

Dvě měření jsou hrubší než otázka. Dluh se počítá v položkách, takže jedna odebraná a jedna přidaná položka se jeví jako beze změny; vidět je jen růst. A větev nebo worktree se datuje prvním řádkem, který jeho reflog ještě drží, takže ta, jejíž starší záznamy git už expiroval — třicet dní u commitů, které přepis nechal nedosažitelné — vypadá mladší, než je, a může být označena za vytvořenou od zahájení úlohy, ačkoli nebyla. Obojí chybuje směrem k novému dotazu, nikdy k průchodu, který nebyl zasloužen.

Proč existuje

Dne 2026-10-10 byla jedné relaci položena závěrečná otázka sedmkrát a sedmkrát odpověděla z paměti, pokaždé popisujíc jen to, čeho se sama dotkla. Změřeno při osmé, repozitář měl o tři otevřené pull requesty a dvacet jedna worktrees víc, než odpovědi naznačovaly. Paměť workera drží to, co worker udělal, a worker je jedinou stranou s důvodem zaokrouhlovat nahoru (project.a-closing-question-is-answered-by-measurement).

Detail vykreslený z docs/claims/the-closing-question-is-measured.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Zda úloha přidala dluh, zanechala branch nebo worktree, nebo rozrostla backlog, odpovídá invariant dokončení z gitu, základů dluhu a zaznamenaného pozorování forge, měřeno od místa, kde úloha začala; odečet, který nebyl proveden, je neznámý, nikdy propuštění

    Žádná funkce ani odpovědnost v README ji nepojmenovává; tato stránka je místo, kde je uvedena.

  2. 2 · kanonické tvrzení

    the-closing-question-is-measureddeklarovaný stav: zaručeno v docs/CLAIMS.yaml

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

  3. 3 · implementace

    apps/majordomus-cli/src/gates/closing.rs

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

    Test: test/cases/1037_the_closing_question_is_measured.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 1037_the_closing_question_is_measured

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