Skip to main content
Run substrate unapprove to reverse a mistaken substrate approve. It uses the same board resolution, the same human_only guard, the same optimistic write, and the same human:<os-user> event stamp — except that instead of setting the field it deletes the key from custom_data. Deletion, not false, is the correct primitive: an absent key reads as undefined, so a guard checking exists re-blocks, and so does one checking eq true.

Usage

Arguments

string
required
The task id.
string
required
The human_only field to clear.

Stranding Warning

If the task already advanced past the gate on the mistaken approval, unapprove warns that the task is now stranded — sitting in a group it could no longer reach — and leaves it there. Moving it back is your call.The stranding check looks for an active transition_guard whose to_group is the task’s current group and whose require tree references the field. It is a direct match, not a multi-hop reachability analysis, so it can miss a case — a false negative merely omits the warning; it never moves or blocks anything.

See Also