For engineers and contributors. User-facing documentation lives at /docs.

Output Narrative Structure

Purpose

Standardized structure for what the engine outputs: PMF stage, recommendation, blockers, opportunities, and “one thing this week.” Ensures report and homepage copy match the same language and templates. The canonical structured output is FinalDiagnosisV1; a Public Summary (tweet-ready, max 120 words) is produced by generatePublicSummary(finalDiagnosis) in lib/public-summary.ts.

Tone

  • Direct, calm. No hype, no filler, no consulting tone, no generic advice.
  • Replace vague recommendations with specific behavior shifts. Example: not “Improve positioning clarity” but “Narrow ICP from ‘AI teams’ to ‘YC AI SaaS founders pre-seed.’”
  • Narrative should feel uncomfortable but accurate.

PMF Stage (single owner: CMO / Report 1)

  • Source: discoveryVerdict.verdict.stage (Report 1).
  • Values: Idea Validation | Early Traction | Product-Market Fit | Scaling | Growth.
  • Public language: Use these exact labels in UI and copy. See pmf-stage-definition.md.

Recommendation (single owner: CMO / Report 1)

  • Source: discoveryVerdict.verdict.recommendation (Report 1).
  • Values: Continue | Pause | Kill.
  • Templates:
    • Continue: “Proceed; focus on [next milestone].”
    • Pause: “Pause or narrow scope; resolve [blockers/unknowns] first.”
    • Kill: “Consider stopping or pivoting; evidence suggests poor fit or execution risk.”

Blockers and opportunities

  • Blockers: From discoveryVerdict.blockersToResolve.blockers (and unknowns). Report shows impact and resolution; narrative: “Address: [blocker]” / “Clarify: [unknown].”
  • Opportunities: From discoveryVerdict.advantagesToLeverage and synthesis key opportunities. Narrative: “Leverage: [advantage].”

One thing this week

  • Source: Report 3 oneThingThisWeek (and optional oneThingTimeframe). When Report 3 is not run, can fall back to Report 1 discoveryVerdict.verdict.nextMilestone or focus area.
  • Template: Single actionable sentence, time-bound (e.g. “This week: [action].”). No brag; founder-actionable.

Distribution pattern taxonomy

  • Source: Report 1 component analyses (distribution), Report 2 (distribution relevance). Patterns are labeled (e.g. PLG, content, sales-led); narrative uses “fits your stage” and “early-adopter vs scalable” language from reasoning standards.

Questions the report answers

The report is built to answer a fixed set of questions (where you stand, should you continue/pause/kill, what's blocking you, one thing this week, etc.). For the full list and where each shows up in the report, see product-audience-voice.md. Report sections and narrative should reflect that list so CMO report and marketing tell one story.

Voice

Report and homepage copy should follow the voice rules in product-audience-voice.md: no contrast framing, no triads, no landscaping openers, no confirmational authority. User-facing strings in synthesis and UI should avoid banned patterns so the product sounds consistent and human.

Public narrative alignment

  • Homepage and report must use the same stage names, recommendation values, and “evidence / Verified–Likely–Unknown” framing.
  • Tagline and meta (single source): see product-audience-voice.md and BRAND.md.
  • Public Summary (from generatePublicSummary): PMF stage, confidence, primary risk, one fix this week, short explanation (max 120 words). Used for sharing and case studies.