Okamžik
Stránka tvrdí, že systém něco dělá. Skoro to dělá. Mezera je takového druhu, že znalý čtenář by ji nazval rozdílem v důrazu a uživatel chybou, a vzniká proto, že stránka byla napsána z návrhu a kód z omezení.
Proč k tomu dochází
Veřejný materiál se píše jednou, brzy, když zamýšlené chování je jediným chováním, které existuje. Dodání design zužuje; zúžení je zaznamenáno v commitech a testech a v ničem, co by někdo srovnával se stránkou. Nic na stránce neoznačuje, které věty jsou nosné.
Proč to lepší model nevyřeší
Worker, který má napsat stránku podle návrhu, napíše přesný popis návrhu. Chyba je v tom, že stránka není odvozena z ničeho, co se mění, když se změní chování.
Co to stojí
Důvěra, kterou je drahé znovu získat a kterou utratí právě ti čtenáři, na kterých záleželo nejvíc — ti, kteří se na větu spolehli. Interně to stojí totéž co jakýkoli zastaralý dokument, plus spor o to, zda byla špatně stránka, nebo implementace.
Co Majordomus dělá
Každá věta o schopnosti je objekt tvrzení se stavem — zaručeno, doporučení, plánováno nebo zamítnuto — souborem, který ji implementuje, a behaviorálním případem, který ji dokládá. Veřejné stránky tyto objekty vykreslují, nepřeformulovávají je, takže tvrzení se nemůže na stránce objevit se stavem, který nemá. Zaručené tvrzení bez skutečné implementace a skutečného testu kontrolu neprojde. Zamítnuto je zveřejněný stav s odůvodněním, takže myšlenka, která byla zvážena a odmítnuta, zůstává odmítnutá, místo aby se navrhovala znovu.
Před a po
before page: "Majordomus verifies completion." code: it verifies what you name.
after claim finish-contract guaranteed lib/finish.sh test/cases/06_finish.sh
claim cost-per-outcome planned - -
(the page renders the status; a guaranteed row with '-' fails the build)Co nedělá
Neposuzuje formulaci stránky a špatně formulované pravdivé tvrzení zůstává špatně formulované. Odmítá spojení silného stavu s žádnými důkazy.