earlyline

the refusal wall

every tool promises what it makes. here’s what ours refuses.

the gate is a set of deterministic checks that runs on every draft before a human ever sees it. when it kills something, the kill is logged. this page is that log — receipts only, in the gate’s own words. it will grow.

“too long (300 chars, max 140 — nobody speaks a memo)”

the pipeline templated a 300-character strategy memo into a spoken video hook. the gate killed it before i ever saw it. the failure became a permanent regression test the same day.

2026-07-02 · receipt: tools/brief/quality.py — the incident is documented in the module itself

no real voice samples on file. no drafts. (hard refusal)

the drafting engine refuses to write anything until it holds at least 2 posts i actually published. no voice on file means no output — fabricated voice is slop at the source.

2026-06-29 · receipt: the voice gate ships before the first draft ever did

the standing rules

a spoken hook over 140 characters“too long (300 chars, max 140 — nobody speaks a memo)”
em or en dashes in a spoken hook“em/en dash (video-voice slop tell; voice.md bans it)”
“x = y” equations in speech“'x = y' equation (memo, not speech)”
semicolon chains“semicolon chain (memo, not speech)”
plus-chain lists (this + that + that)“plus-chain list (memo, not speech)”
label prefixes (“strategy: …”)“label prefix (memo, not speech)”
insider jargon — rag, embeddings, vector dbs, fine-tuning, context windows“insider jargon 'RAG' (the avatar isn't a dev-tools audience; say it in plain words)”
hype vocabularya separate banned-word list runs on every draft before this gate even starts

the verdict strings are verbatim gate output. the rules exist because the failure happened — every one of them is a scar, not a feature idea.