Repository navigation
Commands
grw.py --help lists every command, and grw.py <command> --help lists its flags. Commands print one JSON object.
| Code | Meaning |
|---|---|
| 0 | It worked, or the answer is yes. |
| 2 | A gate refused, or an argument is missing. The JSON or usage text says why. |
grw.py session check exits 0 either way. Read may_stop in its output.
| Group | Commands |
|---|---|
| Set up |
init, doctor
|
| The ledger |
add, set, list, drop
|
| Choosing |
rank, next, plan, queue, discover
|
| Working |
claim, checkpoint, analyse, redo, done
|
| Handing over |
wait-human, wait-machine, sync, relay, resolve
|
| Review media |
derived, look
|
| Rules |
guard, lint-text
|
| Session |
session start, session check, session pause, session end
|
| Reporting | metrics |
--lane, --source and --value are required. --source must point at the file, finding or observation that shows the need, which keeps invented busywork out.
$ grw.py add "Finish the ending" --lane bugs --value 5 --human-min 30 --road core --source "design.md: no ending"
The answer holds an id, which changes per run, and the item's class:
"class": "worth-the-ask"
$ grw.py guard merge
{
"ok": true,
"allowed": true,
"why": "allow: after checks pass"
}
The answer comes from the profile's guards. Outward-facing actions are refused whatever the profile says; see Errors and edge cases.
This wiki describes grindwright 0.1.0 and was last updated on 2026-11-03. The plugin is MIT licensed. Report problems in the issues. Not on a package registry: install from this repository.
Using it
The releases
Contributing
Elsewhere