I1600 — Výzva je jeden zaznamenaný běh a každý veřejný povrch ho přehrává
Zaznamenat jeden scénář, v němž pracovník vybočí z rozsahu, tvrdí, že je hotov, předá a je odmítnut, dokud neprojde vlastní test repozitáře; vykreslit tento běh na úvodní stránce a na /challenge/; udělat z prvního přepisu v README.md jeho krok; a ověřit, že veřejný web ho po publikaci servíruje.
HOTOVO vlna 0 · p1 · profil implementation · běží samostatně
Součást public-proof — Návštěvník vidí, jak se produkt sám dokazuje, a může ověřit každé jeho tvrzení.
Cíl
Zaznamenat jeden scénář, v němž pracovník vybočí z rozsahu, tvrdí, že je hotov, předá a je odmítnut, dokud neprojde vlastní test repozitáře; vykreslit tento běh na úvodní stránce a na /challenge/; udělat z prvního přepisu v README.md jeho krok; a ověřit, že veřejný web ho po publikaci servíruje.
Proč
Rozlišovací vlastností nástroje je to, co odmítá přijmout, a web to ukazoval jen jako nesouvisející ilustrace příkazů. Nováček potřebuje jeden příběh a odkaz zvenčí potřebuje stránku. Každá veřejná věta o něm musí zůstat projekcí běhu, který proběhl, proto je každý povrch ke záznamu připoután kontrolou.
Aktuální stav
Žádný případ užití neukazuje, jak check odmítne soubor mimo rozsah, protože krok scénáře mohl jen vyvolat nástroj. Hero domovské stránky je konzole životního cyklu. Neexistuje trasa /challenge/. První blok README.md je psán ručně. catalogue.json nenese žádný scénář, takže zralost se všude čte jako popsaná.
Cílový stav
Případ užití catch-an-agent-that-says-it-is-done běží s kroky workeru; site/data/generated/challenge.json je jeho běh; /challenge/ a domovská stránka ho přehrávají; site-check, odvození a scripts/pages verify --smoke drží každou plochu u něj.
Rozsah
- lib/usecase.sh
- lib/finish.sh
- share/schemas/majordomus/use-case
- .ai/repo/use-cases
- test
- skripty
- web
- README.md
- docs/USE_CASES.md
- docs/LAUNCH.md
- docs/README.md
- .ai/repo/ci/pages.yaml
- .github/workflows/pages.yml
Mimo rozsah
- Analytika, reference, počty adoptujících nebo jakékoli tvrzení, které repozitář nemůže odvodit
- Sociální obrázky generované pro každou stránku
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- usecase validate odmítne krok pracovníka v živém scénáři, vedle run a bez exit kódu
- zaznamenaný běh scénáře výzvy ukazuje odmítnutí rozsahu, odmítnutí finish při neúspěšném ověření, předávku obnovenou přes context a přijaté finish
- scripts/site-check selže, když /challenge/ nebo homepage postrádá zaznamenaný řádek, vykresluje jiný počet kroků nebo neodkazuje na záruku, na níž stojí řádek srovnání
- scripts/generate-site-data odmítne výzvu, která neprojde, nic neodmítá, nekončí přijetím, opírá se o tvrzení, které není zaručeno, nebo jejíž přepis v README není zaznamenaným krokem
- finish vypíše jednu blokující doktrínu na řádek
Validace
- bash test/run.sh 632_a_scenario_shows_the_worker_it_judges
- bash test/run.sh 103_obligations
- scripts/generate-site-data --check
- scripts/site-check
Požadované důkazy
- challenge_recorded
- site_holds_the_run
- public_site_serves_it
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| challenge_recorded | test | MJ_TEST_JOBS=4 bash test/run.sh 632_a_scenario_shows_the_worker_it_judges 103_obligations | ok 632 (worker step recorded as actor worker; refused in a live scenario, beside run, and without an exit code) and ok 103 (finish prints one blocking doctrine per line) at master 1393d9ef2a; site/data/generated/challenge.json holds 10 steps: check refused (scope), finish refused twice on 'sh test/parse.sh', handover then context, accepted finish | 1393d9e |
| site_holds_the_run | ci | gh run view 38083715376 --json jobs (validate na masteru 890e112d04, úloha site spouští scripts/generate-site-data --check a scripts/site-check --no-sync) | úloha site uspěla, úloha pages uspěla; 890e112d04..1393d9ef2a nemění žádný soubor pod apps, lib, scripts, site/templates ani test (pouze 25 dokumentů kampaně); site-check drží /challenge/ a přehrání domovské stránky každému zaznamenanému řádku, počtu panelů kroků, výzvě CTA a každému odkazu záruky a generate-site-data odmítne výzvu bez odmítnutí, nezaručené tvrzení nebo přepis README, který není zaznamenaným krokem | 1393d9e |
| public_site_serves_it | artifact | curl -fsS https://majordomus.dev/challenge/ | grep -o 'data-outcome=\"[a-z]*\"' | sort | uniq -c; curl -fsS https://majordomus.dev/ | grep -cE 'href=\"[^\"]*/challenge/\"[^>]*data-cta=\"challenge\"'; curl -fsS https://majordomus.dev/build.json | HTTP 200; 10 panelů kroků (4 přijaty, 3 změna, 3 odmítnuty) = 10 kroků, které challenge.json zaznamenal; první výzva k akci na homepage odkazuje na /challenge/; build.json jmenuje master 890e112d04, verzi 0.20.0, dirty false | 1393d9e |
Riziko
Odvození nyní spouští jeden další scénář a domovská stránka nahrazuje svou hero konzoli; konzole se přesouvá pod sekci jak to funguje, místo aby zmizela, takže kontrola, která drží každý zaznamenaný panel životního cyklu na domovské stránce, zůstává beze změny.
Časová osa
- zahájeno
- 2026-10-11T04:18:57Z
- ověřeno
- 2026-10-11T04:40:44Z
- dokončeno
- 2026-10-11T04:40:59Z
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/I1600.yaml. Přečtěte jej zpět pomocí majordomus plan show I1600.