Situace
Implementováno, commitnuto, pushnuto, integrováno, publikováno a nasazeno je šest různých faktů a zpráva, která s nimi zachází jako s jedním, není zpráva. Pracovník může dokončit změnu, spustit její testy, splnit každý řádek smlouvy o dokončení a nechat práci ležet v pracovním stromě jednoho notebooku.
Slovník závazků už měl tokeny pro všech šest. Chybělo, aby se na ně někdo ptal: každý se plnil tím, že člověk něco spustil a napsal, že to udělal. Git drží čtyři z těch odpovědí a drží je od počátku.
Scénář
setup: task-owes-outer
given:
- a repository with the layer installed, an active task that owes commit and push, and the work still in the working tree
steps:
- id: recording-it-changes-nothing
run: ['evidence', '--covers', 'commit', '--command', 'git commit']
expect:
exit: 0
output: 'evidence: commit recorded'
- id: the-tree-is-asked-instead
run: ['finish', '--outcome', 'completed', '--note', 'done']
expect:
exit: 10
output: 'still in the working tree'
- id: what-cannot-be-settled-says-so
run: ['check']
expect:
exit: 0
output: 'the checkout has no remote'
then:
- a token the tool can settle is settled live at HEAD, and a recorded line neither discharges it nor rescues it
- a checkout that cannot settle a token falls back to the recorded evidence and says what it could not establish
- unreachable and unpublished are different findings, and neither is reported as the otherVýsledek
Slova v reportu jsou slova pro to, co se stalo. Práce ve stromě není commitnutá, commit, který remote neviděl, není pushnutý, větev, kterou trunk nezahrnuje, není integrovaná, a web, který nikdy neodpověděl, není web servírující starý commit. Žádné z těch rozlišení nestojí pracovníka nic k udržování, protože žádné z nich nedrží pracovník.