package.json with "type": "module", put the
brief and the sample inputs from examples/use-cases/business/
beside it, then run the copied file.
The file
negotiate with the redlines and the positions in
review/. A no goes back to redline with the lawyer’s note as the
finding.
What a run printed
The output below is from one real run of this file, with the two command line tools signed in on the machine. The transcript is trimmed at both ends: a reader’s own run prints a▸ run event line before the first stage and — unless
the process is killed first — a ◂ run line carrying the outcome and the run’s
token total after the last stage. The machine that captured this also had an
extra local search tool available to the first seat, which this example does
not configure, so those calls are elided and a reader’s own run will not make
them. The run stops at the person, which is what every example here does before
anything is sent or filed.
The team’s shape
Where a stage’s gate names a file, the package checks the file after the
job. Where it names an exit code, the command decides. Where it names a
reviewer, the reviewer’s decision decides. Where it names a person, the
run pauses until the person answers. A model’s own report of its work
never passes a stage.
Gotchas
- The checker holds the redlines to the playbook, both ways. A never-sign clause with no redline sends the set back, and so does a redline that asks for more than its rule allows.
- The contract is a workspace file the brief names.
files: ["contracts/msa.md"]in the brief’s front matter tells every seat the file exists and forbids the review seat from writing it. - The playbook is the whole brief. Everything a seat knows about what is acceptable comes from
briefs/playbook.md; a rule that is not written there is not applied.
Source
The file isexamples/use-cases/business/contract-playbook.ts; its proof, brief and
sample inputs sit beside it. The runtime package page
lists every input.