# SSOT: the full/REFIT human writing and content system **Point an agent here at the start of any content session.** This is the briefing. It is deliberately short. Read it, then load the three files named under "What to load." **Date:** 09/01/26 · **Author:** Claude Code (cc) · **Governs:** how agents produce full/REFIT copy. --- ## 1. What this system is, in one paragraph full/REFIT has one canonical voice and writing collection, sixteen numbered files in this folder. It was built over months and it works. The recurring failure has never been the documents. It has been that the skills producing content did not read them, so a thin parallel voice system grew up beside the real one and certified copy the real one forbids. That was diagnosed and repaired on 09/01/26. Your job is to use the real system rather than reinvent a smaller one. ## 2. Who the reader is An operator. An employee, manager, or small-business owner who knows their business cold and has never configured an AI tool. Not a developer. Not Paul. Not a CEO. Every legibility call is made against that person. If a sentence needs AI or developer knowledge to parse, it fails, no matter how accurate it is. The named failure mode is **Fluent Failure**: copy that obeys every formatting rule, removes every obvious AI word, sounds polished, and completely misses the human point. A piece can pass every mechanical check and still be this. ## 3. The four rules that bind before you open anything 1. **Translate or convert.** Any term needing developer or AI knowledge gets a plain-language translation in the next sentence, gets described as a behaviour instead, or gets explicitly waived ("the detail does not matter, what matters is where the error went"). Two untranslated terms in one paragraph is a hard fail. Gate G16. 2. **Anchor every abstraction.** One physical-world image per major section, generated fresh from the content in front of you, never reused from an example bank. Fact, fact, fact is the named failure mode and the fix is never more facts. File 15. 3. **The reader is the subject.** Reader words to writer words at 2:1 or better. Gate G6. This is the gate that catches a first-person incident report wearing the clothes of a teaching post. 4. **90 percent substance, 10 percent personality.** Paul's own calibration, and the only floor in the system. Every other humor rule is a ceiling. Zero personality is a failure, not a safe default. Plus the mechanical set, which is not negotiable: no em dashes, no semicolons, no exclamation marks, no emoji, contractions throughout, no price in the body of any public-facing post ever. ## 4. What to load Canonical root: ``` /Users/paul/Library/CloudStorage/Dropbox/1-full-REFIT-db/_fullREFIT-canonical-rev-system/human-writing-content-system/ ``` Load exactly three for a production run. Loading all sixteen dilutes attention and degrades channel formatting, which is a documented failure of this system, not a theory. | File | When | |---|---| | `10-voice-rules-operational-rulebook-v5.1_072826.md` | Always, before the first buyer-facing line | | `15-metaphor-engine-and-voice-spec-v1.0_090126.md` | Always, before drafting rather than after | | `12-humor-integration-guide-v5.1_072826.md` | Section 0 always. Sections 2 and 4 when the piece needs personality | Add `13-four-module-tov-os/` for anything spoken. Add `10b-content-quality-gates-g1-g15-v5.1_072826.md` before publishing. Full map and precedence: `00-INDEX-canonical-voice-and-writing-system-v2.0-cc_090126.md`. ## 5. What is already enforcing this, so you do not rebuild it Three layers exist as of 09/01/26. Check them before adding a fourth. | Layer | Where | What it does | |---|---|---| | Always-on | `~/.claude/CLAUDE.md` §3, `~/.codex/AGENTS.md`, `~/.hermes/AGENTS.md` | Carries the collection path, the three files to load, and the four rules above into every session | | Directory | `revenue-content-pipeline/CLAUDE.md` and `AGENTS.md` | Fires automatically for any agent working in the pipeline | | Mechanical | `~/.claude/skills/authentic-content-writer/scripts/content_lint.py` | Enforces G1, G1A, G2 to G6, G8, G16 with an exit code | | Hook | `~/.claude/hooks/voice-gate-cc_090126.sh`, PostToolUse | Runs the linter automatically on every write to a content file and reports failures back into the session | The hook is the only layer that does not depend on a model remembering. It is also deliberately incapable of blocking: it always exits 0 and always emits valid JSON, because a style gate must never break the harness it runs inside. Run the linter yourself before calling anything finished: ``` python3 ~/.claude/skills/authentic-content-writer/scripts/content_lint.py --body-only ``` Exit 0 or it is not finished. ## 6. Two things that are true and are not what they look like **`check-gates.sh` is a filing check, not a quality check.** It asserts that a triage artifact and a voice-pass artifact exist in a package's `QA-review/`. It never opens them. A PASS from it has never meant the copy is good, and treating it as a quality signal is exactly how a post carrying four unexplained shell-level mechanisms shipped as approved. **Linting a whole file produces false failures.** Production-notes tables and gate self-checks quote the banned-word lists verbatim, and H1 title lines carry em dashes. Lint the body, not the file. Use `--body-only` on LinkedIn posts. This has caused wrong conclusions twice. ## 7. Standing content rules - **Every LinkedIn post `.md` carries a `## FIRST COMMENT` block.** Paul may or may not use it. First comments cannot be posted by automation, the publisher credential has never held the LinkedIn Community Management API grant, so it is a manual paste or it does not happen. Write it anyway. - **The tracked link belongs in the first comment, not the body.** That is what file 10 asks for and what gate G8 enforces. It also keeps the body free of a pitch. - **No pitch in a post body.** The default is no CTA at all. An Offer-level CTA is reserved for a demonstration where the reader has just watched a repair, and it never appears on consecutive posts. - **No URL rendered into a carousel, Instagram, or TikTok image.** A URL baked into pixels cannot be changed without a full re-render, and the first comment carries the tracked link anyway. - Work in progress limit: three packages maximum in `03-IN-PRODUCTION`. ## 8. What wrong looks like - A research report or a plan where a fixed file was possible. - A new rubric written from your own judgment instead of extracted from these documents. - Consolidating, rewriting, moving, or deleting any canonical file in this folder. Propose it, stop there. - A gate reported as passing without being run. Naming a rule is not running it. - A first-person incident report where the reader is a spectator. True, well written, and still a fail. - Prose that is correct and flat. Fact-fact-fact with no anchor is a failure, not a neutral outcome. - Specificity used to defend jargon. A specific term the reader cannot parse is not specificity. - Restating a rule from these documents inside a skill instead of pointing at it. That is precisely how the parallel system grew last time. ## 9. Current state, 09/01/26 Packages 024, 025, and 026 have been recast reader-first and lint clean. 024's carousel, Instagram, and TikTok assets were re-rendered jargon-free with no URL and no pitch in pixels. **Sixteen of the nineteen live packages still have at least one failing buyer-facing body.** They have not been voice-audited. The four published packages score better than the three that were in production, so this is a recent regression rather than a long-standing one. Do not assume any package outside 024 to 026 has been checked.