Skip to main content
The brief is the playbook: what you accept, what you push back on and with what wording, what you never sign. One model maps every clause of the contract to the rule it meets or breaks, writes the redlines in the playbook’s wording, and writes the negotiating note; a model from another family checks each redline against the playbook and sends the set back when a clause is missing or a redline goes further than its rule. The lawyer decides what is sent to the other side.
In that directory, create 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

Every event of the run prints as one line as it happens, the usage lines included, and the outcome prints last as JSON. The run stops at 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 is examples/use-cases/business/contract-playbook.ts; its proof, brief and sample inputs sit beside it. The runtime package page lists every input.