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.

M001 — Blokující otázka přežije předávku

Nevyřešená otázka dál odmítá dokončený finish, i když se práce přesune na novou úlohu, nebo se alternativa zvolí záměrně a důvod se zaznamená tam, kde ho příští worker přečte.

HOTOVO 4 ze 4 úkolů hotovo

připraveno
0
blokováno
0
aktivní
0
verify
0
hotovo
4
zrušeno
0

Problém

Otevřená otázka je mechanismus, jak zastavit přijetí, když práce závisí na člověku. Je připojena k úloze, která ji otevřela, a kontrola čte jen otázky patřící aktivní úloze. Předání a zahájení nové úlohy proto nechá otázku nevyřešenou a nic už neblokuje, takže jediná věc, která měla odmítnout dokončený finish, neodmítne nic. Mezera byla nalezena spuštěním zdokumentované sekvence od začátku do konce, ne revizí, a je publikována jako plánované tvrzení bez implementace a bez testu.

Výsledek

Nevyřešená otázka dál odmítá dokončený finish, i když se práce přesune na novou úlohu, nebo se alternativa zvolí záměrně a důvod se zaznamená tam, kde ho příští worker přečte.

Aktuální stav

docs/CLAIMS.yaml nese blocker-survives-handover jako plánované, s implementací i testem '-'. lib/question.sh páruje nevyřešené řádky podle id aktivní úlohy; lib/check.sh čte jen ty. Nic nezjistí, že předávka osiřela blokátor.

Cílový stav

Chování se rozhodne mezi dvěma pojmenovanými alternativami, implementuje se, dokáže se behaviorálním případem a tvrzení se posune z plánovaného na zaručené s vyplněnou implementací a testem.

Rozsah

  • lib/question.sh
  • lib/check.sh
  • share/skeleton/templates/open-questions.md
  • docs/CLAIMS.yaml
  • docs/claims
  • docs/CONTINUITY.md
  • test/cases

Mimo rozsah

  • Otázka, která blokuje napříč repozitáři nebo worktrees
  • Přiřazení otázky osobě nebo upozornění kohokoli
  • Jakákoli změna ostatních řádků kontraktu finish

Kritéria přijetí

  • Behaviorální případ předvádí současný únik, takže mezera je spustitelná, ne jen tvrzená
  • Volba mezi přenesením otázky a rozšířením kontroly je zaznamenána jako rozhodnutí s tím, co bylo zamítnuto a proč
  • Zvolené chování je implementováno a případ selže, když se odstraní
  • Tvrzení v docs/CLAIMS.yaml přechází na guaranteed se skutečnou implementační cestou a skutečnou testovací cestou
  • Stránka detailu tvrzení uvádí, co chování nepokrývá

Validace

  • bash test/run.sh
  • bin/majordomus doctor
  • scripts/generate-site-data --check

Požadované důkazy

  • gap_reproduced
  • decision_recorded
  • behaviour_tested

Rizika

  • Přenesení otázky předávkou z ní dělá vlastnost práce, ne úlohy, což je správné v běžném případě a špatné, když je předávka určena jinému kusu práce. Rozšíření kontroly na každou nevyřešenou otázku blokuje úlohy, které žádnou neotevřely. Rozhodnutí musí pojmenovat případ, ve kterém se rozhodlo mýlit.

Důkazy

Milník není nikdy hotový tím, že jsou hotové jeho úkoly; poslední krok je jeho vlastní přijetí a podmiňují jej řádky níže.

pokrývátypcommandvýsledek
gap_reproducedtestbash test/run.sh 50_blocker_across_handoverpřípad spustí zdokumentovanou sekvenci a sekce mutace reprodukuje únik ze sondy, která zúží kontrolu zpět na aktivní úlohu, takže mezera je spustitelná, ne jen popsaná
decision_recordedručníbin/majordomus decision listvolba, obě zamítnuté alternativy s případem, který každá řeší špatně, a dvě podmínky, které volba uložila implementaci
behaviour_testedtestbash test/run.sh 50_blocker_across_handover && bash test/run.sh 25_continuity_lifecycle && bin/majordomus doctorexit 0, 85 s — zaznamenáno jako ověření této úlohy; zděděný blokátor odmítne dokončený finish, může ho vyčistit jakákoli úloha a dodávaná šablona není položka

Úkoly

Každý z nich je prováděcí kontrakt s vlastními kritérii přijetí, validačním příkazem a požadovanými důkazy. Sloupec wave je vrstva grafu závislostí, v níž úkol leží.

issuestatusvlnazávisí nanázev
I0101 HOTOVO 0 — Reprodukovat uniklou blokující překážku jako spustitelný případ
I0102 HOTOVO 1 I0101 Rozhodnout, zda se otázka přenáší, nebo se kontrola rozšiřuje
I0103 HOTOVO 2 I0102 Implementovat rozhodnutí a prokázat, že platí
I0104 HOTOVO 3 I0103 Posunout tvrzení z plánovaného na zaručené

Graf

Graf závislostí M001z .ai/repo/project
flowchart LR
    I0101["I0101<br/>Reproduce the escaped blocker as an executable case"]:::done
    I0102["I0102<br/>Decide whether a question transfers or the gate widens"]:::done
    I0103["I0103<br/>Implement the decision and prove it holds"]:::done
    I0104["I0104<br/>Move the claim from planned to guaranteed"]:::done
    I0101 --> I0102
    I0102 --> I0103
    I0103 --> I0104
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Kanonický záznam: .ai/repo/project/milestones/M001.yaml. Zpětně ho přečtete pomocí majordomus plan show M001.

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