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.

public-proof — Návštěvník vidí, jak se produkt dokládá, a může ověřit každé tvrzení, které činí

Jeden zaznamenaný scénář vypráví celý příběh: worker zabloudí, tvrdí, že je hotovo, předá práci a je odmítnut, dokud neprojde test samotného repozitáře. Pohání hrdinský blok domovské stránky, její vlastní routu, první přepis v README a živou smoke kontrolu, a každé z nich drží k zaznamenanému běhu kontrola, ne pečlivost.

AKTIVNÍ 3 z 5 úkolů hotovo

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

Problém

Vývojář, který nikdy neviděl Majordomus, narazí na domovskou stránku, jejíž první viewport popisuje řídicí dozorovou vrstvu jejím vlastním slovníkem, vedle konzole, která ilustruje každý příkaz životního cyklu zvlášť. Nic na ní neukazuje, jak nástroj dělá tu jednu věc, která ho odlišuje — odmítá práci, kterou worker nazývá hotovou — jako jeden příběh, který nováček dokáže sledovat, a neexistuje stránka, na kterou by někoho mohl poslat odkaz zvenčí. První přepis v README je psán ručně. Pod tím se katalog případů užití dostal na web bez jakéhokoli scénáře, od chvíle, kdy se scénáře přesunuly do těla, takže každý spustitelný případ užití vypadal jen jako popsaný.

Výsledek

Jeden zaznamenaný scénář vypráví celý příběh: worker zabloudí, tvrdí, že je hotovo, předá práci a je odmítnut, dokud neprojde test samotného repozitáře. Pohání hrdinský blok domovské stránky, její vlastní routu, první přepis v README a živou smoke kontrolu, a každé z nich drží k zaznamenanému běhu kontrola, ne pečlivost.

Aktuální stav

Hero homepage přehrává životní cyklus příkaz po příkazu; neexistuje trasa výzvy; první blok README.md je ilustrace; kroky scénáře mohou jen vyvolat nástroj, takže žádný případ užití neukazuje odmítnutí souboru mimo zabraný rozsah; catalogue.json nenese žádný scénář a zralost každého případu užití je popsána; scripts/pages verify se ptá jen, který commit veřejný web servíruje.

Cílový stav

Krok pracovníka umožňuje scénáři fixture ukázat změnu, kterou posuzuje. Případ užití výzvy běží v odvození webu a jeho běh je site/data/generated/challenge.json; /challenge/ a replay na domovské stránce ho vykreslují a scripts/site-check drží obojí u něj v obou směrech; první přepis v README.md je jeho krokem, jinak je odmítnut; zralost se znovu odvozuje ze scénářů; a scripts/pages verify --smoke se po každé publikaci ptá veřejných bajtů na výzvu.

Rozsah

  • lib/usecase.sh
  • lib/finish.sh
  • share/schemas/majordomus/use-case
  • .ai/repo/use-cases
  • test/fixtures/commands
  • test/cases
  • scripts/generate-site-data
  • scripts/site-check
  • scripts/pages
  • scripts/lib/interaction-specs
  • web
  • README.md
  • dokumentace
  • .ai/repo/ci/pages.yaml
  • .github/workflows/pages.yml

Mimo rozsah

  • Analytika nebo jakýkoli skript třetí strany na webu; pravidlo offline ho odmítá a nic zde ho nepotřebuje
  • Vymyšlené údaje o adopci, reference, loga nebo srovnání měření výkonu
  • Nový příkaz, který audituje repozitář, v němž Majordomus není nainstalován; doctor potřebuje init, a to je produktové rozhodnutí, ne stránka
  • Generované sociální obrázky pro každou stránku; stávající karta zůstává, dokud pro ni neexistuje generátor

Kritéria přijetí

  • Fixturní scénář může nést krok workeru, zaznamenaný s actor worker, odmítnutý v živém scénáři a vedle run nebo obligation
  • Scénář výzvy projde proti nástroji samotného stromu, alespoň jednou odmítne a skončí přijatou prací a odvození odmítne jej jinak publikovat
  • /challenge/ a homepage nesou každý zaznamenaný příkaz a řádek rozhodnutí běhu a nic jiného je nenahrazuje
  • První přepis v README.md je zaznamenaný krok výzvy a odvození jej jinak odmítne
  • catalogue.json nese scénář každého případu užití a zralost se z něj odvozuje
  • Veřejný web servíruje sloučený commit a jeho smoke trasy poté, co ho publikuje workflow Pages

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
  • scripts/pages verify --commit <master sha> --smoke

Požadované důkazy

  • challenge_recorded
  • site_holds_the_run
  • public_site_serves_it

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
challenge_recordedtestMJ_TEST_JOBS=4 bash test/run.sh 632_a_scenario_shows_the_worker_it_judges 103_obligationsok 632 and ok 103 at master 1393d9ef2a; its one issue I1600 is DONE (de14385dd3); site/data/generated/challenge.json holds the 10-step run: check refused on scope, finish refused twice on the failing test, handover then context, accepted finish
site_holds_the_runcigh run view 38083715376 --json jobs (validate na masteru 890e112d04: job webu spouští scripts/generate-site-data --check a scripts/site-check --no-sync)joby site a pages uspěly; 890e112d04..1393d9ef2a nemění žádný soubor pod apps, lib, scripts, site/templates ani test; site-check drží /challenge/ a přehrání na domovské stránce u každého zaznamenaného řádku, počtu panelů, CTA a odkazu každé záruky
public_site_serves_itartifactcurl -fsS https://majordomus.dev/challenge/ | grep -o 'data-outcome=\"[a-z]*\"' | sort | uniq -c; curl -fsS https://majordomus.dev/build.jsonHTTP 200; 10 panelů kroků (4 přijaté, 3 změna, 3 odmítnuté) = 10 zaznamenaných kroků; CTA na úvodní stránce odkazuje na /challenge/; build.json jmenuje master 890e112d04, 0.20.0, dirty false

Ú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
I1600 HOTOVO 0 — Výzva je jeden zaznamenaný běh a každý veřejný povrch ho přehrává
I2417 HOTOVO 0 — Úvodní stránka je proklikávací příběh: redakční hero a řetěz důkazů, kterým návštěvník prochází
I3436 HOTOVO 0 — Every article reads in every language the site declares, and its counterparts are reciprocal
I3437 PŘIPRAVENO 1 I3436 An article names every language version in one translations table, and every member names the same group
I3438 PŘIPRAVENO 1 I3436 A translation records the digest of its source, and site-check refuses one its source has moved past

Graf

graf závislostí veřejných důkazůz .ai/repo/project
flowchart LR
    I1600["I1600<br/>The challenge is one recorded run, and every public surface replays it"]:::done
    I2417["I2417<br/>The landing page is a click-through story: an editorial hero and an evidence chain a visitor steps through"]:::done
    I3436["I3436<br/>Every article reads in every language the site declares, and its counterparts are reciprocal"]:::done
    I3437["I3437<br/>An article names every language version in one translations table, and every member names the same group"]:::ready
    I3438["I3438<br/>A translation records the digest of its source, and site-check refuses one its source has moved past"]:::ready
    I3436 --> I3437
    I3436 --> I3438
    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/public-proof.yaml. Načtěte ho zpět pomocí majordomus plan show public-proof.

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