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.

I0701 — Reprodukovat chybné přičtení jako spustitelný případ

Napsat behaviorální případ, ve kterém dva workeři sdílejí jeden checkout — jeden spustí úlohu, druhý zaznamená rozhodnutí — a ověřit, co se děje dnes, aby se defekt přestal být anekdotou a stal se věcí, kterou příkaz předvede.

HOTOVO vlna 0 · p1 · profil debugging · bezpečné paralelně

Součást M002 — A durable record names the worker that wrote it.

Cíl

Napsat behaviorální případ, ve kterém dva workeři sdílejí jeden checkout — jeden spustí úlohu, druhý zaznamená rozhodnutí — a ověřit, co se děje dnes, aby se defekt přestal být anekdotou a stal se věcí, kterou příkaz předvede.

Proč

Našly to tři relace, které se v jeden večer srazily, což je spíš příběh než test. Charakterizační případ je to, co činí opravu doložitelnou a co zčervená případnou změnu chování, kdyby regresovala.

Aktuální stav

decision, checkpoint a question určují aktivní úlohu z .majordomus/state/current.yaml. Nic v test/cases neprověřuje druhého workera zapisujícího, zatímco je aktivní úloha někoho jiného.

Cílový stav

Případ spustí sekvenci v jednorázovém repozitáři, tvrdí, že záznam je připsán aktivní úloze, ne pracovníkovi, který jej zapsal, a v komentáři říká, že jde o charakterizovanou mezeru, ne o požehnání chování.

Rozsah

  • test/cases

Mimo rozsah

  • Jakákoli změna lib/decision.sh, lib/checkpoint.sh nebo lib/question.sh

Závislosti

Žádné. Tento úkol je kořenem grafu.

Co na tom čeká

Kritéria přijetí

  • Případ spustí úlohu, pak zaznamená rozhodnutí jako druhý worker a dostane se k položce v decisions.md
  • Výslovně potvrzuje současné přiřazení a v komentáři ho označuje jako mezeru, ne cíl
  • Pokrývá checkpoint a question stejně jako decision, nebo říká, proč jsou mimo jeho dosah
  • Běží v jednorázovém repozitáři jako každý jiný případ

Validace

  • bash test/run.sh

Požadované důkazy

  • gap_reproduced

Důkazy

pokrývátypcommandvýsledeku commitu
gap_reproducedtestbash test/run.sh 3049_a_second_workers_record_lands_on_the_first_workers_tasktests: 1 passed, 0 failed, 0 skipped; worker B's decision, question and checkpoint are filed under worker A's task and none names worker B (gap pinned)c0e3585

Riziko

Charakterizační test, který zafixuje špatné chování, je past, pokud komentář, který to říká, není nepřehlédnutelný; ten komentář je celý bezpečnostní mechanismus.

Časová osa

zahájeno
2026-10-15T00:47:59Z
ověřeno
—
dokončeno
2026-10-15T00:48:23Z

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Kanonický záznam: .ai/repo/project/issues/I0701.yaml. Přečtěte jej zpět pomocí majordomus plan show I0701.

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