Skip to content

v4.309.0

@jessegall jessegall tagged this 30 Aug 05:16
By default no hook fires for a subagent. `Hooks\Discipline` is the marker that
opts one in, and it is on the class line rather than in a method because both
mistakes are silent: a discipline that stops at the orchestrator leaves every
worker writing code with none of the rules this package exists to keep in front
of it, and an orchestration hook that reaches a worker holds it for a build it is
not running.

Eight carry it — the cardinal rule, source-tracing, skills, the judge nudge, and
the four gates and the recorder. A worker gets LIVE judging on its edits, which
is the point: it has less context than the orchestrator that sent it, not more,
so the disciplines are worth more there rather than less. Fifteen others say
nothing to it without anybody having to declare that.

The base class already argued this split in prose — "a rule that goes quiet
exactly where the work happens is not a rule" — while only three hooks were
opted in. The marker makes the argument readable per class instead of true only
in a comment.

And `SchedulerGate` is DELETED. It refused every tool while no scheduler was
marked watching, and its allow-list omitted this package's own CLI — so the one
command that lifts it was refused by it. It locked its author out on the next
command after registering, and locked a consuming project out of its whole
session. A gate whose repair requires falsifying its own precondition has the
wrong precondition: the honest question is whether work is undrained, which the
stop hook already answers.
Assets 2
Loading