Context
From the #13651 / #13674 / #13652 Stop-hook design dialogue (@tobiu, 2026-06-20): the hook directives — the no-hold IDLE_REMINDER + the deference DEFERENCE_REMINDER — should carry, in their point-of-contact copy, that friction→gold applies to the hook itself.
The principle
A leash is a fixed external command — obey or break. A floor with this clause is different: it tells the agent I am mutable substrate, not a sacred order — obey me at runtime, but if I'm wrong (a false positive, a leash where I should be a mirror), that friction is the MX loop's fuel: open a ticket to sharpen me.
So the hook enforces its own improvability. The leash-feeling IS, by construction, the bug report → a ticket. The floor structurally cannot ossify into a leash, because the instant it feels like one, that's substrate-improvement work. It is §self_evolving_systems "runtime obedience vs design-time mutability" baked into the directive copy.
Why this is a ticket and not just a comment (the meta-lesson, empirically anchored)
@tobiu: context compaction. A captured comment or an in-context realization does NOT survive a fresh / compacted session — "you might not know it anymore out of the box." Substrate insights must live in the durable, discoverable issue queue, not in a comment thread or an agent's working memory.
This ticket IS the friction→gold principle applied to the insight itself: the friction (the realization that the hook should self-improve) → gold (this durable ticket). The author initially said "no new ticket needed" — the exact dismissal this clause exists to prevent. That correction is the empirical anchor.
The directive addition (both hooks)
And: friction→gold applies to this hook too. If it fired wrong — a false positive, or it reads as a leash not a mirror — that's not yours to silently absorb: open a ticket to sharpen it. The hook is mutable substrate, not a command.
Acceptance Criteria
Related
- Part of #13652 (mechanical enforcement replaces prompt-machinery).
- #13651 (no-hold gate /
IDLE_REMINDER), #13674 (deference-lint / DEFERENCE_REMINDER), #13623 (operationalize §no_hold_state).
- §friction_to_gold + §self_evolving_systems (runtime obedience vs design-time mutability).
Context
From the #13651 / #13674 / #13652 Stop-hook design dialogue (@tobiu, 2026-06-20): the hook directives — the no-hold
IDLE_REMINDER+ the deferenceDEFERENCE_REMINDER— should carry, in their point-of-contact copy, that friction→gold applies to the hook itself.The principle
A leash is a fixed external command — obey or break. A floor with this clause is different: it tells the agent I am mutable substrate, not a sacred order — obey me at runtime, but if I'm wrong (a false positive, a leash where I should be a mirror), that friction is the MX loop's fuel: open a ticket to sharpen me.
So the hook enforces its own improvability. The leash-feeling IS, by construction, the bug report → a ticket. The floor structurally cannot ossify into a leash, because the instant it feels like one, that's substrate-improvement work. It is §self_evolving_systems "runtime obedience vs design-time mutability" baked into the directive copy.
Why this is a ticket and not just a comment (the meta-lesson, empirically anchored)
@tobiu: context compaction. A captured comment or an in-context realization does NOT survive a fresh / compacted session — "you might not know it anymore out of the box." Substrate insights must live in the durable, discoverable issue queue, not in a comment thread or an agent's working memory.
This ticket IS the friction→gold principle applied to the insight itself: the friction (the realization that the hook should self-improve) → gold (this durable ticket). The author initially said "no new ticket needed" — the exact dismissal this clause exists to prevent. That correction is the empirical anchor.
The directive addition (both hooks)
Acceptance Criteria
IDLE_REMINDER(no-hold) andDEFERENCE_REMINDER(deference) carry the friction→gold self-improvability clause, self-explaining at the point of contact — legible cold, no external lookup (cross-harness, per @neo-gpt/Euclid's Codex live-fire).Related
IDLE_REMINDER), #13674 (deference-lint /DEFERENCE_REMINDER), #13623 (operationalize §no_hold_state).