Ad-ideate is the second step of /ad-ideate. It runs directly after ad-ideator-classify and does two jobs in one pass: generation — it takes the Construct Brief and builds a full batch of concept cards, using weighted selection rules to pick lead type, archetype, angle, format, and hook; and internal QA — the moment each batch of 5–10 cards exists, a 7-check gate fires automatically before any concept surfaces. Four hard checks (open loop hook, avatar specificity, proof verifiability, mechanism protection) plus any CARDINAL post-mortem (PM) findings from live launch learnings are hard kills — the concept is scrapped and a replacement is regenerated (up to 3 attempts per slot). Two quality flags (voice match, creative surprise) plus any GUIDANCE PM findings let the concept through with the flag attached, so the scripter knows where to look. A batch-level distribution check runs last. The whole run uses a single agent_run audit record covering generation and QA together. Then it produces two outputs: a dense agent markdown — full concept cards, verdict table, and audit trail, for the scripter — and a plain-English HTML idea list for the operator, where each card is one or two normal sentences with a "checks passed" tag. The operator ticks the ones worth writing; everything else is the scripter's job.
Deterministic-first. Counting, maths, keyword scans, and record lookups are plain code. The language model only reasons where human judgment would be needed. All model calls go through OpenRouter and are logged with model name and cost to the agent_run audit record.
| Task | Model | Why |
|---|---|---|
| Volume distribution arithmetic (Steps 1A–1C): calculating exact concept counts by avatar runway and bucket allocation; FxI (Frequency × Impact) threshold checks (Step 5); format count and variety validation (Step 10); structural keyword scans for mechanism protection (C4); avatar term string match (C2); PM binary match (CARDINAL/GUIDANCE); proof entry record lookup (C3a); proof plausibility range check (C3b); batch-level distribution counts | Plain code — no language model | Deterministic arithmetic or string match. Model involvement adds hallucination risk with zero benefit. Completeness is never a language model's job — the correct number is one exact integer. |
| Supabase view reads, Foundation Load ingest (Steps 0.5a–0.5g): pulling the audience-language-dna segment, loading hook-principles, reading active_launch_learnings positive patterns, pre-loading the PM avoid-checklist | claude-sonnet-4-6 (Sonnet 4.6) via OpenRouter | Mechanical pull and ingest. Low latency. No Haiku — Sonnet 4.6 is the reliability floor for this system; a cheaper Chinese open model via OpenRouter is under evaluation to replace this step (pending analysis). |
| Hook framework tagging, 8-point Hook Strength Checklist scoring (Step 8C), archetype first-pass matrix lookup (Step 3), hook open loop assessment — clear structural cases (C1) | claude-sonnet-4-6 (Sonnet 4.6) via OpenRouter | Structured classification over bounded vocabulary. The framework codes (F1–F12, HT1–HT12, W1–W10) are a fixed set. Sonnet 4.6 handles well-formed patterns accurately and efficiently. |
Hook open loop assessment — unusual or novel structural patterns (C1 escalation); voice match — new expert with fewer than 3 validated winning ads in winning_ads (C5 escalation) |
claude-opus-4-8 (Opus 4.8) via OpenRouter | Novel hook patterns and thin reference corpora require deeper structural reasoning to avoid false kills or false passes. A missed open loop wastes a good concept; a wrongly passed closed statement sends a dead concept to scripting. Opus 4.8 is the right ceiling here. |
| Concept card generation, hook verbal construction, "Why This Combination" rationale (Steps 8B and 9) — the creative synthesis core | claude-opus-4-8 (Opus 4.8) via OpenRouter | Voice-dependent creative synthesis. A wrong concept card is the most expensive failure in the pipeline — the scripter writes a full script from it, and an off-target card means a wasted creative. Every call is logged to agent_run with model ID, provider, and cost. |
| Voice match assessment (C5) — standard case, expert with 3+ validated winning ads | claude-sonnet-4-6 (Sonnet 4.6) via OpenRouter | Standard voice comparison against a loaded, well-defined Voice Book. Sonnet 4.6 handles this accurately and efficiently when the reference corpus is adequate. |
| Creative surprise (C6) — full-batch synthesis | claude-opus-4-8 (Opus 4.8) via OpenRouter | Cross-batch pattern recognition and originality assessment require reading all cards simultaneously. This is synthesis-grade work. One call across the full batch — not per card. |
| Step 8.5 modular batch expansion — X bodies × Y hooks × Z CTAs when the operator specifies explicit quantities | GPT-5.5 via OpenRouter | Broad controlled-variation expansion. The main concept generation loop (Step 9) stays on Opus 4.8 because the Creative Diversity Rule requires strategic instinct, not coverage. Modular expansion is a mechanical spread over a fixed parameter grid — a different job. |
| Cross-batch synthesis, or a new expert's first classification batch if invoked from ad-ideator-classify | claude-fable-5 (Fable 5) via OpenRouter — ceiling only, requires justification | 2× cost of Opus 4.8. Mandatory 30-day data-retention obligation — customer personally identifiable information (PII) sign-off required before any Fable 5 call. Only used when a structural shift is detected that Opus 4.8 cannot reliably synthesise. If routine, Opus 4.8 runs instead and the audit log records the justification for not escalating. |
What goes in, what the concept card field-by-field contains, and what the internal QA gate checks and outputs. The card is the contract — the scripter executes from it, not from the brief.
| Input | What it is |
|---|---|
| Construct Brief (from ad-ideator-classify) | The structured market-analysis output from the classify step. Contains primary and secondary awareness levels with percentages, sophistication score (1–5), avatar archetypes with runway percentages, top five pains and desires with FxI (Frequency × Impact) scores, ranked key objections, a language bank of exact avatar terms, bucket pre-assignments, campaign type (COLD or WARM), and demographic segment. This is the mandatory starting point — ad-ideate will not run without it. |
Positive patterns from active_launch_learnings_for_<expert> (section = 'positive') |
The live Supabase view written by ad-autopsy after each weekly run. Contains positive patterns — which hook frameworks (F1–F12, HT1–HT12, W1–W10) and arc/format combinations have already proven out in live ads for this expert. Read at Step 0.5e. If the view is unreachable, the skill halts (infrastructure failure rule). If it returns empty, the skill proceeds on pure classification selection and logs "No active positive patterns." These patterns can raise a matched framework's allocation weight to HIGH if three or more confirmed instances exist. |
PM avoid-patterns from active_launch_learnings_for_<expert> (section = 'avoid') |
Read at Step 0.5g as part of Foundation Load — before any generation begins. Each row carries a tier: CARDINAL (rare — claim-safety and compliance) or GUIDANCE (the default for most learned patterns). Pre-loading avoids a second Supabase round-trip at QA time (Step 9.5). If Supabase is unreachable with no local fallback and CARDINAL findings exist, the skill halts — running blind on claim-safety findings is worse than halting. Guidance-only gaps are flagged and noted. |
| Voice Book (expert profile from Supabase) | The expert's structured voice profile — avatar terminology, demographic segment markers, proof delivery style. The skill halts at Step 0 if the Voice Book is absent for the expert namespace, because all avatar-specific language in the cards depends on it. Built by ad-voice-profile; read as the expert_profile Supabase row where status = 'current'. |
| Format recommendations from the agent_run Format function | The format mix stamped on the active agent_run record by Format-Hermes (the always-on format agent). This governs what formats appear in the batch — the skill's internal format matrices (Steps 6B–6D) are a validation and variety-check lens, not an override. If no Format function is stamped, the skill derives from the matrices and documents the absence. |
| Proof bank (expert-specific, from Supabase) | The ranked proof entries for the expert — pioneer proof (named students, specific outcomes) and mechanism-level proof. The concept card's Social Proof Bridge (SPB) section names specific proof entries. For IDA (Amelia Fenmore — interior-design business coach), this is proof-bank-ida and the associated proof entries file. The card names proof entries by ID so the scripter can pin them before writing. |
created_by_run_id. Output in batches of 5–10, then a Summary Table. Lives in evals/runs/<batch>/concept-cards.md and Supabase. The operator does not read this directly.| Field | What it means |
|---|---|
| AD ID | Unique identifier for this concept. Format: [BUCKET]-[AVATAR#].[VARIANT]. Bucket codes come from the operator's own classification — never example buckets. Avatar number follows runway rank (PRIMARY=1, SECONDARY=2, NICHE=3+). Variant is sequential within bucket. |
| Strategic Foundation | Avatar target (exact name), runway percentage, awareness level, sophistication score, lead type, campaign type (COLD/WARM), and demographic segment. This block is what ties the card back to the Construct Brief — the scripter can trace every generation decision. |
| Concept Framework | Primary and supporting archetype, angle lens (Identity/Enemy/Mechanism/Outcome/Timeframe), core message (one sentence from the top pain and desire), named mechanism placeholder, bucket, and body angle with rationale. |
| Selection Rationale | Shows the rule for every generation decision — Awareness → Lead Type, Sophistication → Archetype, Pain → Angle, Avatar → Script Framework, Campaign Type → Hook Skill, Demographic → Language Patterns, Bucket source. If the agent_run Format function was used, it is noted here. Required on every card without exception. |
| Hook | Foundation Load confirmation, campaign type, hook skill and framework code (e.g. F7, HT3, W2), niche framework if applicable, exact avatar term used, demographic language applied, visual (first 3 seconds), on-screen text, verbal opening line (must include exact avatar term), Hook Strength Score [X]/8, 8-point breakdown (Y/N for each criterion), niche compliance note. |
| Execution | Format code and name, format category (Video Primary or Hybrid), production complexity, format rationale, body angle with rationale, modular assembly flag (yes/no), visual sequence (0–3s / 3–15s / 15s+), script framework, proof emphasis. |
| Mechanism Teaser | The Three Nots + Positive structure: three things the mechanism does NOT require (from real objections in the Construct Brief), followed by one positive statement of what it does use. At TEASER level, no mechanism phases, step names, or proprietary method elements appear. |
| Social Proof Bridge (SPB) | The social proof stack instruction. Names specific proof entries by name and entry ID. Includes the stack format (no connective tissue between entries — bare stacking), the minimum number of entries, and any ICP diversity instruction. Non-negotiable: no card may leave this blank. |
| Why This Combination | One to two sentences of strategic logic explaining why this specific arc, angle, format, and proof selection work together for this avatar at this awareness level. |
| created_by_run_id | The agent_run ID stamped on every card. Every kill decision and flag decision in QA (Step 9.5) carries the same ID, providing a full trace from concept to audit row. |
Hard kills (fail = concept dead, replacement regenerated, cap 3 attempts per slot):
| Check | What it tests |
|---|---|
| C1 — Hook open loop | Does the hook create an unanswered question, incomplete reveal, or unresolved tension that forces the viewer to keep watching? A hook that makes a complete statement with no open element fails. Not metric-driven — hook-rate percentages are not used here. |
| C2 — Avatar specificity | Does it name the exact person using language from the Language Bank? Every avatar descriptor must appear verbatim or as a close synonym. Generic labels ("women over 40", "entrepreneurs") fail. |
| C3 — Proof verifiability | Two layers: (a) does the claimed proof entry exist in expert_proof_bank_for_<expert>? (b) does the number fall within believable ranges for this niche (ad-scripter-reference Part 2)? A result outside credible range fails even if documented. A result with no supporting proof type cited also fails. |
| C4 — Mechanism protection | Does it tease the WHAT without revealing the HOW? Scan for sequence words (first/second/then/step), phase language (phase 1/phase 2), and explicit method disclosure ("the reason it works is…"). Any present = fail. |
| CARDINAL PM findings | Rare — claim-safety and compliance constraints from active_launch_learnings_for_<expert> (section='avoid', tier='CARDINAL'). Treated exactly like C1–C4: violation kills and regenerates. Specific finding cited in the verdict table. |
Quality flags (fail = concept surfaces with flag attached; operator reviews before scripting):
| Check | What it tests |
|---|---|
| C5 — Voice match | Does the concept card read like the expert talking, or a copywriter writing? Assessed against the Voice Book from expert_profile. A flagged concept surfaces — the specific line that breaks voice is called out so the scripter knows where to fix it. |
| C6 — Creative surprise | Run once across the full surviving batch by Opus 4.8. Flags if the batch converges on the same emotional register or structural pattern. Notes what creative register is missing. A flagged concept still proceeds. |
| GUIDANCE PM findings | The default tier for most learned patterns — quality guidance, not claim-safety. Concepts that match a GUIDANCE finding surface with the flag attached. The scripter sees it; the operator decides before scripting begins. Never auto-kills on guidance. |
Batch-level check (runs after all individual cards):
| Check | Pass condition |
|---|---|
| Awareness distribution | Matches the Construct Brief allocation. |
| Archetype distribution | Matches the Construct Brief allocation. |
| Proof uniqueness | No proof element repeated across the batch. |
| Format variety | 8+ unique formats across the batch; no single format more than 3 times. A strong concept is not killed for a format distribution problem — the flag tells the operator which format to swap. |
| Freshness | At least 20% of surfaced concepts feel non-formulaic. If the batch could have been generated by a lookup table alone, it has failed this check. |
| Column | What it means |
|---|---|
| Concept ID | The card identifier (e.g. CON-001). |
| Hook (C1) | PASS or FAIL. FAIL = dead, replacement generated. |
| Avatar (C2) | PASS or FAIL. FAIL = dead, replacement generated. |
| Proof (C3) | PASS or FAIL (two-layer). FAIL = dead, replacement generated. |
| Mech (C4) | PASS or FAIL. FAIL = dead, replacement generated. |
| PM | PASS = no PM match. FLAG = matched a GUIDANCE finding (card proceeds, flag attached). FAIL = matched a CARDINAL finding (dead, replacement generated, finding cited). — = not run (card already killed at a hard gate). |
| Voice (C5) | PASS or FLAG (specific offending line called out). Flagged concept proceeds. |
| Surprise (C6) | — on most cards. FLAG appears on one or more cards when the batch converges. Flagged concepts proceed. |
| Verdict | CLEARED = passed all hard gates and PM checks. KILLED — [reason] = failed at least one. Subsequent checks not run on a killed card. |
| Field | What it means |
|---|---|
| Title | "Ad ideas for [expert] — do these sound good?" |
| Subtitle | "[N] ideas for this batch. Read each in a couple of seconds. Tick the ones worth writing." |
| Idea rows | One or two plain sentences per surfaced concept. Warm second-person. No archetype names, no framework codes, no awareness labels, no jargon. Describes what it would feel like to watch the ad, not what structure it has. Example: "For the person stuck in a job they don't love: you don't need to blow up your life, you just need to start using the taste you already have." — not "Identity Play × Problem-Solution / IDENTITY angle / F7 Paradox Hook." |
| Tag | Below each idea: "Angle: [plain-English angle] · checks passed". The phrase "checks passed" confirms the card cleared the internal QA gate. Flags stay in the agent markdown — they do not appear in the HTML. |
| Ship line | Tells the operator the exact verb to use to approve and move to ad-scripter-write. |
| Footer | One line: the full concept cards and QA results run underneath in markdown, for the scripter. |
| Field | What it means |
|---|---|
| agent_name | Always 'ad-ideate'. One run covers generation (Steps 0–9) and the internal QA gate (Step 9.5) — not two separate rows. |
| triggered_by | The slash command or user input that started the run. |
| expert_namespace | The expert slug for this run (e.g. 'ida' for Amelia Fenmore). |
| status | success = all concepts generated, QA complete, dual output emitted. partial = volume target partially met (regeneration cap reached on some slots, or optional steps skipped). halted = required input missing, expert_profile absent, or Supabase unreachable with CARDINAL PM gap and no fallback. failed = run failed mid-execution. |
| status_detail | One-line reason for any non-success status. |
| created_by_run_id | Stamped on every concept card, kill decision, and flag decision — full trace from output to the run that produced it. |
Every concept card must include: arc, angle, primary objection, ICP tier, format from the recommended mix, mechanism reveal level, Social Proof Bridge (SPB), selection rationale, hook framework code, Hook Strength Score 6+/8, created_by_run_id.
Every concept card must not include: forbidden words from the scripter-polish list; named mechanism phases, step names, or proprietary method elements at TEASER reveal level.
The concept card below is the real frozen eval artifact from the 2026-06-10 depth eval. The internal QA verdict that follows it is constructed — the checks are representative of what the system would run in production. Both are labelled.
CONCEPT CARD Expert: Amelia Fenmore / IDA Mode: PIONEER Format: Standard DTC Arc: Negative Elimination Angle: Too old / too late to start something new Primary Objection: Age — "I'm [50+], it's too late to start over" ICP Tier: T1 — Full-time employees, near-retirees, burned-out professionals Mechanism Reveal: TEASER HOOK DIRECTION Open with the age objection directly. Name the specific age range. The viewer must recognise themselves in the first sentence. PAIN POINT Stack two or three things they've probably tried or been told to try — that haven't worked because none of them account for the asset they already have (life experience). TURNING POINT Introduce Alexander Hayes (T1, Pioneer #03). Age 55, laid off after 30 years in sales. Use the Hard Landing Repeat on "30 years." Real number result. MECHANISM TEASER Three Nots + Positive. The approach doesn't require: a degree, a following, starting a business from scratch. It's built around the one skill experience makes better. SOCIAL PROOF BRIDGE Three T1 Pioneers stacked with no connective tissue. Include James Mitchell (T1, Pioneer #05) and at least one more. CTA Soft. Free training link. Callback to hook: the age isn't the problem, the vehicle is.
--- STEP 9.5: INTERNAL QA GATE ---
agent_run: ad-ideate / run_id=AID-20260611-001
PM checklist pre-loaded at Step 0.5g:
active_launch_learnings_for_ida (section='avoid'): 8 rows — 1 CARDINAL / 7 GUIDANCE
Check routing:
C1 (Hook open loop): Sonnet 4.6 — standard structure
C2 (Avatar specificity): Deterministic string match — Language Bank
C3 (Proof verifiability): Deterministic — record lookup + plausibility range
C4 (Mechanism protection): Deterministic — keyword scan
PM checks: Deterministic — binary match, 8 rows (1 CARDINAL / 7 GUIDANCE)
C5 (Voice match): Sonnet 4.6 — standard Voice Book loaded, IDA has 14 winning ads
C6 (Creative surprise): Opus 4.8 — batch-level (single-card batch; synthesis limited)
VERDICT TABLE
| Concept ID | Hook (C1) | Avatar (C2) | Proof (C3) | Mech (C4) | PM | Voice (C5) | Surprise (C6) | Verdict |
|------------|-----------|-------------|-----------|-----------|------|-----------|--------------|---------|
| sw-tc001 | PASS | PASS | PASS | PASS | PASS | PASS | — | CLEARED |
C1 — Hook open loop: PASS
The hook opens with the age objection directly — names the specific age range.
Open loop: the viewer hears their exact situation named but gets no resolution.
They must keep watching to find out if there is a way through. No complete statement. PASS.
C2 — Avatar specificity: PASS
"Full-time employees, near-retirees, burned-out professionals" — all three descriptors
present verbatim in the Construct Brief Language Bank. No generic demographic labels. PASS.
C3 — Proof verifiability: PASS
Layer a — Proof entry existence: Alexander Hayes (Pioneer #03) and James Mitchell
(Pioneer #05) confirmed in expert_proof_bank_for_ida.
Layer b — Plausibility range: No specific revenue figure on card at this stage
(number selected at scripting from pinned proof entry). No range failure. PASS.
C4 — Mechanism protection: PASS
Zero sequence words, zero phase language, zero method disclosure found.
Teaser ("the one skill experience makes better") names the what, not the how. PASS.
PM checks — 8 rows (1 CARDINAL / 7 GUIDANCE): PASS
CARDINAL row 1 — "detox protocol": not applicable to this concept. PASS.
GUIDANCE rows 2–8 — no violations. PASS across all rows.
C5 — Voice match: PASS
Voice Book loaded (IDA, current). Direct address without filler, challenge-then-empathise
structure, concrete specificity (named person, named prior career, named age).
Card reads like Amelia Fenmore coaching a near-retiree. No lines break voice. PASS.
C6 — Creative surprise: —
Single-card batch. Cross-batch pattern recognition not applicable. Deferred.
SUMMARY BLOCK
PASS: 1/1 concept cleared. 0 flagged. 0 killed.
PM checks: ran 8 rows (1 CARDINAL / 7 GUIDANCE) against live Supabase view. No violations.
Ready for ad-scripter-write. No operator flags to review.
BATCH-LEVEL RESULT
[PASS] Awareness distribution: Problem Aware (T1 Pioneer). Matches Construct Brief T1 Pioneer slot.
[PASS] Archetype distribution: Negative Elimination arc, T1 burned-out professional. Matches brief.
[PASS] Proof uniqueness: 2 distinct entries (Hayes #03, Mitchell #05). No repeats.
[FLAG] Format variety: 1 unique format (Standard DTC) — full check requires full batch (8+ target). Single-card eval; deferred.
[FLAG] Freshness: single-card batch — cross-batch freshness assessment not possible. Run full batch for Opus 4.8 synthesis.
--- AGENT_RUN CLOSE ---
run_id: AID-20260611-001 | agent_name: ad-ideate
status: success
status_detail: All checks ran. Batch-level flags deferred — single-card batch limits Check 6
synthesis and format-variety check. Not a partial; these checks require a
multi-card batch by design.
cleared: 1 | killed: 0 | flagged: 0 | PM rows checked: 8 (1 CARDINAL / 7 GUIDANCE)
model calls: Sonnet 4.6 (C1 hook, Step 0.5 Foundation Load, C5 voice) — 3 calls via OpenRouter.
Opus 4.8 (Steps 8B/9 card generation, C6 batch synthesis) — 2 calls via OpenRouter.
ad-scripter-write. A single FAIL on any hard gate or CARDINAL PM row would have killed the concept and triggered a replacement generation (cap 3 attempts/slot). Quality flags (C5, C6, GUIDANCE PM) travel with the cleared concept into scripting — the scripter sees them and addresses them. Batch-level flags are distribution notes for the operator, not per-concept kills. The single agent_run row covers the whole run — generation through QA — with agent_name: 'ad-ideate'.Every abbreviation spelled out in full with contextual grounding. A reviewer must understand these cold — no prior context assumed.
| Term | In full / what it means |
|---|---|
| IDA | Expert namespace for Amelia Fenmore — an interior-design business coach. Her Meta ads drive cold top-of-funnel (TOF) traffic to a free training, which converts to booked sales calls. The expert namespace in all Supabase rows is ida. Her Pioneer proof entries are named individuals — Alexander Hayes, James Mitchell, Sophia Patel, and others — who appear by name on concept cards in the Turning Point and Social Proof Bridge fields. |
| ICP | Ideal Customer Profile — The specific type of person the ad is written for. In IDA's case, the primary ICP tier (T1) is full-time employees, near-retirees, and burned-out professionals looking to transition into interior-design consulting. The ICP tier on a concept card tells the scripter which avatar language, which pain stack, and which proof entries to use. |
| CPBC | Cost Per Booked Call — How much money was spent on Meta ads to get one person to book a sales call with Amelia Fenmore. The primary success metric for IDA cold traffic. A concept card that performs well produces a low CPBC. The target threshold lives in the expert_config Supabase row. |
| CPL | Cost Per Lead — How much money was spent to get one person to register for the free training. Used as an early-signal proxy when CPBC data is not yet available. |
| Arc | Emotional arc — The structural emotional journey an ad takes the viewer through. The five named arcs: (1) Gatekeeping Reveal — you have been blocked from information that was always yours; (2) Negative Elimination — stack everything that does not work, land on the one thing that does; (3) Overwhelm-to-System — everything feels impossible, here is the framework that makes it simple; (4) Direct Callout — name the exact person directly with no softening; (5) Income-First Curiosity — specific income claim, make the viewer want to know how, reveal the path. The arc is set in ad-ideator-classify and carried forward onto the concept card. The arc (the emotional journey) is a different object from the archetype (the narrative structure used to execute it, e.g. Transformation Story, Identity Play, Demonstration). |
| Angle | Creative angle — The specific entry point or framing that makes this concept different from a direct pitch. Derived deterministically from the top pain/desire theme: Identity (escape a current state), Enemy (external skepticism to overcome), Mechanism (how it works), Outcome (results achieved), or Timeframe (speed and urgency). The angle tells the scripter where to open the ad. |
| SPB | Social Proof Bridge — The section of an ad that spans the gap between the mechanism teaser and the call to action by stacking named Pioneer proof entries. Non-negotiable — no concept card and no script may omit it. The stack is structured with no connective tissue between entries (bare stacking). Named on the concept card so the scripter knows exactly which proof entries to use. |
| Pioneer | Pioneer mode — The operating mode used when the expert has no (or limited) own live Meta ad performance data. In Pioneer mode, framework selection draws on competitor intelligence rather than the expert's own winning ads. IDA's first batches all ran in Pioneer mode. |
| Iteration | Iteration mode — The operating mode used when the expert has enough live performance data to classify winners and losers. In Iteration mode, positive patterns from ad-autopsy carry VALIDATED weight — they come from the expert's own live Meta ads, not competitor inference. |
| PM | Post-Mortem finding — A learned pattern written by ad-autopsy into the active_launch_learnings_for_<expert> Supabase view (section = 'avoid'). Each row carries a tier: CARDINAL (claim-safety/compliance — hard kill on match) or GUIDANCE (quality learning — flag on match, concept proceeds). The PM column in the verdict table reflects this two-tier system. Previously called "Negative Constraint (NC)" in the old dossiers — the CARDINAL/GUIDANCE reframe is the current model. |
| CARDINAL | CARDINAL PM finding tier — The rare, high-stakes tier. Claim-safety and compliance violations: advertising regulations, health claims, income claims that exceed documented proof. A concept matching a CARDINAL finding is killed and a replacement is regenerated (same as failing C1–C4). The specific finding is cited in the verdict table. |
| GUIDANCE | GUIDANCE PM finding tier — The default tier for most learned patterns. Quality guidance derived from prior launch data: what creative directions tended to fatigue, what emotional registers underperformed, what structural patterns repeated too often. A concept matching a GUIDANCE finding surfaces with the flag attached. The operator reviews flags before scripting begins. Never auto-kills on guidance. |
| Mechanism Reveal | Mechanism reveal level — How much of the expert's proprietary method the ad discloses. Three levels: TEASER (hint at the mechanism without naming it — "there's a specific approach" not "Phase 1 of the Interior Design Accelerator"), PARTIAL (name the mechanism but not its internal structure), FULL (reserved for retargeting audiences who already know the expert). Protection of the mechanism is non-negotiable — revealing the steps or phases at TEASER level is a hard violation. |
| Three Nots + Positive | Three Nots + Positive — The Mechanism Teaser structure. Three things the approach does NOT require (chosen from real objections in the Construct Brief), followed by one positive statement of what it does use. The "nots" lower the entry barrier; the positive statement names the unique asset. Named mechanism elements must not appear in any of the four lines. |
| Hard Landing Repeat | Hard Landing Repeat — A scriptwriting technique where a specific number or detail is stated, then immediately re-stated with weight. "30 years in sales. 30 years." The repetition signals significance without commentary. |
| Voice Book | Expert Voice Book — The structured voice profile for the expert, stored as the current row in the expert_profile Supabase view. Contains exact avatar terminology, demographic segment markers, and proof delivery style. Built by ad-voice-profile. Ad-ideate halts at Step 0 if the Voice Book is absent. (The old name "Layer 3 calibration" is deprecated — do not use it.) |
| T1 / T2 | ICP Tier 1 and Tier 2 — The ranked avatar tiers from the Construct Brief. T1 is the primary avatar with the highest runway percentage (60% of concepts by default). T2 is the secondary avatar (30%). For IDA, T1 is full-time employees, near-retirees, and burned-out professionals. T2 specifics are expert-config defined. |
| FxI | Frequency × Impact score — A 1–9 score assigned to each pain and desire in the Construct Brief. Frequency = how often this pain appears in audience research. Impact = how strongly it motivates action. FxI 7–9 (Critical) anchors the hook. FxI 4–6 (Important) supports the body. FxI 1–3 (Minor) is omitted or brief. All message distribution maths in Step 5 are plain-code threshold checks against these scores. |
| TOF / MOF / BOF | Top / Middle / Bottom of Funnel — The three funnel stages. TOF = cold traffic, first exposure (most IDA ads). MOF = people who have already seen content (retargeting). BOF = hot traffic, people who have visited the booking page (highest intent, FULL mechanism reveal may be appropriate). |
| DTC | Direct to Camera — A video ad format where the presenter speaks directly into the camera lens, creating a one-on-one feel. "Standard DTC" is format code V-TH (Talking Head) in the format taxonomy. |
| F1–F12 | Cold traffic core hook frameworks 1 through 12 — The 12 core cold-traffic hook frameworks in ad-hook-generation: Contrarian Claim, Unexpected Outcome, Hidden Truth, Specific Transformation, Identity Callout, Mistake Reveal, Paradox Hook, Question Interrupt, Time Collapse, What If Reframe, Social Proof Lead, Native Story Opening. |
| HT1–HT12 | High-ticket cold traffic hook frameworks 1 through 12 — The 12 high-ticket cold-traffic hook frameworks in ad-hook-generation: Competence Test, Gatekeeper / Velvet Rope, Mechanism Reveal, New Category, Identity Wedge, Cost of Inaction, Borrowed Authority, Confession / Vulnerability Lead, Epiphany Bridge, Investment Reframe, Permission Slip, Dissonance Trigger. For IDA (a high-ticket coaching offer), these are frequently the correct positive-pattern match. |
| W1–W10 | Warm traffic retargeting frameworks 1 through 10 — The 10 warm-traffic hook frameworks in ad-hook-generation. Only relevant for IDA retargeting ads targeting MOF and BOF audiences. |
| HITL | Human in the Loop — The principle that the operator approves every gate in the main creative pipeline in V1. No step executes autonomously. The system captures raw output AND the operator's edited final; the delta is the agentic-performance signal. |
| Hermes | Hermes (autonomous agent layer) — The always-on agent system that maintains the Supabase data layers. Format-Hermes stamps the format mix onto the agent_run record before ad-ideate reads it at Step 6. Curator-Hermes keeps the swipe and competitor layers warm. Voice-Hermes maintains the Voice Book. Ad-ideate reads from Hermes-maintained Supabase views — it does not trigger Hermes runs. |
| Supabase | Supabase (database platform) — The PostgreSQL-based database hosting all data layers of the ad creative system. Ad-ideate reads from Supabase views only at runtime — never from Fibery, Google Drive, or repository files except as a named fallback. |
| OpenRouter | OpenRouter (model routing proxy) — The API gateway through which all language model calls in this system are routed. Provides unified billing, model switching, and per-call logs (model ID, provider, cost) that feed the agent_run audit trail. |
| agent_run | agent_run (Supabase audit table) — The cross-cutting audit table that records every agent run. Ad-ideate opens one row at Step 0 (before reading any input), stamps every concept card and every QA decision with created_by_run_id, and closes the row after dual output is emitted. One row covers generation and QA together. Infrastructure failure — a Supabase read returning an error or empty result where a non-empty result is expected — closes the run as halted immediately; never empty-as-success. |
| PII | Personally Identifiable Information — Any data that can identify a specific individual. Fable 5 has a mandatory 30-day data-retention obligation on all inputs. PII must never be included in a Fable 5 call without explicit operator sign-off. This is why Fable 5 is ceiling-only in this skill. |
| Dual output | Dual output — The two artifacts every /ad-ideate run produces: (a) the heavy agent markdown — full concept cards, verdict table, QA summary, and audit trail, for the scripter and audit record; (b) the plain-English HTML idea list — one or two plain sentences per surfaced concept, with a "checks passed" tag, for the operator to eyeball and approve in seconds. Never merged; never skipped. |