Essay 7.7 — The Plugin Kit, Part 7 of 9.


Essay 7.6 opened the per-plugin subagent pool and the 80/20 budget that mechanizes how much direct action the main session is allowed before it must delegate again. This sub-essay closes out the cell’s inventory — the smaller, conditional cognitive organs that round out the kit — and then steps outside the cell wall to name the one file at the brain root that makes any of it fire.


The Smaller Organs

A few smaller organs round out the kit. They carry less load but are still load-bearing for specific plugins.

config.conf — the operator’s tuning surface. Environment-style KEY=value lines for thresholds the plugin exposes for adjustment. SOFT_THRESHOLD_TIER=20, MAX_EVOLUTION_WORDS=2000, DRIFT_THRESHOLD=10. Read by scripts and hooks at fire time. Written by the operator (sometimes through gmode, sometimes directly). Most plugins carry one; question_discipline does not because it has no tunable thresholds.

tests/ — the plugin’s self-test suite. Read by the safe-lock cycle at the lock boundary; written through the [TEST-LOCK] ceremony, a finer-grained gate distinct from [PLUGIN-LOCK]. Every plugin ships tests; a plugin without them cannot survive the safe-lock cycle’s commit-or-revert discipline.

template/ — the plugin’s birthing surface. Only the creator plugins carry one — plugin_integrity and the phase plugins (currently five in the prototype) — because those are the plugins that create new instances of something. These creator plugins share a category: each one stamps new instances of its own kind. Read by lock-manager.sh at plugin-birth time when stamping a new plugin from the template.

e2e/ — Only phasic_system, the orchestrator plugin, carries this; no other plugin currently needs e2e/. End-to-end tests that exercise the full OPEVC cycle across multiple phases. Because no other plugin sees the cycle in its entirety, no other plugin needs e2e/.

LICENSE + README.md — open-source migration-readiness signals. Plugins carrying both are ready for the public seed agent; plugins not yet carrying them are still maturing in the prototype.

Image pending — A single plugin "cell" at the center with the smaller cognitive organs (config, tests, template, e2e, LICENSE, README) drawn as small tiles around the cell wall; the brain-root wiring file labeled OUTSIDE the cell entirely, with hook-event arrows pointing into the cell wall from outside
Prompt: ASSET: images/smaller-organs-b7-7.png Style: Match opevc-cycle-blackboard.png exactly. Dark slate chalkboard background; hand-drawn chalk lines; pastel chalk for the organ tiles and the brain-root wiring box (cyan, green, orange, pink, magenta — same palette as the cycle image); white chalk for ALL labels, arrows, the cell-wall outline, and the event names; faint chalk dust at the edges; chalk sticks along the bottom. IMPORTANT: Use only the literal text strings listed below. Do not invent or substitute any other file names, event names, or descriptors. Layout: Center of the board — one large hand-drawn chalk oval (the cell wall). Inside the oval, a single small white-chalk label reads exactly "plugin" (the cell’s contents are not detailed in this image — covered in earlier images). Around the cell wall, five small pastel chalk tiles arranged loosely outside the oval but close to it, each labeled IN WHITE CHALK with its exact text: Tile 1 (cyan fill, top-left): "config.conf" Tile 2 (green fill, top-right): "tests/" Tile 3 (orange fill, bottom-left): "template/" Tile 4 (pink fill, bottom): "e2e/" Tile 5 (magenta fill, bottom-right): "LICENSE + README.md" Each tile has a short white-chalk arrow pointing INTO the cell wall, indicating the tile belongs to the cell. In the upper-left corner of the board, OUTSIDE the cell-and-tile region entirely, draw a single larger chalk box (cyan fill darker) labeled IN WHITE CHALK exactly ".claude/settings.local.json". From this box, three white-chalk arrows fan out DOWN toward the cell wall, each labeled IN WHITE CHALK with one event name: Arrow 1: "UserPromptSubmit" Arrow 2: "PreToolUse" Arrow 3: "Stop" Above the brain-root box, a small white-chalk note reads exactly "registers". Keep every line hand-drawn and slightly imperfect, never ruler-straight. STRICT NAME WHITELIST — the image must contain only these literal text strings as labels: "plugin", "config.conf", "tests/", "template/", "e2e/", "LICENSE + README.md", ".claude/settings.local.json", "UserPromptSubmit", "PreToolUse", "Stop", "registers", plus the caption below. No other words, file names, folders, or event names may appear.
Image 7.7. Smaller organs surround the cell. The wiring file lives at brain root and registers the plugin’s reflexes.

Target asset: assets/images/blog/b7/smaller-organs-and-wiring-b7-7.png


.claude/settings.local.json — The Brain-Root Wiring

What it is. A single JSON file at the brain root (.claude/settings.local.json) that pairs Claude Code event names with hook script paths across every plugin. The wiring file is NOT inside any plugin — it lives outside.

Who reads it. Claude Code, at session start. Claude Code uses this file to decide which hooks fire on which events for the whole brain.

Who writes it. The operator, when installing or removing a plugin. The seed agent partially participates: when a [PLUGIN-LOCK] <new_plugin> question fires the birth ceremony in lock-manager.sh, the ceremony stamps the template, generates the historian, and auto-commits the baseline — but does NOT modify settings.local.json. Registering the new plugin’s hook entries remains an operator step, consistent with the architectural rule below.

What it depends on. Each plugin’s hooks/*.sh paths. If a plugin’s hook script exists at the right path but settings.local.json does not list it, the hook is dead code.

The architectural rule. The brain registers plugins; plugins do not self-register. This is what makes the cell wall meaningful: the brain decides what’s active, the plugins fill in what they own. New-plugin lens: when you guide your seed to add a new plugin, the last step before the plugin is alive is updating settings.local.json to register the new hooks. The plugin can be perfectly authored — every organ in place, every test green — and still inactive if the brain has not wired it in.


A consulting practice’s seed could install a client-deliverables plugin whose config.conf exposes a MIN_QA_PASSES=3 knob; whose template/ stamps a new client-deliverable each engagement; whose e2e/ exercises the full review cycle. The kit’s organ list is the same; the substance is the operator’s domain.

The smaller organs fill in the kit’s specialized surfaces — operator tuning, test coverage, plugin birthing, end-to-end orchestration, migration-readiness. The brain-root wiring file is what makes any of it fire: the brain registers; the plugins don’t self-register. Cell wall and central nervous system, named together. The next sub-essay opens the ceremony that protects every edit to every organ — [PLUGIN-LOCK], [TEST-LOCK], the safe-lock cycle that commits-or-reverts on every change, and the historian ratchet that fires when the plugin’s drift counter trips.


Essay 7.7 — The Plugin Kit, Part 7 of 9.

Previous: Essay 7.6 — agents/ and the 80/20 Dispatch Budget — per-plugin subagent pools + the budget the main session must earn. Next: Essay 7.8 — The Lock Ceremony — PLUGIN-LOCK + TEST-LOCK + safe-lock + historian ratchet.