[FIX] He was reciting his own examples, not watching the session — steward caught it

Measured before agreeing: three of five recent outputs were near-verbatim lifts from the
seven sample lines the soul carries. "Somebody's going to inherit that and think it was
easy" and "It'll outlast you, not by much" are not observations; they are the prompt
being handed back.

⚠ THIS REINTRODUCED PRECISELY WHAT AMENDMENT 6 RULED OUT. Type-only canned strings were
rejected there because they "make a mood ring — atmosphere within a fortnight", and the
material was settled as the live session for that reason. The implementation then let
canned strings back in through the one door nobody was watching: the illustrative
examples inside the register itself. The doctrine was right and the wiring undid it.

Two fixes, because a prompt instruction alone is a promise. The prompts now mark the
samples as illustrations of REGISTER, NOT VOCABULARY, and add the operative test — if
the line would suit any other session equally well, it is wrong. And a mechanical net:
echoes_soul() rejects a 4-word run shared with any sample line, or a 6-word run shared
with the soul's prose. Checked against samples rather than the whole soul at n=4 because
the soul's prose shares ordinary 4-grams with ordinary English, and a net firing on those
would silence him for speaking normally.

Fixtures are the REAL measured lifts, not invented ones, with two of his own lines as
negative controls.

⚠ This TIGHTENS the net; silence-on-violation is untouched and still absolute.

Verified after: he now speaks about this session, including about this very defect.

body 32 · mumble 32 · seam 15 · invoke 21 · wrap 21.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J6hZXNYSxEfZseBGTni4sf
This commit is contained in:
David F Glidden
2026-08-25 17:14:01 +02:00
co-authored by Claude Opus 5
parent 9f06efcc9a
commit 593c983999
4 changed files with 75 additions and 3 deletions
+52
View File
@@ -90,6 +90,40 @@ def muted() -> str:
return ""
def _grams(text: str, n: int) -> set:
w = re.findall(r"[a-z']+", text.lower())
return {" ".join(w[i:i + n]) for i in range(len(w) - n + 1)}
def echoes_soul(line: str, soul: str) -> str:
"""'' if the line is his own; otherwise the phrase he recycled.
⚠ EARNED 2026-08-25, BY THE STEWARD NOTICING. The soul carries seven illustrative
sample lines, the prompt embeds the soul verbatim, and the model handed them back:
three of five measured outputs were near-verbatim lifts. A fool reciting his own
examples is not watching the session at all — and AMENDMENT 6 already ruled that
canned strings keyed to nothing "make a mood ring, atmosphere within a fortnight".
The implementation reintroduced exactly what the doctrine rejected, through the one
door nobody was watching: the examples.
Two thresholds, because the failure has two shapes. A 4-word run against the SAMPLE
LINES catches direct recital; a 6-word run against the whole soul catches longer
lifts out of the prose. Checked against the samples rather than the whole soul at
n=4 because the soul's prose shares ordinary 4-grams with ordinary English, and a
net that fires on those would silence him for speaking normally.
⚠ This TIGHTENS the net. Silence-on-violation is unchanged and still absolute.
"""
samples = re.findall(r"^- '(.+?)'$", soul, re.M)
lg4 = _grams(line, 4)
for sm in samples:
hit = lg4 & _grams(sm, 4)
if hit:
return sorted(hit)[0]
hit6 = _grams(line, 6) & _grams(soul, 6)
return sorted(hit6)[0] if hit6 else ""
def source_lacks(path: str, *parts: str) -> bool:
"""True if the joined needle does NOT appear in `path`.
@@ -164,6 +198,10 @@ Here is the tail of the session he is in the room for:
{weight}
Write ONE line in his voice. Absolute constraints:
- ⚠ THE SAMPLE LINES ABOVE ARE ILLUSTRATIONS OF HIS REGISTER, NOT HIS VOCABULARY. Do
not reuse them, or any phrase from them, or their subject matter. They show how he
sounds. What he says must come from the session above and nowhere else. If your line
would work equally well pasted into any other session, it is wrong.
- Between {MIN_WORDS} and {MAX_WORDS} words. One clause. Present tense. Flat, no lift.
- IT MUST HAVE NO TRUTH VALUE. Nobody must be able to open a file and check it, agree
with it, or refute it. Put two things next to each other so a shape shows. Do not
@@ -217,6 +255,10 @@ def main() -> int:
return 1
line = (r.stdout or "").strip().strip('"').strip()
ok, why = acceptable(line)
if ok:
echo = echoes_soul(line, register)
if echo:
ok, why = False, f"recited the soul: {echo!r}"
if not ok:
try:
with open(REJECTS, "a") as fh:
@@ -309,6 +351,16 @@ def selftest() -> int:
ck("A6 log_event takes no content",
log_event.__code__.co_argcount == 2
and set(log_event.__code__.co_varnames[:2]) == {"surface", "outcome"})
# A7 — the recital net, with the real measured lifts as fixtures.
_soul = soul_register() or ""
ck("A7 catches a verbatim sample",
bool(echoes_soul("Somebody's going to inherit this and think it was easy.", _soul)))
ck("A7 catches a second measured lift",
bool(echoes_soul("You've been holding it that way since you were nineteen.", _soul)))
ck("A7n passes a line that is his own",
not echoes_soul("Second surface you've found for the same voice.", _soul))
ck("A7n passes an ordinary short observation",
not echoes_soul("Third one that's held together with a name.", _soul))
ck("A6n it cannot be handed a line",
"line" not in log_event.__code__.co_varnames)
ck("A4n the predicate can fail",