Appendix B - 12. Self-governance (detect your own recurring issues; convert each into a tasteful control)

The judgment — Convert a recurring failure into its smallest class-killing control, on a cadence.

RoleAgent
FamilyGovernance-doc mechanisms
Used in stacksThe governance-of-governance stack
EnforcementSoft·Hard
Related mechanismsSibling: Operator runbook skill (positive map first, symptom index fallback); Enabler: Lifecycle hooks (interpose on the agent runtime's events); Consumer: CLAUDE.md rule index (the governance document as a mechanism); Generalization: Blocking semantic lints

The Structure of Self-governance (detect your own recurring issues; convert each into a tasteful control) — its shape at a glance:

Two halves, packaged. A hard reflection hook fires on a lifecycle event, at most once per window. It prompts a soft conversion loop: name the failure class, then pick the smallest control from an ordered vocabulary — prefer a constraint, fall back to a sensor — scaffold it, and hand it off to be installed in the bounded rule index. A design-time audit runs the same stance forward, preventing a class by construction.

preferelseprevent by constructionTurn-end / stop eventReflection hook once per windowRecurrence: 2ndoccurrenceName the failure CLASSConstraintbuildable?Typed seam / closedenum wrong moveunrepresentableLint / gate / test / hook detect and failScaffold; human orharness installsBounded rule indexDesign-time audit
Figure B.12-1. Accessible description: a turn-end event and a recurrence signal both feed a reflection hook that fires at most once per window — the hard, deterministic half. The hook prompts the soft loop: name the failure class, then decide whether a constraint is buildable; if so emit a typed seam or closed enum that makes the wrong move unrepresentable, else emit a sensor (lint, gate, test, hook) that detects and fails it. Either way the scaffolded control is handed to a human or the harness to install into the bounded rule index. A design-time audit prevents a class by construction before it is ever felt.

Full description → Self-governance (detect your own recurring issues; convert each into a tasteful control).

Intent — Give the system permission to govern the way it is governed: let it detect its own recurring issues and introduce tasteful — proportionate, right-sized — controls that prevent recurrence, rather than re-patching each instance by hand. When a failure recurs, classify the failure class and add the smallest durable guardrail that kills it, fired on a cadence so the loop runs by design (our instance: a loadable failure-interpretation skill invoked by a turn-end reflection hook at most once per window).

Problem

The recurring failure is re-patching an instance of a class the fleet will hit again. The same cherry-pick false-rejects a second time; the same lint mis-fires; the same manual step gets re-done by hand. Fixed locally each time, the class survives to bite the next agent. Two sub-failures compound it. Turning an instance fix into a class-killing control depends on an operator noticing the recurrence and choosing to build the guardrail — the judgment skipped when the queue is deep. And even a team that believes in conversion forgets: on a long autonomous run the trigger lives only in fallible memory.

Mechanism

Two halves, one soft and one hard, packaged together.

Engineering consequences

The conversion becomes cadence-driven rather than memory-dependent: the hard hook guarantees the prompt even on a deep queue, so the governance estate grows by design and velocity turns into durable trust instead of re-solving solved problems. The word tasteful carries weight — the loop adds the smallest guardrail that closes the class, so governing the system does not calcify it.

Implementation seam

The loop keys on a recurrence signal — memory, an incident log, an operator's recall — so a second occurrence reads as seen before rather than novel. The cadence half binds to a lifecycle event the harness exposes. A closed control vocabulary makes "pick the durable control" checkable, and each converted failure lands in a bounded, enforced home so the next conversion can see what already exists.

Known limitations

The proposing half is soft — it recommends and scaffolds, it cannot block. Cadence tuning is a real cost: too often and the reflection becomes alarm fatigue; too rarely and a recurrence ages past the moment it was cheapest to convert. Taste does not automate — choosing the right-sized guardrail, and resisting the over-control reflex, stays human. Left undisciplined, the loop can grow a thicket of low-value checks that themselves need governing.

© James C. Davis, 2026–present