[FIX] §9 named invocation, and the spec omission that hid it
The steward asked whether he could be invoked. §9 says yes — "the steward calls it by
name, the executor or jurist yields the floor, the fool answers at length" — and it was
not built. Worse, yesterday's spec did not list it: not in what exists, not in what is
owed. A document whose whole job is to say what is and is not there, silently missing a
requirement. Recorded in the spec rather than quietly corrected, because that is the
fourth negative state-claim to go wrong in two days and the second inside a document
written to prevent the class.
The net is widened EXPLICITLY and in one dimension, per the steward's ruling: §9
licenses LENGTH for this surface and nothing else, so the ceiling goes 9 -> 180 and the
one-line rule lifts, while no-advice, no-questions, no-'we', no-vocabulary-of-lack and
no-addresses are untouched and are not parameterised anywhere. Silence-on-violation
holds here too. Six negative controls assert each clause still bites at length — the
executable form of "widen it explicitly, but never relax silence-on-violation".
⚠ Length is where the no-truth-value guard is most at risk: a fool given a paragraph
elaborates, and elaboration is how a gesture becomes a claim. The prompt spends its
budget there rather than on register.
It finds the newest transcript itself, so the steward runs it directly rather than
through the executor. That is the point of the surface: a relayed fool is the executor's
paraphrase of a fool.
⚠ One control asserted a literal the prompt did not use ("NO TRUTH VALUE" against
"NOTHING YOU SAY MAY HAVE A TRUTH VALUE"). It fired, correctly. Rewritten to test the
substance — phrase present AND negated — because the original would have passed happily
on any rewording that dropped the constraint entirely.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J6hZXNYSxEfZseBGTni4sf
This commit is contained in:
co-authored by
Claude Opus 5
parent
8cc0a3159b
commit
8a0e5c448d
@@ -27,6 +27,7 @@ contact with the substrate; a spec written first would have carried all four.
|
||||
| **body** | every status-line render | status line | `scripts/tarbuckle-body.py` |
|
||||
| **mumble** | wall clock, 20 min | status line, 120 s | `+ scripts/tarbuckle-mumble.py` |
|
||||
| **voice** | wake seam | SessionStart hook output | `scripts/tarbuckle-seam.py` |
|
||||
| **invoked** | the steward calls him by name | stdout, run by the steward | `scripts/tarbuckle-invoke.py` |
|
||||
|
||||
Configuration, in `~/.claude/settings.json`:
|
||||
|
||||
@@ -116,6 +117,7 @@ passes, let it produce nothing."* Timeout ⇒ silence, logged.
|
||||
python3 ~/dotfiles/scripts/tarbuckle-body.py --selftest # 30 controls
|
||||
python3 ~/dotfiles/scripts/tarbuckle-mumble.py --selftest # 19 controls
|
||||
python3 ~/dotfiles/scripts/tarbuckle-seam.py --selftest # 15 controls
|
||||
python3 ~/dotfiles/scripts/tarbuckle-invoke.py --selftest # 17 controls
|
||||
```
|
||||
|
||||
Positive and negative throughout: every claim has a fixture that makes it fail.
|
||||
@@ -126,8 +128,39 @@ instance was written minutes after the first was fixed, by the party who fixed i
|
||||
watching for it. **The fix is a mechanism, not a correction**, because the correction had
|
||||
already been tried and did not hold.
|
||||
|
||||
## 7a · Named invocation (§9)
|
||||
|
||||
! python3 ~/dotfiles/scripts/tarbuckle-invoke.py # bare
|
||||
! python3 ~/dotfiles/scripts/tarbuckle-invoke.py "what now" # asked something
|
||||
|
||||
⚠ **Run by the steward, not relayed by the executor.** Anything the executor pastes is
|
||||
the executor's paraphrase of a fool; this surface exists so the floor is yielded rather
|
||||
than reported. It finds the newest transcript itself so it needs no session context.
|
||||
|
||||
**The net is widened EXPLICITLY and in one dimension only** — §9 licenses length for this
|
||||
surface and nothing else:
|
||||
|
||||
| | ordinary | invoked |
|
||||
|---|---|---|
|
||||
| word ceiling | 9 | **180** |
|
||||
| one line | yes | **no** |
|
||||
| no advice · no questions · no `we` · no vocabulary of lack · no addresses | **unchanged** | **unchanged** |
|
||||
|
||||
⚠ **Length is where the no-truth-value guard is most at risk** — a fool given a paragraph
|
||||
elaborates, and elaboration is how a gesture becomes a claim. The prompt spends most of
|
||||
its constraint budget there, and a violation is still silence.
|
||||
|
||||
## 8 · Owed
|
||||
|
||||
⚠ **This list omitted named invocation in its first version, on the day it was written.**
|
||||
§9 requires it; §1 did not carry it; §8 did not owe it. Caught by the steward asking
|
||||
whether he could be invoked — a question the document should have answered. **The fourth
|
||||
negative state-claim to go wrong in two days, and the second inside a document written to
|
||||
prevent exactly that.** Recorded rather than silently corrected.
|
||||
|
||||
- **`mute` / `off`** (§9, *"available at all times"*) — **not built.** The only off-switch
|
||||
is §9 below, which is removal, not muting. Muting is never a fault and there is
|
||||
currently no way to do it.
|
||||
- **The wrap seam** (§4) — no delivery surface; route is a skill change.
|
||||
- **The two-week rate report** — §8 obliges it; `DEFERRED-DECISION: mumble-rate-two-week-report`,
|
||||
converted `manual` → `date 2026-09-08` the day the body shipped.
|
||||
|
||||
Reference in New Issue
Block a user