DEEP TRUTH GUIDES

Public-facing Jekyll site at https://ladiossato.github.io/deep-truth-guides/. Empty Words branding. Mechanistic field notes on how the mind operates.

Read These First

Before building anything in this repo, load these in order:

  1. _strategy/funnel-architecture.md — the income/funnel model. Persona, machineries, ladder, financial model, funnel architecture, pure-looking tactics. Source of truth for why this site exists as a business.

  2. _strategy/build-plan.md — closed-loop build plan. 8 stages with validation gates, kill criteria, time-boxes. Critical path = 22 calendar days to first paid signup. Each stage emits one number; that number gates the next stage.

  3. _strategy/agent-autonomy-addendum.mdload every session. Amends the build plan. Defines:

    • The 6-input ceiling for Ladios over 90 days
    • The closed-loop harness in _agent/ (playwright + supabase + gmail)
    • Per-stage agent-run validators that replace human eyeballing
    • Failure-mode escalation budget
    • The new critical path with autonomy-first sequencing (stage -1 = harness)

The addendum is operational. When an action could be done by playwright or a direct DB query, do that instead of asking Ladios. When in doubt, the rule is: minimize ladios-input, maximize agent-output.

Style Rules (non-negotiable)

Architecture

Mandatory Publish Pipeline (every machinery and stratagem)

Every writing MUST ship with ALL of the following. No exceptions. The pre-push hook validates items 1-3.

  1. Frontmatter: section_toggles: true, date, visibility, audio: true (after audio generation)
  2. Cover image: assets/img/covers/<slug>.png via scripts/generate_cover.py
  3. Embedded intelligence blocks: <aside class="eq"> questions in ~40% of sections
    • Document voice (the writing wondering aloud, not quizzing)
    • NEVER use ___ blanks. Blanks sound broken in audio. Every block must be a complete sentence or question.
    • Placed before sections (framing) and after sections (recall)
    • NOT every section. Only where genuine uncertainty or non-obvious mechanism exists
    • Spec: _strategy/compression-build/embedded-intelligence.md
  4. Examples layer (the burn-in): <aside class="ex"> worked scenes, roughly one per major part (~5-7 total, NOT one per section)
    • Each shows the mechanism just named operating at the edge of the possible: the most complete real instance, in concrete human detail
    • Grounded, never fabricated. Each scene traces to a real documented case or the cited science. A composite human is fine, a fake finding is not.
    • Placed AFTER the mechanism is named. Continuous prose, audio-safe (no headers, no lists, no ___ blanks). Show, do not moralize.
    • Spec: _strategy/compression-build/examples-layer.md
  5. Audio + chapters: Generated via python3 scripts/generate_audio.py <FILENAME>.md (OpenAI TTS HD fable voice)
    • mp3 uploaded to Supabase storage automatically by the script (the mp3 is gitignored)
    • The script ALSO emits the chapter manifest at assets/chapters/<slug>.chapters.json (powers the click-a-heading-to-play-that-section cues). This file IS committed and served from the repo.
    • Set audio: true in frontmatter AFTER generation succeeds
  6. README bullet: Add to Library or Featured section
  7. Raw file: Keep the raw version in raw/ directory

Order of operations: write raw -> create published version with frontmatter -> add EQ blocks -> add examples layer -> generate cover -> generate audio (emits chapters manifest) -> set audio: true -> add README bullet -> commit (include assets/chapters/<slug>.chapters.json) -> push.

Format home: _strategy/output-formats/ indexes every reproducible format. Machineries are POINTING only (the practical format is retired, voice 2026-06-18). The two generation crons (/home/kai/projects/daily-deep-truth.sh, daily-deep-truth-business.sh) carry this same pipeline inline.

Training Copy Voice

Before writing ANY user-facing text in the training/compression area, load _strategy/training-copy-guide.md. This is the copy bible. It defines naming rules, banned words, intro message structure, and the conversational voice for all training surfaces. No clinical terms. No backend vocabulary. Every word speaks to what the user is doing, not the model underneath.

Jekyll-Ignored Folders

Anything under _strategy/ and _agent/ is excluded from the published site by Jekyll’s underscore-prefix rule. Use them freely for internal docs and tooling.

Closed-Loop Operating Rules

Telegram Style

Replies must be plain-text, no asterisk-bold, no em-dashes (the gate hook blocks them). Short. 1-4 lines default. Long-form goes in commits or files, not chat.