| Declare |
CLI, Worker |
The intent records the goal, the paths the agent expects to touch, and the reason. --on <intent> stacks it on an unlanded intent. |
| Fork and token |
Worker, Artifacts |
One fork per intent. The write token works on that fork only and expires after 900 s; each push gets a fresh one and revokes the older ones. |
| Push |
CLI, Artifacts |
Plain git over HTTPS. The token goes in an http.extraHeader through environment variables, never in the URL, argv or on disk. |
| Overlap check |
Worker |
Declared and pushed paths are compared with every open intent. An overlap comes back with a suggested re-plan (land_first, stack or split); nothing re-plans on its own. |
| Propose |
CLI, Worker |
The Worker reads the fork head from Artifacts; the proposal fails if the client’s commit differs. |
| Classify |
Worker |
The Worker computes the diff itself and tags it. Tags from the client’s local preview are kept only for comparison. |
| Policy action |
Worker |
Policy is read from the trunk at the commit the intent forked from, never from the fork. The action is one of auto_merge, agent_review, human_approve, multi_approve, quarantine, block. |
| Approve or reject |
A person or a reviewer agent |
Only for actions that need one. The author cannot decide their own change, and filler reasons are refused. A quarantine change stays off the trunk until someone other than the author releases it with approve; a block change can never be approved or landed. See Policy. |
| Land |
CLI, Worker, Artifacts |
Merges (never rebases) onto the trunk with a 300 s trunk token. The Worker checks the trunk holds the approved change, or records a mismatch. |
| Git note and audit |
CLI, Worker |
The note under refs/notes/wayglass carries intent, tags, matched rule, action, who decided and why. The audit log has every step, not only the last. |
why |
CLI |
wayglass why <file>:<line> blames the line to its commit and reads that commit’s note; without a note it asks the Worker’s audit record. |