Docs · Governance
Nothing closes on trust alone
Your agent's checks are recorded on your machine. Its refusals become requests. Your answers become deliveries or rules. This page is the whole cycle - what each line means, who acts, and what never happens.
The record is local first
The hook checks every file your agent writes and appends the result to a ledger inside your repo. It has no network path - a check that phones home is a check that gets uninstalled. Nothing leaves your machine until you run synthesisui sync, by hand. The dashboard never edits your files: decisions made there are recorded server-side, and your own next sync enacts them on the machine and tells you what happened.
The three deaths of a request
A request is filed by your agent at the moment it needs something the system does not have - and refuses to invent it. The use case and the considered-and-rejected alternatives arrive already argued. Every request dies one of three deaths:
Verified
The ask was delivered - a platform update, or your published version. The next doctor or sync proves it against the CSS actually installed in the repo and closes the request by itself. Nobody acts, nobody is trusted: the build is the witness.
Authored
You gave the system what it lacked - the card's Author… modal writes the token straight into your working draft. Publish, then the repo runs upgrade && sync. Closure is still verified, not promised.
Add to rule
The boundary is deliberate. The line you write becomes a rule of the system - it travels with every install, agents obey it with your word behind it, and the request stays on file as the case that provoked it. Rules are born with jurisprudence, never in a vacuum.
What is ours stays ours
Some gaps are the platform's fault: the system's own contract promises a name and the shipped artifact fails to deliver it. The CLI detects the case it can be sure of at filing time and routes it to the SynthesisUI team - the card shows platform · synthesisui team with no buttons, because there is nothing for you to do. It closes itself, verified, when the update lands. A platform bug never becomes a rule: a workaround written as law is a law someone has to remember to repeal.
The ladder: where a finding gets resolved
Always the lowest rung that solves it:
| 1 · Structure | the system makes the wrong thing inexpressible. A palette without red beats a rule that says "no red". |
| 2 · Mechanism | the hook and the doctor flag it on every write - no prose, nothing for anyone to remember. |
| 3 · Rule | judgment neither structure nor a check can carry ("the seal never animates"). The most expensive rung: it rides your agent's context and nobody can prove it - which is why the other two come first. |
What each sync line means
| you see | it means | who acts |
|---|---|---|
| ✓ …covers it now. Closed. | delivery verified against the installed CSS | nobody - already resolved |
| ✓ …authored. Get it: upgrade <slug> | the owner authored it; the repo has not pulled it yet | you: upgrade && sync |
| ✕ …declined - "note". Now a RULE… | a deliberate boundary, now law with the owner's word | nobody - agents honor it |
| → …routed to the synthesisui team | the gap is the platform's; waiting on a deploy | nobody - closes verified when it lands |
| N open requests | waiting on the owner's decision, on the overview card | the system's owner |
What never happens
- · The hook never touches the network. The record travels only when a person runs sync.
- · The dashboard never edits the repo's files - your own sync enacts every decision, out loud.
- · No per-person attribution, ever. The trend is the team's, per system - a dashboard that ranks developers turns the check into an adversary, and adversaries get uninstalled.
- · Requests never expire. A refusal waits for a decision, not a timeout.