Repository navigation
Errors and Edge Cases
m4bwav edited this page Nov 4, 2026
·
1 revision
A refusal exits 2. There is no override for a gate except session end --force "<why>".
Posting and deploying refuse whatever the profile says:
$ grw.py guard post
{
"ok": false,
"refused": [
"outward-facing: draft it and hand it to a person, whatever the profile says"
],
"allowed": false
}
$ grw.py guard touch_main
{
"ok": false,
"refused": [
"deny: branch"
],
"allowed": false
}
"refused": [
"no askwright set: give --why (for a PR or a chat question)"
]
lint-text checks a file against the profile's text_bans:
"refused": [
"text names a banned term: secret-codename"
],
session check won't allow a stop while an item can be chosen:
"may_stop": false,
"why": [
done needs --evidence and --oracle:
grw.py done: error: the following arguments are required: --evidence, --oracle
- Claims and the state lock do not coordinate across git worktrees, because each worktree has its own ledger copy.
- The physical-sense check before a review is an instruction, not a gate.
-
wait-humanaccepts--whywith no question set, so it can skip the page. -
road_warningis advice.claimdoes not enforce it.
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