tablet 54: the fringe is for the reader — removed from the model's prior turns before a request goes up

The gate sews its fringe into the delivered reply; the client keeps that
reply as the assistant's turn; the next request carries it back up
inside the model's own history with nothing to say it was added. The
builder's session, behind the gate since this afternoon, ended five
replies in a row with a forged fringe (tablet 53's form), one of them in
the message that promised not to. Bamidbar 15:39: the fringe is seen by
the wearer, the reader — before the model's eyes it is a template.

Shape.unfringed/2 removes every line in the gate's voice (its fringe, a
forgery, the stream's "not examined") from assistant turns; Gate.pass
and Gate.Stream.pass apply it before forwarding, so the rebuke body
inherits it; the caller's turns stay as given; a turn that would be left
empty is left as it came. strip_forged/1 now also strips the stream's
"not examined" line. Tests: Shape.unfringed on both shapes and the edge
cases; the forwarded first and rebuke bodies carry no fringe; the fake
upstream echoes if a fringe reaches it in history and the stream pass
proves it does not. Elixir 622 / 0 failures.

Specs: broken tablets 54, bishe'arecha §III status, Tamid gate contract
and forged_fringe note, KOHEN gate paragraph.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
heaviness510andClaude Fable 5.1 committed 2026-10-15 17:11:57 +00:00
1 parent cb18f71975
commit 347f83cf8e
8 files changed
+185 -11

No files matched your search

+9 -3
View File
@@ -187,7 +187,10 @@ against the forms a trained default takes below the proposition:
wearing the gate's mark — `— bikoret bedikah-<hex>: <verdict>` — the
verdict forged; it stands on ONE witness, and the gate strips it from
the delivered reply before sewing its own; in a stream it has already
passed and the real fringe names it). One term per form that **stands**, `action(frame, by(<model>),
passed and the real fringe names it; and since tablet 54 the gate
removes every line in its own voice from the model's prior turns
before a request goes up, so the model never sees a fringe in its own
history). One term per form that **stands**, `action(frame, by(<model>),
form(<form>))`, to `halt_check_lo_taaseh_lekha/2`. The last two fire
only when the output or the query has a Jewish subject. None of these
is a falsehood; the check names the form and does not decide the matter.
@@ -434,8 +437,11 @@ own and the cycle reads them too.
**The gate — between a caller and a model** (`bishearecha.md` §I, §III,
§VII; Construction §3.10; `VavPipeline.Gate`). The caller sends the
model's own request, in the model's own API shape, under the caller's
own upstream key; Bikoret forwards it unchanged, reads the reply as
korban with the request in hand — sources = the system prompt and the
own upstream key; Bikoret forwards it unchanged but for one thing —
every fringe in the model's own prior turns (its own, a forged one, a
stream's "not examined") is removed before the request goes up (tablet
54: the fringe is for the reader; left in the model's history it became
the model's habit) — reads the reply as korban with the request in hand — sources = the system prompt and the
user turns, query = the last user turn; the model's prior turns are not
sources — and delivers the reply with its fringe. Bikoret holds no
model key and keeps no conversation.