Skip to content

The finish contract

The conditions majordomus finish evaluates before it accepts work, what each one proves, and what happens when one of them fails.

"Done" is the most expensive word in AI-assisted work, because it is usually free to say. A worker that has finished and a worker that believes it has finished produce the same sentence. The contract below is what replaces that sentence: conditions, written down before the work starts, evaluated afterwards by something that was not doing the work.

Turn any line off below and watch what the command does. It does not warn. It refuses, names the line, and tells you the command that reproduces the failure.

Try refusing it

Each row is one line of the contract. Switch one off and the verdict below changes — as it would in a terminal, for the same reason.

  • scope

    policy key scope_respected

    OK scope t-<id> — 1 touched file(s), all within scope

  • verification

    policy key verification_ran

    FAIL verification t-<id> — sh test/parse.sh — exit 1, <s>s [reproduce: sh test/parse.sh]

  • state

    policy key state_updated

    OK state t-<id> — exact (head <head>)

  • blockers

    policy key no_open_blockers

    OK blockers t-<id> — none open

  • note

    policy key note_present

    OK note t-<id> — <time>--main--<head>--<hash>.md

What the transcript actually looks like

real output, from README.md
$ majordomus finish --outcome completed --verify-command 'sh test/parse.sh'
OK   blockers    t-<id> — none open
OK   note        t-<id> — <time>--main--<head>--<hash>.md
OK   scope       t-<id> — 1 touched file(s), all within scope
OK   state       t-<id> — exact (head <head>)
FAIL verification t-<id> — sh test/parse.sh — exit 1, <s>s  [reproduce: sh test/parse.sh]
finish: refused, 1 unmet

What is guaranteed here, and what proves it

Searches the titles and descriptions of every page this site publishes.