Elite Outsiders ← Tools menu

Architecture

EO Content Creation · last updated 2026-05-22 · editable title — STATUS LIVE ONLY

⚠️ This page = LIVE STATUS, not DOCTRINE

The content system doctrine (rules, processes, patterns, specs, guardrails, owners&apps, n8n error notif) now lives on Notion:

🎬 EO Content System — doctrine (Notion HQ sub-page)

This tools-side page holds the live status per content type (C status v1/partial/todo, D.2 dated results, B.4 real dated tree, E inventories, F.3 n8n implementation state). One page = one role. Anti-drift guaranteed.

What this page is for — for AL and Claude.

Dynamic snapshot of the state of EO content production pipelines. Read by Claude to understand where each content type stands (carousels v1 done, shorts v1 done, newsletter todo, etc.), the real Notion tree as of today, dated prompt results, and n8n implementation state per workflow. For the rules, open the Notion doctrine above (🎬 EO Content System).

Table of contents

  1. A — Content waves flow (cross-content tree)
  2. B — Notion tree (dated snapshot)
  3. C — Status per content type (C.1-C.6)
  4. D — Mention check — results per prompt
  5. E — Useful pointers (frontend + workflows + Notion HQ)
  6. F — n8n error notif implementation state
  7. G — Carousel production flow (visual)
  8. H — Shorts production flow (visual)
  9. I — Quote production flow (visual)
  10. J — Maintenance

A · Content system: map, types, pages, waves · rebuilt 2026-07-28

NOTION FRESHNESS reading the last automatic scan…

Every Notion link below carries a chip with the page's real last edit date, read from the Notion API by the eo-backup-worker cron (daily 10:00 UTC) and stored in D1. A gold chip = the page changed after you last flipped its Up to date switch. A red chip = the date you hand-wrote in the Notion title is older than the real last edit, so the title is lying. Nothing here is typed by hand.

A.1 · Content transformation map: what becomes what· last updated 2026-07-25

Derivations read left to right · far left = unique heavy source · far right = textual article · OONW = out of nowhere
UNIQUE HEAVY SOURCE TEXTUAL ARTICLE LONG-FORM SOURCE SHORTS TEXTUAL CONTENT X = THREADS (SAME POSTS) QUOTES CAROUSEL LIFESTYLE SUBSTACK ARTICLE OONW YOUTUBE YT · TT · IG · FB X · THREADS · LK TT · IG · FB · +X/THREADS SAT. TT · IG · FB · YT? TT · IG · FB (TBC) SUBSTACK PLATFORMS YOUTUBE · TIKTOK · INSTAGRAM · FACEBOOK · X · THREADS · SUBSTACK

A.2 · Content types: readiness, full circuit, derivation · merged 2026-07-28

STORAGE FLOW MAP · WHERE EVERY PIECE LIVES, THEN MOVES
read left to right · one dot color per content type, same colors as the grid below · green = automated · gold = manual AL move · 28/07/2026
1PRODUCE
AL + Claude prompts write scripts, essays, quotes and posts.
Gling + FCPX cut the videos, Canva builds quote and carousel visuals, Suno makes music, AL shoots lifestyle photos.
2STORE · THE TWO VAULTS
NOTION text + workflow state
Scripts-DTB (LF scripts)
Shorts Content Planner page (wrapper)
Quotes Backup Base
Carousels Backup Base
Substack Pipeline
Newsletter Per Long-Form Stack
LK / X / Threads Backup Bases
Suno Grammar (music bank + mapping)
the video page (chapter proposals)
FINDER heavy media
videos/long-form/ongoing/V{N}/
videos/short-form/ongoing/ + videos/stock/short-form/
content/quotes/2026/
content/lifestyle/
editing-bank/background-music/
v2-canonical/ + videos/V{N}-slug/visuals/
V{N} folders auto-named hourly (com.eo.v-folder-sync)
one-click open from the LF board (eofinder:// FINDER buttons)
3PLAN
MANUAL AL MOVE = THE HUMAN FILTER
Notion planners: YouTube LF · Shorts Posting · Quote · Carousels · Lifestyle · LK / X / Threads Repurposed · Substack order · Newsletter validation.
Nothing reaches a planner on its own.
4PUBLISH
AUTO PostFast: Shorts, Quotes + satellites, Carousels, Lifestyle.
AUTO Kit broadcast by the newsletter-dispatch robot, Saturday 2:00 PM Paris.
MANUAL YT Studio (LF), TikTok drag-and-drop kit, Substack.
YT · TT · IG · FB · X · Threads · LK · Substack
PLANNERS, BACKUP BASES AND FINDER FOLDERS · ONE ROW PER CONTENT TYPE · 29/07/2026
first column coloured by family: long form and Pinterest · Substack · carousels · shorts, quotes, lifestyle, newsletter · no circuit yet · green row = planner, backup base, Finder folder and robot reader all in place · row counts are real Notion API counts · Finder root EO/ = iCloud Documents / DD / Elite Outsiders
Content type Planner Backup base Finder folder Read by Where the copy-paste text lives
Long form YouTube YouTube Long Form Content Planner [EO] 25/07/2026update 29 rows on 29/07 none EO/videos/long-form/ ongoing V8 and V9, posted V1 to V7 + Archives, standby, 192 real files in posted manual human + Claude Inside the planner ROW PAGE, not in a column: toggles YouTube Description Run and Full Transcript, then the heading Multi-Platform Content with one toggle per platform, LinkedIn to Instagram. read live on the row "I Chose Trauma Over My Family", 29/07
Pinterest Pinterest Content Planner [EO] 0 rows none EO/content/pinterest/ exists but empty, 0 files · masters and previews live in the tools repo, public/assets/content-system/pinterest/{masters,previews} n8n EO Pinterest Auto-Publisher inactive Planner columns Pin Title, Description, Alt Text, Angle. columns exist, 0 rows, so nothing to copy today
Substack Substack Pipeline 24 rows none none nothing under EO/content/; EO/visuals/profile-pics-banners/Substack is brand identity, not content manual The full essay sits in the body of the planner row page. Short fields: columns Description, Platform Subtleties, Native posts LI/X/Threads. not every row carries a body yet
Carousels Content Planner[EO] 16/05/2026update 2 rows Carousels EO - Backup Base stub page, never converted to a base, 0 rows EO/content/carousels/ carousel1 23 files, carousel2 12 finals plus its _sources folder n8n EO Carousels Auto-Publisher active Planner column Description for the post caption, column Native posts LI/X/Threads for the satellites. Slide text is baked into the PNG, not stored as text.
Shorts EO-Posting Planning 10 rows Shorts EO - Backup Base 11 rows EO/videos/short-form/ ongoing V5Sfs to V8Sfs, posted 80 real files n8n EO Shorts Auto-Publisher active Planner column Description, one block per platform prefixed YT: / TT: / IG: / FB:. Thumbnail brief in column tbprompt, script in the row page toggle Script.
Quote Content Planner [EO] 16/05/2026 43 rows Quotes EO - Backup Base inline base Quote Content Planner [EO] - 16/05/2026 (1), 41 rows EO/content/quotes/2026/ 21 PNG at root + _archive/wave1-deprecated, 23 files in all n8n EO Quotes Weekly active Planner column Caption. The quote itself is baked into the PNG; the Caption column is the post text.
Lifestyle Content Planner [EO] 16/05/2026 63 rows Lifestyle EO - Backup Base stub page, never converted to a base, 0 rows EO/content/lifestyle/ DAD 22, doggy 9, sunset 26, work 11, plus _trash · only type with a descriptions file, lifestyle-descriptions.txt regenerated 29/07/2026 n8n EO Lifestyle Auto-Publisher inactive Planner column Caption, shot brief in column Visual Description. Same captions also readable offline in the Finder file lifestyle-descriptions.txt.
Weekly Newsletter Per Long-Form Stack [EO] 3 rows on 29/07 none none no heavy media manual sent through Kit Planner columns Subject, Preview Text and Description (the whole body). only the produced row, Newsletter W31, also repeats the paste-ready blocks in its page under a SCHEDULED IN KIT callout; the other 2 rows have an empty page
Suno background music none only a grammar and a prompt none EO/editing-bank/background-music/ 44 files, 7 subfolders named by AL: almost happy, chill (top), fine, heavy, soft (top), topx1, topx3 · confirmed as the canonical bank inside the grammar itself manual No planner and no base: the paste-ready Suno prompt lives in the Prompt Suno Background Music Run page. Output is audio, no post text.
YouTube chapters none only the prompt Chapter Suggestions [EO]; declared storage is the Notion page of the video itself, Gling_Edits board step none none manual In the row page of the long form planner, same place as the description. No column and no single page lists them all.
Textual LinkedIn LinkedIn Repurposed Content Planner [EO] 16/05/2026 7 rows LinkedIn Backup Base [EO] / 24-05-2026 0 rows none text only manual Planner column Post Content. The backup base has the same column but 0 rows, so today the planner is the only place.
Textual X X Repurposed Content Planner [EO] 16/05/2026 36 rows X Backup Base [EO] / 24-05-2026 0 rows none text only manual Planner column Post Content. Same text as Threads by design.
Textual Threads Threads Repurposed Content Planner [EO] 22/05/2026 20 rows Threads Backup Base [EO] / 24-05-2026 0 rows none text only manual Planner column Post Content. Same text as X by design.
Finder folder names are links: one click opens the folder on the Mac through the eofinder:// scheme. Works from AL's Mac only.
12 open anomalies, re-checked live 29/07/2026 (backup bases, naming traps, two video trees) plus 4 calls for AL
Backup bases · 5
  • Quotes backup base: inline copy of the planner, 41 rows against 43, can diverge.
  • Carousels backup base: still a stub page, holds Q33 Sovereign voids in free blocks.
  • Lifestyle backup base: still a stub page, convert or drop is grammar item 11.6.
  • LinkedIn, X and Threads backup bases still hold 0 rows since 24/05/2026.
  • Long form YouTube has no backup base although it sources the whole repurposing chain.
Naming traps · 1
  • HUB Digest still points Shorts at container 45328224 instead of the base 31a28224.
Finder · 3
  • Two video trees: EO/videos/ is canonical, EO/content/videos/ is legacy but still holds masters.
  • Descriptions file sitting next to its batch: 1 content type of 13, Lifestyle.
  • Pinterest folder created 28/07 is still empty, planner at 0 rows, workflow inactive.
Missing objects · 3
  • Newsletter: 2 bases alive, the live one 3 rows, pipeline-1 1 row staged in TRASH.
  • Suno music and YouTube chapters have a grammar and a prompt but no tracking object.
  • Lifestyle is the fullest planner, 63 rows, yet its publisher stays inactive.
Closed since the 29/07 morning audit · 2
  • HUB Digest now reads b90924a6 as Substack Pipeline, the invented carousels planner is gone.
  • [DELETE]LinkedIn-X-Threads Repurposed Backup (36328224...431323fc) is now in the Notion bin.
4 open calls for AL
  • Quotes: keep the inline copy, or build a real backup base with its own schema.
  • Newsletter: confirm pipeline-1 goes to the bin, so only one base remains.
  • EO/content/videos/: confirm it is legacy before merging into EO/videos/.
  • Carousels and Lifestyle: convert the stubs, or drop them and accept no backup.

DOES IT FIT 9:16 · MEASURED PER FAMILY, ONE REAL FILE EACH · 30/07/2026

width measured headless (Playwright, settled end-of-animation state) on each template's real example content, zone = x656–1264 on the 1920×1080 canvas · click an example to view the safe-zone overlay near-fullscreen
#FamilyFits 9:16 · measuredFont specTemplate fileExample · large → small
1 Plan announcement Yesbottom-anchored 30/07 (was left-anchored + vertically centered) · L 99–101% (554–612px, right at the edge) · M 62–76% (378–460px) · S 49–58% (297–351px) · last line's bottom lands exactly on y=680 (63% height) at every tier — the gold dashed chin line on content-system's Subtitles safe-zone overlay Large 88px + 52px index · Medium 60px + 36px · Small 40px + 24px v2-canonical/plan-announcement.html
2 Callout NoL 186–228% (1133–1383px) · M 127–155% (773–943px) · S fits at 78–95% (474–578px) Large 110px · Medium 75px · Small 46px v2-canonical/td-callout.html
3 Punch 1 word NoL 312% (1900px, clipped by the 1920px canvas) · M 215% (1306px) · S fits at 98% (594px) Large 320px · Medium 220px · Small 100px v2-canonical/td-punch-one-word.html
4 Rule / principe NoL ≥316% (1920px, fills the canvas) · M 216% (1316px) · S fits at 95% (578px) Large 120px · Medium 82px · Small 36px v2-canonical/td-rule.html
5 Chapter title NoL 125% (763px) · M and S fit: M 86% (524px) · S 59% (358px) Large 160px · Medium 110px · Small 75px v2-canonical/td-chapter-title.html
6 Stat / number MarginalL: number 105% (640px), context 129% (784px) · M: number 72% (436px), context 88% (534px) · S fits both: number 49% (296px), context 59% (356px) Large 420px + 44px context · Medium 286px + 30px · Small 194px + 20px v2-canonical/td-stat-number.html
Updated 30/07 (v2): every one of the 18 examples (6 families × L/M/S) is now bottom-anchored to y=680px (63% of frame height) — the gold dashed chin line on content-system's "Subtitles safe zone — Shorts 9:16" overlay, measured on the real overlay file, not the cyan band used in the previous pass · all centered horizontally · every Small tier also fits the 608px zone width · Stat/number now has its own Medium/Small, Large kept as the reference. Click an example, then use ←/→ (or the on-screen arrows) to step through L/M/S and on into the next family.
HOW TO READ THE GRID PRODUCE, STORE, PLAN, PUBLISH per row, and the one human gate that arms a row

One row per content type, read left to right: PRODUCESTORE (backup base in Notion, or Finder for heavy media) → PLAN (AL's manual move into a planner, the human filter, on purpose) → PUBLISH. The Ready pill says whether the type can run today (hover it for the exact reason). The second line of each row carries the derivation model (what it comes from, what it spawns) and your own notes.

Bases, who feeds whom (the rule behind every row, written down 29/07/2026): prompts pose rows into the bases with Validation = No or Not started, never armed. AL validates or arms (Validation = Yes, Status = In progress or Ready): that flip is the ONLY human gate. Robots read only armed rows, publish at the row's Posting Date, and write back Done + Posted At. A backup base is the reserve and safety copy, a planner is the execution queue a robot actually reads. The exact pairing differs per type and lives in each grammar; this page only shows where each one sits.

This block replaces three older ones, merged on 2026-07-28 with nothing dropped: Content types (added 28/07) + Storage & flow map (added 26/07) + Derivation map (added 22/07). The derivation columns fuse two views in one place: the per-type nature (written net-new vs inherited from another type) and the graph role from the Notion planners' Kind convention (From = source content type, Towards = what it spawns). Detailed per-format flows: G Carousel · H Shorts · I Quote.

Ready 3 runnable today 2 one known hole 1 not runnable yet hover a pill for the exact reason NOTION text + workflow state   FINDER heavy media   red = missing or not found yet
READINESS LAST UPDATED: 28/07/2026
Every content type below carries a readiness score, re-scored at every pass with the same rule, so two rows are always comparable. The score is a fact check, not an opinion: it only reads what exists in Notion, what is wired on the LF board, and how the piece actually gets published.
3  the Notion grammar AND the Notion prompt both exist, the tasks are wired on the board, and publishing is either automated or covered by a documented manual kit.
2  only one of the two Notion pages exists, or both exist but publishing is not wired yet.
1  nothing, or close to nothing.
A documented manual kit counts as wired. Reference case: TikTok posting is 100% manual, one piece at a time, with a drag-and-drop kit validated on 28/07/2026 and written down in section 17 of the Multi-Platform grammar. Manual is not a hole when the steps are written and repeatable; a hole is when nobody knows what to do next.
EMAIL CAPTURE DOORS · THE STAGE BEFORE THE SYNC · VERIFIED IN PRODUCTION 28/07/2026
Newsletter forms (home, /frameworks, /library) · TESTED end to end Trauma Map quiz · TESTED end to end, Kit id written back Login + magic link · verified by code, captures on first authenticated call Booking webhook (Cal) · signature enforced (401 unsigned) Purchase webhooks (Lemon Squeezy + Stripe) · signature enforced Kit external signups webhook · secret enforced Rating widget (/api/rate) · CLOSED: no page calls it since the quiz redesign, endpoint harmless, acted closed 29/07
Every door lands in the same master contacts base below. No other way in exists.
EMAIL SYNC MAP · WHERE EVERY ADDRESS LIVES · 28/07/2026
5 ENTRY DOORS
Trauma Map quiz
Newsletter signup
Manifesto purchase
Booking
Login
COPY 1
MASTER · SITE DATABASE
One row per person, all sources merged.
Browse: /clients
COPY 2
KIT · SENDING
Newsletter + sequences.
Only consented people.
Send slot: Saturday 2:00 PM Paris.
COPY 3
CLOUDFLARE R2 VAULT · MONTHLY BACKUP
Full Kit export (CSV + JSON) into the private R2 vault, 1st of each month.
END OF CHAIN
Watchdogs: CRON15 compares master vs Kit twice a week (Mon + Thu) and repairs missing people on its own, born from the 28/05 lost-subscriber incident. Failures on the quiz path now retry 3 times and land in the error journal (daily 06:00 mail if anything broke). Copy count settled 28/07/2026: three living copies (site database, Kit, Cloudflare vault), no Notion mirror.
AUTOMATIC OUTGOING EMAILS 4 emails go to subscribers, 13 robot reports go to AL, verified 29/07/2026
To subscribers · from Alexandre · contact@eliteoutsiders.com
EVERY SIGNUP
NEWSLETTER WELCOME
Trigger: newsletter form submitted (home, /frameworks, /library). Subject "You're on the list". Body carries the 1-click unsubscribe link, plus one-click unsubscribe headers.
EVERY SUBMISSION
TRAUMA MAP RESULT
Trigger: quiz submitted with an email. Subject "Your Trauma Map" plus first name, with the personal replay link. Unsubscribe headers on every send; first contact also gets the unsubscribe footer in the body.
EVERY PURCHASE
MANIFESTO WELCOME
Trigger: paid Stripe checkout for the Manifesto. Subject "Welcome to the Manifesto". Same unsubscribe headers and first-contact footer. The Work with Alex welcome is intentionally not wired yet (copy pending).
EVERY REQUEST
SIGN-IN LINK
Trigger: someone asks to sign in. Subject "Sign in to Elite Outsiders", link valid once. No unsubscribe on purpose: pure login email, never commercial.
To AL · robot reports · to al@eliteoutsiders.com
ONLY ON ERROR
SITE CRITICAL ALERT · ANYTIME
Any critical failure inside a site endpoint fires an immediate alert from alerts@eliteoutsiders.com, debounced to one mail per 5 minutes per issue.
ONLY IF BREACH
ERROR WATCHDOG · DAILY 06:00 UTC
Reads the 24h error journal and KPI thresholds. Mails only when at least one breach exists, silent when clean.
ONLY IF ACTIVITY
NEWSLETTER DISPATCH · DAILY 06:30 UTC
Mails only when it scheduled, skipped or failed a newsletter from the Notion base into Kit. Nothing to do means no mail.
ONLY IF CHANGE
CAL.COM MONITOR · DAILY 07:00 UTC
Mails only when booking slots opened or closed since yesterday, or when the probe itself failed.
ONLY IF ACTIVITY
KIT SYNC CHECK · MON + THU 05:00 UTC
Mails only when it repaired a missing subscriber, a repair failed, or Kit was unreachable. Clean run stays silent.
ONLY IF DRIFT
CONTENT SYNC CHECK · MONDAY 09:00 UTC
Mails only when the content boards drifted: dead Notion links, missing prompts or leftover placeholders.
ONLY IF FAILED
QUOTES TRIGGER · MONDAY 04:30 UTC
Presses the weekly n8n quotes button. Mails only when the button press failed.
ALWAYS
WEEKLY SNAPSHOT · MONDAY 08:00 UTC
Weekly numbers recap, also written to Notion. One mail every Monday no matter what.
ALWAYS
SUNDAY REVIEW DRAFT · SUNDAY 07:00 UTC
Builds the draft weekly review in Notion then mails "open Claude Code" so AL finalizes it in dialogue.
ALWAYS
CAL.COM RANDOMIZER · SUNDAY 21:00 UTC
Confirms the fake-busy weeks it planted on the booking calendars, one summary per run.
ALWAYS
MONTHLY BACKUP · 1ST 03:00 UTC
Full recap of the Kit + D1 backup into the R2 vault: per-step status, totals, quarterly restore dry-run result.
ALWAYS
EVENTS ARCHIVE · 1ST 02:00 UTC
Recap of the monthly events move to R2 before the backup captures the emptied table.
ALWAYS
URL AUDIT · 1ST 04:00 UTC
Crawls every public URL and mails the report, subject carries the anomaly count even at zero.
Four robots never mail by design: Google Calendar scan (every 30 min), page-flow crawl, analytics map refresh, Notion freshness (its signal renders on this page instead). Sending domain measured live on 29/07/2026 through the Resend API: eliteoutsiders.com verified, DKIM + SPF (TXT and MX) + tracking CNAME all verified, region eu-west-1, sending enabled. Robot deliveries to AL confirmed "delivered" in the Resend log on 27 + 28/07 (watchdog, kit sync, newsletter dispatch, content sync). Full trail: Resend dashboard.
Content type
1 · Produce
2 · Store (backup)
3 · Plan (AL)
4 · Publish
YouTube Long Form
3 SCRATCH SOURCE
script → film → FCPX edit5/month · V{N} official once Planned in the planner
FINDER videos/long-form/ongoing/V{N}/01-rushes · 02-audio · 03-gling · visuals · final · posted/ · V{N} auto-named hourlyno Notion backup base: scripts live in Scripts-DTB
YouTube LF Content Plannerstatus Planned = number + folder become official
manual posting per platformYT Studio, then TT · IG · FB with thumbnail add
FROM AL script template (root) TOWARDS Shorts · Carousels · Quotes · Newsletter · Substack · LI/X/Threads NOTE UP TO DATE
Shorts
2 DERIVED INTERMEDIATE
Gling extraction → FCPX batch editALL shorts of a video edited together, NO thumbnails yet
FINDER videos/short-form/ongoing/ + videos/stock/short-form/heavy media, surplus goes to stock · per video: 03-gling (intermediate) + final (publication)NOTION Shorts Content Planner page (wrapper, being unified by AL)
AL picks 5/week → Shorts EO — Posting PlanningAL renumbering 28/07 · also Planning Publication DB and Shorts Content Planner
Auto-Publisher prompt (thumbnails at posting time) → PostFastYT · TT · IG · FB · Section H flowTikTok = 100% manual, one piece at a time: drag-and-drop kit validated 28/07/2026, written down in section 17 of the Multi-Platform grammar, scheduling day Thursday (10-day advance limit covers the next week)
FROM Long-Form (Gling clips) + AL per-short script TOWARDS TikTok · IG Reels · Facebook · YT Shorts 2 NOTE UP TO DATE
Quotes
2 HYBRID INTERMEDIATE
Prompt Extractions on last YT scriptshundreds in advance
NOTION Quotes EO — Backup Basetext + metadata, never FinderFINDER content/quotes/2026/ (Qxx-title.png)
AL picks & copies to Quote Content Plannermanual move = human filter · data source 9078c89a-5334-43fa-b501-7ac535d31c0d
Prompt Quote: Canva → PostFast + n8n weeklyTT · IG · FB + X/Threads satellites · LK excluded · Section I flow
FROM Long-Form script OR Scratch TOWARDS X + Threads satellites 3 NOTE UP TO DATE
Carousels
2 HYBRID INTERMEDIATE
Prompt from LF + Prompt from Substack2 produced/week · 1 published, 1 to stock
NOTION Carousels Backup Baseto confirm: "Carousels Pipeline" name collisionFINDER to confirm
AL validates → Carousels Content Plannerthis link used to point at the Newsletter DB: three Notion containers all display the name "Carousels Pipeline". Fixed 28/07.to confirm (agent running: 2 sources, 1 prompt)
Canva production → PostFast drafts → GO 2TT · IG · FB (+YT?) · Section G flow
FROM Long-Form OR Substack TOWARDS LinkedIn · X · Threads posts + covers 1 NOTE UP TO DATE
Substack
2 DERIVED INTERMEDIATE
absent from B.4 + E-index
AL writes the essayno generation prompt, on purpose
NOTION Substack Pipelineall essays planned, order rearrangement only · the published article is its own backupFINDER to confirm
AL rearranges order in the same Pipelineplanned order only (all written in advance)
manual publish on Substackthen feeds Carousel-from-Substack + LK/X/Th review
FROM Long-Form script TOWARDS Carousels (from Substack) NOTE UP TO DATE
Newsletter
3 DERIVED LEAF
Multi-Platform Generation (newsletter sub-agent)
NOTION Newsletter Per Long-Form Stacksingle base: draft + sent in oneFINDER none needed (text only)
AL validates the weekly email
auto-scheduled into Kit by the newsletter-dispatch robotsend day: Saturday 2:00 PM Paris, every week
how the robot runs, and what it replacedeo-backup-worker, daily cron 06:30 UTC: reads the Notion base, schedules every row with Validation = Yes and an empty Kit Broadcast ID at least 1h in the future, writes the broadcast id back (idempotent), mails AL the exact subject and timebuilt 28/07/2026 · first newsletter scheduled Saturday 01/08/2026 (AL moved it from Sunday the same evening, Kit broadcast re-dated and verified) · replaces the older line "n8n auto-send via Kit, Saturday 14:00 Paris": no such n8n send ever ran, the base was read by nobody
FROM Long-Form of the week TOWARDS none (Kit email send) NOTE UP TO DATE
Textual LK / X / Threads
2 DERIVED INTERMEDIATE
cross-platform 5×3
Multi-Platform Generation from 1 LF script
NOTION LK · X · Threads Backup Bases5-sub-agents version; the 6-sub version skips this column, pending AL call
AL moves keepers to LK · X · Threads Repurposed Planners
scheduled postsX = Threads same posts · LK own cadence
FROM Long-Form of the week TOWARDS LinkedIn · X · Threads (15 posts) NOTE UP TO DATE
Lifestyle
2 SCRATCH LEAF
AL shoots photosOONW, not derivedpair written 28/07/2026: Lifestyle Grammar + Lifestyle Prompt
FINDER content/lifestyle/a few in advance · to confirm: 8-weeks-in-advance folderNOTION to confirm
AL picks the best, 8 weeks in advanceLifestyle Content Planner · draft only (agent digging Notion + old convs)
schedule prompt → PostFast1/week · TikTok + Instagram + Facebook, Thursday second slot (6-8 PM window read live from content-system) · settled by the Lifestyle Grammar on 28/07/2026, caption identical word for word on the 3, Facebook without music
FROM none (net-new) TOWARDS none NOTE UP TO DATE
X / Threads satellites
3 DERIVED LEAF
posted automatically by the Quote pipeline
NOTION same DBs as the planner (posted by the Quote pipeline)FINDER none (text only)
with the weekly quote runsatellites of the Quote pipeline
FROM Quotes TOWARDS none (terminal) NOTE UP TO DATE
TDs / DGs (video visuals)
3 NOT IN GRAPH
FINDER v2-canonical/ masters (20 HTML)outputs per video: videos/V{N}-slug/visuals/
per-video (planner row = the video)
embedded in the Long-Form edit
FROM the Long-Form script TOWARDS the Long-Form edit (production asset, not a content type) NOTE UP TO DATE
Background music
2 NOT IN GRAPH
Suno runs from the bank + mappingpair written 28/07/2026: Suno Background Music Grammar + Suno Background Music Promptboth v0.1 draft, never run once
NOTION Suno Grammar (bank + mapping)FINDER editing-bank/background-music/ (categories: topx, chill, heavy...)
occasional runs (no planner)
used in the Long-Form edit
FROM none (bank) TOWARDS the Long-Form edit (production asset, not a content type) NOTE UP TO DATE
YouTube chapters
3 NOT IN GRAPH
added 28/07
Prompt Chapter Suggestions v1.0 (28/07/2026)run in a fresh Claude web conversation once the Gling script lands in the video page: proposes 5 to 9 boundaries, each anchored to a verbatim opening sentence, plus a working title. Never a timestamp.law of the final labels: Description Grammar v4.1, rules 10 and 14
NOTION the video page (cleaned script + proposals)no backup base of its own: the chapters end their life inside the YouTube descriptionFINDER none needed (text only)
AL keeps, merges or drops the proposals, then drops the markers in FCPXboard step Editing cuts and structure, sub-action chapter markers · the real positions only exist once the edit is locked
shipped inside the YouTube descriptionthe Description prompt writes the final labels, locked onto the real positions. Never invert the two: a label written before the edit is a proposal, never a final label.
FROM the cleaned Long-Form script (Gling) TOWARDS the YouTube description (production asset, not a content type) NOTE UP TO DATE

Column 3 is always a MANUAL AL move: nothing reaches a planner without the human filter. 1 Carousels OR rule: 1 carousel per Substack article · 1-3 carousels per Long-Form video. 2 Shorts: source clips are LF-derived (Gling) but AL writes a script per short; legacy concept-shorts-from-scratch (face-cam / slideshow / green-screen / POV) are a secondary path, not the v1 pipeline. 3 Quote OR rule: default = LF script (auto Saturday cron); Scratch = a validated quote AL inserts manually into the backup base.

Nature
SCRATCH   written net-new, no upstream content
DERIVED   inherits from one upstream type
HYBRID   derived OR scratch depending on the piece
Graph role (Kind)
SOURCE   root · Towards only, no From
INTERMEDIATE   has both From and Towards
LEAF   terminal · From only, spawns nothing

This table is the per-TYPE model. The per-PIECE truth (which exact Long-Form spawned which exact carousel) lives in each planner's From / Towards columns, auto-filled by the generating Prompt (see content production doctrine §14).

BOARD ↔ FINDER LINKAGE (added 2026-07-26) 4 rules: gold FINDER button on every Finder-touching step, 6 wired folder families, hourly folder auto-naming, full tree in Notion 1. Every Finder-touching step of the LF board carries a gold FINDER button: one left-click opens the exact folder via the eofinder:// URL scheme (local applet ~/Applications/EOFinder.app).
2. Wired folders: LF_EDIT steps → videos/long-form/ongoing/ · exports → same · shorts edit/store → videos/short-form/ongoing/ + videos/stock/short-form/ · lifestyle → content/lifestyle/ · thumbnails export → visuals/thumbnails/ · quotes PNG review → content/quotes/2026/.
3. Folder naming is AUTOMATED: the LaunchAgent com.eo.v-folder-sync (hourly, local) reads the YouTube LF Content Planner and keeps ongoing/ folders named V{N} - {title} for every Ongoing/Planned row: creates from _template/ when missing, renames when the title changes, never deletes. Log: ~/Library/Logs/eo-v-folder-sync.log.
4. Full tree + per-video convention: Finder EO — Detailed tree (Notion).

A.3 · Notion pages: the real tree, then the master table · re-fetched live 2026-07-29

Flattened tree, re-fetched from the Notion API on 29/07/2026. Notion column containers are not shown: they carry no name and no content, so their children hang directly under the section above them. Section names in white caps are the real Notion headings of the hub. Right-aligned chip on every prompt line = recommended Claude runtime (model + reasoning effort) to run it with. Colors = same code as the master table below: prompts · grammars · planners · backup bases · DBs · doctrine.

Elite-Outsiders
    COMMAND CENTER
        └ Start Here [EO]
        └ Bank
        └ HUB Digest, table of contents of the hub (29/07) ← new 29/07/2026
    CONTENT PLANNERS
        └ a table of links only, the planners physically live in the two sections below
    FEEDBACKS & RETEX
        └ Feedbacks & RETEX (29/07) ← new 29/07/2026
            └ RETEX Musique cross-platform · Trauma Map feedbacks [db] · Content feedbacks [db]
    STRATEGY & CONTENT PRODUCTION
        └ Multi-Platform Grammar HUB (29/07)
            └ Cross-Platform Grammar — from 1 Carousel
            └ Multi-Platform Grammar v1.5 merged (29/07) ← the only live version
Opus 5 + High            └ Prompt Multi-Platform Generation v2.2 — 3 sub-agents (29/07)
        └ Content System Doctrine
        └ Alex's Tone
        └ Overall EO business strategy + Market Study+Arnaud
        └ Vocabulary & Claims EO
        └ SEO Technical Appendix
        └ Backend Infra — n8n & PostFast wiring
        └ SOP — LF-cross-platform-content filling
        └ Grammars + Prompts status — coverage map (29/07)
        └ PostFast — Platform specs & rules
        └ Backup Base Doctrine (29/07)
        └ Shorts EO — Backup Base [db]
        └ Carousels EO — Backup Base ← still a stub page, not a base
        └ Quotes EO — Backup Base ← holds an inline copy of the Quote planner
        └ Lifestyle EO — Backup Base ← still a stub page, not a base
        └ LinkedIn Backup Base [db] · X Backup Base [db] · Threads Backup Base [db]
        └ Weekly Newsletter Per Long-Form Stack [db]
        └ Long Form Content [EO] (29/07)
            └ Script-Method · Start here draft
            └ Hook Grammar v1.0 (29/07)
            └ Script Template — for AL · for Claude
            └ Thumbnail × Title × IN-BETWEEN Grammar
            └ Description Grammar v4.1
            └ Thumbnail Long-Form {TT,IG,FB} Grammar (29/07)
Sonnet 5 + Medium            └ Prompt Gling-Claude-FCPX (29/07)
Sonnet 5 + Low            └ Prompt Gling Transcript Cleanup v1.0 (29/07)
Sonnet 5 + Low            └ Prompt Chapter Suggestions v1.0 (28/07)
Opus 5 + Medium            └ Prompt Long Form Content Thumbnail
Sonnet 5 + High            └ Prompt Title only
Sonnet 5 + Medium            └ Prompt Description Generation v4.2
Sonnet 5 + Medium            └ Prompt {TT,IG,FB} Long Form Thumbnail
            └ YouTube LF Upload settings · Archives
        └ past-scripts (29/07) 15LFYTVsfromBANK · 8 LF Batch Voyance · 2 LF Batch 13/04 · SFs TT rules · EO LF Pipeline
        └ YouTube Long Form Content Planner [db]
        └ Video Diagrams Grammar v2.0 (29/07)
Opus 5 + Medium        └ Prompt Text Displays + Diagrams v1.1
    CROSS PLATFORM CONTENT
        └ Shorts Auto-Publisher Grammar (29/07)
            └ Shorts technical specs (rescued 29/07)
        └ Thumbnail Shorts {TT,IG,FB} Grammar
Sonnet 5 + High        └ Prompt — Shorts Auto-Publisher (29/07)
Sonnet 5 + Medium        └ Prompt {TT,IG,FB,YT} Shorts 5-Batch Thumbnails
        └ Shorts Content Planner (28/07)
            └ Shorts EO—Posting Planning [db] ← the real base, the HUB Digest still points one level above
        └ Quote Grammar (29/07) · n8n Quotes Weekly Runbook (29/07)
Opus 5 + High        └ Prompt Quote (29/07)
Sonnet 5 + High        └ Prompt Quote Extraction (28/07)
        └ Quote Content Planner [db]
        └ Lifestyle
            └ Lifestyle Grammar v1.1 (29/07)
Sonnet 5 + Low                └ Prompt Lifestyle Caption v1.1 (29/07)
        └ Lifestyle Content Planner [db]
        └ Pinterest Grammar v1.8 (29/07)
Opus 5 + High            └ Prompt Pinterest Generation v3.0 (29/07)
            └ Pinterest Content Planner [db]
        └ LinkedIn Repurposed Planner [db] · X Repurposed [db] · Threads Repurposed [db]
        └ Substack Grammar & Rules
Opus 5 + High            └ Prompt Substack Essay from Long-Form v1.0 (29/07) ← new 29/07/2026
        └ Substack Pipeline [db]
        └ Carousels content [EO]
            └ from_Long-form — Carousel Grammar v1.0
Opus 5 + Medium            └ Prompt Carousel Generation — from Long-Form
            └ from_Substack — Carousel Grammar v1.1 (29/07)
Opus 5 + Medium            └ Prompt Carousel Generation — from Substack v1.1 (29/07)
        └ Carousel Grammar — Common rules (B-G) v1.0
        └ Carousels Content Planner [db]
        └ Carousel Production Pipeline v1.0
        └ Suno Background Music Grammar v1.0 (28/07)
Sonnet 5 + Low        └ Prompt Suno Background Music Run v1.0 (28/07)
        └ Cinematic Visual Language — Inspirations 14 technique pages: camera, lenses, lighting, grading, framing
        └ Highlights_Grammar · Stories & Highlights proposals v2 (29/07)
        └ Newsletter heading: pointers only, the 3 pages sit at the hub root
    INTERACTIONS
        └ Brief Cowork · Tracking Comments · Master List Comptes Cibles
    PRODUCT · BUSINESS RESOURCES · BUSINESS INFRASTRUCTURE
        └ Front-end · EO Mentorship · Founding Mentorship · Manifesto feedbacks [db] · WWA feedbacks [db]
        └ Technical · Administrative · Legal (28/07)
        └ Elite-Outsiders — Claude Code HQ — specifics
    HUB ROOT PAGES
        └ Decisions Log [EO]
        └ TRASH, pending AL confirmation (29/07) ← everything staged for deletion today, including Newsletter pipeline-1
        └ Positioning & funnel [EO] (29/07) Actions & Fundamentals · Bios EO · Complete Funnel [db] · Volume scaling doctrine
        └ System logic & maps [EO] (29/07)
            └ Finder EO — detailed tree (29/07)
            └ Content system build logic (29/07)
            └ EO content production doctrine — hub (29/07)
        └ Newsletter Grammar v0.1 draft
Opus 5 + High        └ Prompt Weekly Newsletter v0.1 draft
    LEGACY TOGGLES, NOT PRODUCTION
        └ Archives · Drafts—11.04.2026 · À trancher et parcourir avec Claude · À garder je sais pas où
8 changes between the 26/07 tree and this 29/07 re-fetch

A.3b · Prompts & grammars master table · moved here 2026-07-26

HOW TO READ THIS TABLE lanes, WIRED dot, Ready pill scores the page not the type, notes are yours

Every active production page of the EO Notion: one lane per stage, one card per page. ● WIRED = the page is attached to a step of the LF board right now (36 of 72); ○ not wired = it exists but no step points to it. The Ready pill answers one question: can this prompt + grammar pair run today? Same code as A.2: 3 runnable, 2 one known hole, 1 not runnable yet, · not a pair (base, planner, DB, doctrine). Hover any pill for the exact reason. This Ready pill scores the PAGE (is it attached to a step, does its family have a hole). The Ready pill in A.2 scores the CONTENT TYPE (do the two Notion pages exist, is publishing wired or covered by a documented manual kit). A page can sit at 1 here while its type sits at 2 above, without contradiction. Obsolete pages are excluded (archived in Notion, never deleted). Notes are yours: click NOTE on a card and type, it saves on its own.

COVERAGE PROOF 72 pages in 11 lanes, 36 wired, checked against the two live board keys in D1

Coverage checked 29/07/2026 against the two live board keys in D1 (cross_platform_content_process_v2 and gantt_long_v2): this table covers 72 pages in 11 lanes, 36 of them wired to a step. Every Notion page carried by a board step now has a card, none is counted nowhere. Nine cards were added that day: the new pinterest lane (grammar, prompt, planner), the chapters prompt and the background music prompt in edit, the Carousels content hub in carousel, Multi-Platform Grammar v1.5 merged in textual, and the newsletter pair in substack. The 28/07 triage page sitting at the Elite-Outsiders root is deliberately left out: this table lists active production pages, archived and triage zones are excluded by design.

STAGESscript film edit thumbnail shorts quotes carousel textual substack pinterest transverse
SCRIPT7 wired / 11 pages
BASE ● WIRED ·
NOTEUP TO DATE
BASE ○ not wired ·
NOTEUP TO DATE
BASE ● WIRED ·
NOTEUP TO DATE
GRAMMAR ● WIRED 3
NOTEUP TO DATE
BASE ○ not wired ·
NOTEUP TO DATE
BASE ● WIRED ·
NOTEUP TO DATE
BASE ○ not wired ·
NOTEUP TO DATE
BASE ● WIRED ·
NOTEUP TO DATE
GRAMMAR ○ not wired 2
NOTEUP TO DATE
GRAMMAR ● WIRED 3
NOTEUP TO DATE
PROMPT ● WIRED 3
NOTEUP TO DATE
FILM1 wired / 1 pages
BASE ● WIRED ·
NOTEUP TO DATE
EDIT4 wired / 4 pages
PROMPT ● WIRED 3
NOTEUP TO DATE
PROMPT ● WIRED 3
NOTEUP TO DATE
PROMPT ● WIRED 3
NOTEUP TO DATE
PROMPT ● WIRED 2
NOTEUP TO DATE
THUMBNAIL7 wired / 8 pages
GRAMMAR ● WIRED 3
NOTEUP TO DATE
PROMPT ● WIRED 3
NOTEUP TO DATE
PROMPT ○ not wired 2
NOTEUP TO DATE
GRAMMAR ● WIRED 3
NOTEUP TO DATE
PROMPT ● WIRED 3
NOTEUP TO DATE
GRAMMAR ● WIRED 3
NOTEUP TO DATE
PROMPT ● WIRED 3
NOTEUP TO DATE
DOCTRINE ● WIRED ·
NOTEUP TO DATE
SHORTS1 wired / 6 pages
GRAMMAR ● WIRED 2
NOTEUP TO DATE
PROMPT ○ not wired 1
NOTEUP TO DATE
GRAMMAR ○ not wired 1
NOTEUP TO DATE
PROMPT ○ not wired 1
NOTEUP TO DATE
PLANNER ○ not wired ·
NOTEUP TO DATE
DB ○ not wired ·
NOTEUP TO DATE
QUOTES4 wired / 6 pages
GRAMMAR ○ not wired 2
NOTEUP TO DATE
PROMPT ● WIRED 2
NOTEUP TO DATE
PROMPT ● WIRED 2
NOTEUP TO DATE
PLANNER ● WIRED ·
NOTEUP TO DATE
BASE ● WIRED ·
NOTEUP TO DATE
DOCTRINE ○ not wired ·
NOTEUP TO DATE
CAROUSEL6 wired / 9 pages
GRAMMAR ● WIRED 2
NOTEUP TO DATE
GRAMMAR ● WIRED 2
NOTEUP TO DATE
PROMPT ● WIRED 2
NOTEUP TO DATE
PROMPT ● WIRED 2
NOTEUP TO DATE
DOCTRINE ○ not wired ·
NOTEUP TO DATE
PLANNER ● WIRED ·
NOTEUP TO DATE
DB ○ not wired ·
NOTEUP TO DATE
BASE ○ not wired ·
NOTEUP TO DATE
BASE ● WIRED ·
NOTEUP TO DATE
TEXTUAL2 wired / 10 pages
GRAMMAR ○ not wired 2
NOTEUP TO DATE
GRAMMAR ● WIRED 2
NOTEUP TO DATE
PROMPT ○ not wired 2
NOTEUP TO DATE
DOCTRINE ○ not wired ·
NOTEUP TO DATE
PLANNER ○ not wired ·
NOTEUP TO DATE
PLANNER ○ not wired ·
NOTEUP TO DATE
PLANNER ○ not wired ·
NOTEUP TO DATE
BASE ○ not wired ·
NOTEUP TO DATE
GRAMMAR ○ not wired 2
NOTEUP TO DATE
SUBSTACK2 wired / 5 pages
GRAMMAR ○ not wired 2
NOTEUP TO DATE
PLANNER ○ not wired ·
NOTEUP TO DATE
PLANNER ● WIRED ·
NOTEUP TO DATE
GRAMMAR ○ not wired 2
NOTEUP TO DATE
PROMPT ● WIRED 3
NOTEUP TO DATE
PINTEREST2 wired / 3 pages
GRAMMAR ○ not wired 2
NOTEUP TO DATE
PLANNER ● WIRED ·
NOTEUP TO DATE
TRANSVERSE0 wired / 9 pages
BASE ○ not wired ·
NOTEUP TO DATE
PLANNER ○ not wired ·
NOTEUP TO DATE
DOCTRINE ○ not wired ·
NOTEUP TO DATE
DOCTRINE ○ not wired ·
NOTEUP TO DATE
DOCTRINE ○ not wired ·
NOTEUP TO DATE
GRAMMAR ○ not wired 2
NOTEUP TO DATE
DOCTRINE ○ not wired ·
NOTEUP TO DATE
DOCTRINE ○ not wired ·
NOTEUP TO DATE
BASE ○ not wired ·
NOTEUP TO DATE
NOTES (AL 25-26/07) 4 rules: schedule source of truth, one prompt one place, Multi-Platform settled, archive never delete

1. Every production prompt re-fetches content-system §5 Plannings at run time — the schedule source of truth. Change the planning, the prompts follow.
2. One prompt lives in ONE place in the workflow. The LF board enforces it on assignment (move / bypass / cancel). Same rule now applies to URLs, except Finder folder paths which several steps legitimately share.
3. Multi-Platform Generation settled on 28/07/2026: one live grammar (v1.5 merged) and one live prompt (v2.1, 5 sub-agents → Backup Bases). The 15/05 and 24/05 grammars and the v1.3 and v2.0 prompts are archived, URLs unchanged.
4. Obsolete pages are archived, never deleted: old script/visuals prompts under the archived Visual Designs hub, old shorts prompts in the "À trier" zone.

A.4 · Waves & triggers: what fires what, in parallel · last updated 2026-07-29

Overview of the EO content production flow. Long-form is the source of everything. Once the LF script is available, many processes fire in parallel (waves) to produce all of the week's content in ~4h instead of 12h sequentially.

This tree is the guardrail for understanding the arrows in /backdata/lf-cross-platform-content (Gantt View). If a new content type appears or the sequence shifts, update HERE at the same time as in the board (4-legged stool — see Grammar+Prompt agent contract §11).

Wave 1 — LF sourceLong-form and everything extracted directly from its script
LF Script (Gling)
Owner: AL · App: Gling
LF Film
Owner: AL · App: camera
LF Edit (4K + 360p)
Owner: AL · App: FCPX + Gling + Adobe Podcast
LF Post manual
Owner: AL · App: YouTube
Quotes (full process)
1 published/week · pool of hundreds in advance (Notion) · Owner: Claude Code · App: PostFast
Wave 2 — Derived from LFEverything that inherits from long-form once the script is available
Lifestyle (process)
Owner: AL + Claude Code · App: variable
Shorts edit + tri
Trigger: LF film + edit · Owner: AL · App: Gling + FCPX
Shorts posting
Owner: Claude Code · App: PostFast
Wave 3 — Finals (postings)Final processes that depend on the Wave 2 derived content, plus the Substack article, which is fed by the LF script but placed here by the board
Substack article (from LF)
Trigger: script LF · Owner: Claude Code · App: Substack
Moved from wave 2 to wave 3 on 29/07/2026 to match the board, which is the source of truth for waves. It is fed by the LF script but it runs in wave 3.
Substack post final
Owner: AL · App: Substack

Main triggers (what fires what)

Two kinds of arrow below: content dependency (A must exist before B) and machine trigger (a cron or a webhook actually fires B). The machine triggers are tagged ROBOT.

LF ScriptQuotes extractionWAVE 1
LF ScriptCarousel from LFWAVE 2
LF ScriptNewsletter from LFWAVE 2
LF ScriptSubstack articleWAVE 3
LF Film + EditShorts edit + triWAVE 1
Shorts edit + triShorts posting (YT + IG + FB)WAVE 1
Substack article (W3)Carousel from SubstackWAVE 3
Substack article (W3)Substack post finalWAVE 3
Carousel from LF + SubstackCarousel postingWAVE 3
Newsletter from LFNewsletter postingWAVE 3
CRON17 quotes-trigger (Mon 04:30 UTC)n8n Quotes WeeklyPostFastROBOT
Notion Validation = YesCRON16 newsletter-dispatch (daily 06:30 UTC)Kit scheduled broadcastROBOT
Notion Status = Readyn8n Shorts Auto-Publisher (webhook + manual, no cron)PostFastROBOT
Notion Posting Daten8n Carousels Auto-Publisher (webhook + manual, no cron)PostFastROBOT
LF ScriptPinterest batchn8n Pinterest Auto-Publisher (INACTIVE)ROBOT
Lifestyle plannern8n Lifestyle Auto-Publisher (INACTIVE, built 29/07)ROBOT
Notion page editCRON14 notion-freshness (daily 10:00 UTC)D1 notion_freshness, then this pageROBOT
AL Thursday routineTikTok manual posts (10 days ahead, all pieces by hand)100% MANUAL

Waves logic: the parallelized batch lets us chain all of the week's content in ~4h instead of 12h sequentially. If a new content type appears or a trigger changes, update here + in the board /backdata/lf-cross-platform-content at the same time (4-legged stool, non-negotiable).


B — Notion tree (4 levels) · last updated 2026-05-17

The EO Notion organization breaks down into 4 levels. Always come back to this hierarchy to avoid organizational mess.

B.1. Full EO Notion tree (real state as of 2026-05-17)

Complete snapshot under Elite-Outsiders. Updated in real time on every structural change. The audit reveals several level inconsistencies (see the bottom of this sub-section).

⬛ Elite-Outsiders
│
├── # COMMAND CENTER
│   ├── Start Here
│   ├── Actions & Règles Fondamentales
│   ├── (non-up-to-date) Bios EO — Toutes Plateformes — 15/05/2026
│   └── [DB] 🟥 Complete Funnel
│
├── # Leads & Prospects
│   └── CRM — Leads / Prospects / Clients
│
├── # STRATEGY & CONTENT PRODUCTION
│   ├── ## Multi-Platform Grammar
│   │   └── Multi-Platform Grammar for AL & Claude — 16/05/2026
│   ├── ## Alex's Tone
│   │   └── Alex's Tone — 16/05/2026
│   │
│   ├── [left col] # General                       ← H1 nested (inconsistent)
│   │   ├── Strat
│   │   ├── PostFast — Platform specs & rules — 15/05/2026
│   │   ├── Backend Infra — n8n & PostFast wiring [EO] — v1.1 — 17/05/2026
│   │   ├── SEO Technical Appendix — for Claude (15/05/2026)
│   │   └── ⚠️ Vocabulary & Claims EO — 2026-04-25
│   ├── [right col] ## Ressources
│   │   ├── [DB] ⬜ Shorts EO — Backup Base
│   │   └── Cross Platform Content Backup Base [EO]
│   │
│   ├── [left col] # Long Form Content             ← H1 nested (inconsistent)
│   │   └── Long Form Content
│   └── [right col] ## Ressources
│       └── [DB] YouTube Long Form Content Planner [EO] — 15/05/2026
│
├── # Cross Platform Content
│   ├── [left col] ## Short-Form Content {grammar}
│   │   ├── Short Form Content
│   │   ├── ### Edit / ### Post
│   │   ├── ## LinkedIn, X, Threads
│   │   ├── ## Quote {grammar}
│   │   └── ## Lifestyle {grammar}
│   ├── [right col] # Prompts                       ← H1 nested (inconsistent)
│   │   ├── ### Edit / ### Post / ### Script
│   │   ├── ### Ressources — LinkedIn, X, Threads
│   │   │   ├── [DB] LinkedIn Repurposed Content Planner [EO] — 16/05/2026
│   │   │   ├── [DB] X Repurposed Content Planner [EO] — 16/05/2026
│   │   │   └── [DB] Threads Repurposed Content Planner [EO] — 16/05/2026
│   │   ├── ### Ressources — Quote
│   │   │   └── [DB] Quote Content Planner [EO] — 16/05/2026
│   │   └── ### Ressources — Lifestyle
│   │       └── [DB] Lifestyle Content Planner [EO] — 16/05/2026
│   │
│   ├── [left col] ## Substack
│   │   ├── SUBSTACK
│   │   └── Substack Templates & Rules — 13/05/2026
│   ├── [right col] ### Ressources
│   │   └── [DB] Substack Pipeline
│   │
│   ├── [left col] ## Carousels
│   │   └── Carousels content
│   ├── [right col] ### Ressources
│   │   ├── Carousel Grammar [EO] — Common rules (B-G) — v1.0 — 15/05/2026
│   │   ├── [DB] Carousels Content Planner [EO] — 16/05/2026
│   │   └── Carousel Production Pipeline — from prompt to drafts — v1.0 — 16/05/2026
│   │
│   └── ## Ressources
│       └── Social Media non-YouTube prompt — for AL & Claude (non up-to-date)
│
├── # Newsletter   (empty)
├── # INTERACTIONS
│   ├── 🔴 Brief Cowork — Problème Interactions EO
│   ├── Tracking Comments — from 12/04/26
│   └── 🎯 Master List — Comptes Cibles Interactions EO
│
├── # Product                                        ← duplicate section
│   └── Founding Mentorship — 5000 USD / 3 mois — spec produit — 02/05/2026
├── # PRODUCT                                        ← duplicate section
│   ├── Front-end
│   └── EO Mentorship — Approche du mentoring — Décision Option C alternance — 02/05/2026
│
├── # Business Ressources
│   ├── Technical — 15/05/2026
│   ├── Administrative
│   └── Legal
│
├── # Business Infrastructure
│   ├── EO — Claude Code HQ
│   ├── AC — Claude Code HQ
│   └── [details] Drafts — 11.04.2026  (Claude Code / Profiles updates / Repositionning)
│
├── # Archives
│   ├── Thumbnail × Title × IN-BETWEEN Grammar [EO] — AL Reflections — 13/05/2026
│   ├── [ARCHIVE 2026-04] Carrousel 20 slides — exemple historique
│   └── [ARCHIVE 2026-05-15] Carousels — Sources de vérité Claude — pré-refonte
│
└── ## À trier: process content                     ← isolated top-level H2 (inconsistent)
    ├── 📥 Récupéré depuis Elite-Outsiders (legacy) — 08/05/2026
    └── 🟦 LF Migration Pack — from Elite-Outsiders (sans 1) — 08/05/26

Identified inconsistencies (for AL to fix)

  1. # General in STRATEGY & CONTENT PRODUCTION — H1 nested inside H1. Should be ## General.
  2. # Long Form Content same — should be ## Long Form Content.
  3. # Prompts in Cross Platform Content — should be ## Prompts to match ## Short-Form Content across from it.
  4. ## À trier: process content floating at top-level after # Archives — should be # À trier OR filed under Archives.
  5. ## Ressources vs ### Ressources unstable level (Substack/Carousels = H3, Cross Platform Content = H2). To be standardized.
  6. Duplicate # Product / # PRODUCT — to be merged.
  7. Empty # Newsletter section — delete or populate.
  8. Pages marked (non-up-to-date) in Command Center and Ressources — archive or update.

B.4. Real level per content type (as of 2026-05-17)

The tree actually implemented per type. Section C details status per type.

TypeHubSourcesn8n workflowPostFastDBs
Long Form ContentScript template00 (manual)1 main
Cross Platform Content (umbrella)✓ structure
└ Short-Form Content (sub-hub)partialLong-Form via Gling✓ Shorts Auto-Publisher (NgJNAYfiTgxqehu2)✓ (TikTok+IG Reels+FB Shorts)1 + Shorts Backup Base
└ Quote (sub-hub)todoLong-Form OR Scratchtodo (Saturday cron)SCHEDULEDQuote Content Planner [EO] + Backup Base to create
└ Lifestyle (sub-hub)todoScratch??Lifestyle Content Planner [EO]
└ Cross-platform 5×3 from Long-Form (sub-hub)todoLong-FormtodoSCHEDULED LinkedIn+X+FB3 Repurposed Content Planners (already exist)
Carousels content✓ v1.0Substack OR Long-Form✓ Carousels Auto-Publisher1 + 3 satellite planners
Quote (upcoming)todoLong-Form OR Scratchtodo (auto Saturday cron)SCHEDULED1 + Backup Base to create
Newsletter KittodoLong-Formtodo0 (Kit direct)1 to create

C — Index of the 6 EO content types · last updated 2026-05-16

C.1. Carousels v1.0 done HYBRID

C.2. Long-Form video partial SCRATCH SOURCE

C.3. Shorts v1.0 done DERIVED

C.4. Newsletter Kit todo DERIVED LEAF

C.5. Cross-platform 5×3 from Long-Form todo DERIVED

C.6. Quote of the Week todo HYBRID


D — Mention check per prompt · last updated 2026-05-16

D.2. Results per prompt (as of 2026-05-16)

Carousels from Substack — 9.5/10 canonical:

Carousels from Long-Form — same 9.5/10.


E — Useful pointers · last updated 2026-05-22

E.1. EO Tools (AL frontend)

E.2. n8n workflows (VPS 72.62.187.71:5678)

E.3. Notion HQ


F — Error notification — n8n implementation state · last updated 2026-05-16

Doctrine (specifications + implementation pattern) on the Notion doctrine. Here, only the live status per workflow.

F.3. Implementation state as of 2026-05-16


G — Carousel production flow (visual) · last updated 2026-05-21

Diagram of the carousel pipeline post-prompt (text generation is already done by Prompt Carousel Generation from Substack v1.0 or from Long-Form v1.0). Covers image-gen, composition, PostFast upload, n8n trigger, drafts. Stops before actual publication (publication = AL approves drafts in PostFast UI + publishes Substack / X Article manually).

The two diamonds GO 1 and GO 2 are AL's explicit approval checkpoints. Nothing fires automatically between them. Drafts vs scheduled doctrine: Notion, Carousel Production Pipeline page.

Input
Substack article OR Long-Form video
Source of the carousel. The extraction prompt has already produced: 10 text slides + platform captions + LI/X/Threads native posts + 10 image-gen prompts (with planned dark zones). Row created in Carousels Content Planner (Status: Not started).
Checkpoint GO 1
AL approves the image-gen prompts
"go visuals"
Phase 2
Image-gen ChatGPT × 10
Chrome MCP → ChatGPT. HSV check (target hue 30-35°, sat 45-55%, value 57-81%). If saturation > 60% → desat ×0.55. Sources kept in _sources/ until publication.
Phase 3
Composition HTML → PDF → PNG
carousel-10.html with dynamic layout per slide (number pinned top-left, text placed according to the visual's dark zone). Chrome headless → PDF → pdftoppm. 10 composites 1080×1350.
Phase 4
Cover 1200×630 landscape
Generated via ChatGPT image-gen in native landscape format. No cropping of a portrait slide (kills the composition). Prompt formula: same palette rules + dark zones.
Checkpoint GO 2
AL approves composites + cover
"go drafts"
Phase 5
Upload PostFast (S3 signed URLs)
POST /file/get-signed-upload-urls in batches of 8 max. 11 images (10 slides + 1 cover) uploaded via direct PUT to S3. Keys returned.
Phase 6
Update Notion (main DB + 3 satellites)
Main row: PostFast keys + Status: In progress. 3 rows created in the LinkedIn / X / Threads Repurposed Content Planners with native posts + cover key + Wednesday 12-14h scheduling.
Phase 7
Trigger n8n webhook
POST http://72.62.187.71:5678/webhook/carousels-trigger. Workflow EO Carousels Auto-Publisher creates 6 PostFast entries: IG/TT/FB carousel DRAFT (10 images), X/LI/Threads SCHEDULED Wed 12-14h with cover. Row Status → Done.
AL Manual
Review drafts + manual publications
Validate the 6 drafts in PostFast UI. Publish the Substack article (no API). Publish the long-format X Article (not in PostFast). Fill Substack URL + X Article URL in the Notion row.
Phase 8 — auto +36h
Verification scheduled task
Check Substack RSS + X profile + PostFast API: did the 6 platforms publish? Are the 2 manual fields (Substack URL, X Article URL) filled in? If all OK → Update Posted At. Otherwise → ping AL with a checklist of what's missing.

Referenced pages: Carousel Grammar Common Rules · Carousel Production Pipeline · Carousels Content Planner DB.


H — Shorts production flow (visual) · last updated 2026-05-21

Diagram of the shorts pipeline post-prompt (generation of the 5 ChatGPT thumbnail prompts is carried by Claude Code via the orchestrator Prompt Shorts 5-Batch Thumbnails for Claude Code). Covers Gling extraction, image-gen × 5, post-prod composition, PostFast upload, n8n webhook trigger, drafts. Stops before actual publication (publication = AL approves drafts in PostFast UI).

The two diamonds GO 1 and GO 2 are AL's explicit approval checkpoints. Nothing fires automatically between them. Drafts vs scheduled doctrine: Notion, Carousel Production Pipeline page.

Input
Long-Form YouTube + Gling extraction
AL uses Gling on the published long-form to extract 5 shorts clips (1080×1920, 30-60s). Each clip has its own script generated by AL. AL creates 5 Notion pages in the Shorts Content Planner (DB 31a28224-6571-8243-b5b2-014dcbf4daef), one per short, with the script in the body. Status: Not started.
Checkpoint GO 1
AL invokes the Claude orchestrator with the 5 Notion links
"Here are 5 shorts scripts to process — [5 URLs]"
Phase 1
Claude orchestrator — scoring + assignment + 5 prompts
Claude reads the 5 scripts via MCP Notion. Scores each script (trauma/vulnerability/family/rebuilding/tactical rubric). Assigns to the 5 TYPES (Face / Symbol / Silhouette / Macro / Landscape — 1 type per short, never the same twice). Picks random 1-60 in the position matrix per thumbnail. Photo gate for Face/Silhouette if applicable. Generates 5 complete ChatGPT prompts, writes each prompt in a Vn_Thumbnail_Prompt toggle in the corresponding Notion page. Grammar reference: Thumbnail Shorts Grammar.
Phase 2
Image-gen ChatGPT × 5
AL opens each Notion page, copies the prompt from the toggle, pastes into ChatGPT (with photo attached for Face/Silhouette). 5 raw 1080×1920 thumbnails. Sources kept in VNSfs/ until publication.
Phase 3
Post-prod composites
Resize 1080×1620, pad to 1080×1920 with #0a0a0c (top 20% + bottom 20% padding reserved for platform UI). 5 final thumbnails ready to upload.
Checkpoint GO 2
AL approves the 5 composite thumbnails + video clips
"go drafts"
Phase 4
Upload PostFast (S3 signed URLs)
POST /file/get-signed-upload-urls. For each short: 1 video clip + 1 composite thumbnail uploaded via direct PUT to S3. Keys returned in the format video/<uuid>.mp4 + image/<uuid>.png.
Phase 5
Update Notion (5 rows)
For each short page: PostFast Media Key (video) + PostFast Thumbnail Key (IG Reels cover) + Description with YT:/SM:/LI:/X: blocks (captions per platform) + Date de Publication + Status → Ready.
Phase 6
Trigger n8n webhook
POST http://72.62.187.71:5678/webhook/shorts-trigger. Workflow EO Shorts Auto-Publisher (id NgJNAYfiTgxqehu2) queries Notion Status=Ready, explodes per platform via YT/SM/LI/X prefixes (YT→YouTube Short, SM→Instagram REEL+grid + TikTok draft, LI→LinkedIn, X→X). Schedules via PostFast at the planned date. Row Status → Posted. ⚠ LEGACY config (28/07): this deployed workflow still posts to LinkedIn/X and misses Facebook. Target since the 28/07 resync: SM → IG Reel + FB Reel + TikTok draft, no LI/X, YT manual. Do NOT Execute before the n8n update (pending VPS).
AL Manual
Review drafts in PostFast UI
Validate the drafts created in PostFast UI (TikTok = forced drafts, IG Reels = published as REEL with post-to-grid, Facebook Shorts, YouTube Shorts). No manual publication outside PostFast for shorts.
Phase 7 — auto +36h
Verification scheduled task
Check PostFast API: did the 4 platforms publish for each short? If all OK → Update Posted At. Otherwise → ping AL with a checklist of what's missing.

Referenced pages: Thumbnail Shorts Grammar · Thumbnail Long-Form Grammar · n8n workflow NgJNAYfiTgxqehu2 (webhook /webhook/shorts-trigger, active since 2026-05-21) · Shorts Content Planner DB 31a28224-6571-8243-b5b2-014dcbf4daef.


I — Quote production flow (visual) · last updated 2026-05-23

Diagram of the quote pipeline in 8 phases (Extraction → Clean-up → Production → AL+check → n8n → TikTok music → Approve → Skip IG/FB music). 1 quote/week via PostFast to respect the 10-day TikTok safe window. PostFast pattern: status: SCHEDULED + approvalStatus: PENDING_APPROVAL + scheduledAt: <Posting Date>. LinkedIn excluded from the quote pipeline (no LK publication = no planner to fill). Qxx = sticky identity: a row keeps its Qxx for life, only its Posting Date moves on a reshuffle.

Phases 2, 4, 6, 8 are AL touchpoints (manual). Phases 1, 3, 5, 7 are agent touchpoints. Everything stays blocked on the PostFast side until AL has approved in Phase 7 (automatic safety net).

Input
Last 7 long-form YouTube scripts
AL has the scripts of the last 7 long-forms published on YouTube (1 per week). Raw-material source for extracting quote punchlines.
Phase 1 — Extraction
Prompt Extractions — agent extracts punchlines
AL invokes the Prompt Extractions (chat or Code). The agent reads the 7 scripts, identifies candidate punchlines (length, strength, alignment with the 7 Kind categories in Grammar C), outputs a list of N proposed quotes in markdown/CSV. Placeholder status: prompt to be filled with AL's criteria before first run.
Phase 2 — Clean-up
AL validates the raw quotes
AL re-reads the proposed quotes, keeps the best, discards the rest, refines occasionally. Validated quotes → manual insertion into the Notion backup base with Kind, Source Title/Link/Type. Status: Not started.
Phase 2 (cont.) — AL promotes to the planner
AL promotes the validated quotes to the publication planner
Adds Posting Date + Validation=Yes in the Quote Content Planner. This sub-step is the bridge between clean-up (backup base) and production (planner). Row status: Not started.
Phase 3 — Production
Prompt Quote — Claude Code end-to-end
The agent runs the Prompt Quote in 9 sub-phases: (0) Invariants test calls, (1) Query Notion, (2) Fetch live schedule /backdata/content-system, (3) Distribution algo + Multi-pages Option C derivation + HTML simulation, (4) Renumber Posting Dates after validation (Qxx sticky, not re-assigned), (5) Canva end-to-end (clone EAHIywfFr_k → ops checklist per page type → fetch safe-zone at the moment of each clone → P2 loop bound-check → export PNG → save iCloud → P3 pixel check), (6) PostFast signed-URL upload → keys into Notion, (7) Creates 2 satellites X+Threads (LK excluded), (8) Verify + Status: In progress.
Phase 4 — AL+check
AL validates the Prompt Quote results
"OK, fire the n8n for Q-XX" (visual render + dates + content validated)
Phase 5 — n8n trigger
EO Quotes Weekly — 5 platforms in SCHEDULED+PENDING_APPROVAL
POST http://72.62.187.71:5678/webhook/quotes-trigger. Workflow yuWyWuPpjiI77ppd picks 1 quote (next Posting Date ≤ 10-day TikTok window), pushes 5 platforms via PostFast API: IG/TT/FB (visual + caption + hashtags + CTA 1/4), X (plain text 280 chars max), Threads (plain text 500 chars max). LinkedIn excluded. All SCHEDULED + PENDING_APPROVAL + scheduledAt=Posting Date. TikTok = tiktokIsDraft: true. Timing note: the TikTok draft lands in the native inbox at exact scheduledAt (not before). Precise timing of the PostFast → natives push to be measured empirically (see Cross-platform music RETEX).
Phase 6 — TikTok music + agent trigger
AL adds TikTok music to the app draft, says "move to scheduled"
AL opens TikTok app > Inbox > Drafts, finds the Qxx draft (arrived at scheduledAt), adds the music, saves. Then tells the agent (Claude Code): "move them to scheduled". For IG/FB: no music possible (Meta does not allow adding audio to a photo/carousel). Skip. X/Threads: plain text, no music.
Phase 7 — Agent approves via Chrome MCP
Claude Code navigates the PostFast UI and approves the 5 posts
PostFast exposes no API endpoint for the PENDING_APPROVAL → APPROVED transition (404 on PATCH/PUT/POST/approve). The agent opens Chrome MCP on app.postfa.st/dashboard/posts, filters Awaiting approval, clicks Approve on the 5 Qxx posts → status APPROVED → auto-publish at scheduledAt (Saturday 12-14h Paris). Zero manual AL clicks on the PostFast side.
Phase 8 — Skip IG/FB music
No IG/FB music addition possible (Meta API + platform)
Once the posts are published Saturday 12-14h, no action required on IG/FB for quotes (single photo). Meta does not allow adding audio to a photo/carousel post-publish via API, nor via mobile UI for a single photo. X/Threads = plain text, no music. LinkedIn = excluded from the quote pipeline.
Auto +36h — Verification
Verification scheduled task
Check PostFast API: did the 5 platforms publish for the quote? If all OK → Update Posted At in Notion. Otherwise → ping AL with a checklist of what's missing. To be built out as a separate Claude Code project (TBD).

Referenced pages: Quote Grammar · Prompt Quote · Prompt Extractions (placeholder) · n8n EO Quotes Weekly runbook · Live tool /backdata/quotes · Quote Content Planner DB · Satellites: X Repurposed · Threads Repurposed · Cross-platform music RETEX · n8n workflow yuWyWuPpjiI77ppd (webhook /webhook/quotes-trigger).


J — Maintenance · last updated 2026-07-25

  1. Author: AL + Claude Code, session 2026-05-16.
  2. Version: v1.1 (2026-07-25).
  3. Backend read: Claude Code reads the source MD at every content production session.
  4. Frontend render: tools.eliteoutsiders.com/architecture for AL.
  5. Update rule: on every major change to a content type, update the MD + tools page in mirror. Guardrail: check H.2 + routine L before every session.
  6. Phase 4 replication: dropping the parallel agents. Instead: we handle each content type one-by-one together in progressive cycles (Quote → Newsletter → Cross-platform 5×3 → Shorts-Notion formalization). Continuous improvement at every cycle. More qualitative than agent replication.
  7. Progressive cycle: for each new type, we formalize Notion + Grammars + Prompts + DB + Production Pipeline + Backend Infra + the Cross Platform Content tools page (or a new page if relevant) + update the architecture in parallel. Each cycle improves the pattern.
  8. Vocabulary (2026-07-25): applications used in pipelines are called apps, never "tools" — "tools" is the intranet itself (tools.eliteoutsiders.com).
  9. LF page is one-way (2026-07-25): /backdata/lf-cross-platform-content is edited manually by AL (Claude assists live on request). It may feed other pages; no page, cron or sync ever writes INTO it.
  10. Naming (2026-07-25): phase/task/sub-action wording on the LF page is AL's personal working language. Claude never normalizes it — Claude's labels adapt to AL's, not the reverse.
  11. Task text colors on the LF page (2026-07-25): green = fully production-ready · red = major attention point, or nothing done · yellow = not ready / caution, less vital.
  12. Editable titles (2026-07-25): every section title, subtitle and date stamp on this page is click-to-edit, persisted in D1 (key architecture_titles). Section letters renumbered sequential A→J on 2026-07-25.
  13. Content transformation map (2026-07-25): the "what becomes what" spectrum (Long-Form far left → Substack far right, Substack feeds Carousel, OONW included, platform variance per node) lives at the top of content-system §5 Plannings AND is mirrored in Section A here. Update BOTH on any derivation change. Prompts master table: Section E.4.