← Vault Index
Source: frameworks/kit-case-study/01-case-study-context.md

01 — CONTEXT: Case Study Kit

Input definitions, validation rules, gap protocol, reference data routing, and what each mode requires.


Mode 1 Inputs — Create

InputRequiredExampleUsed For
Practice owner identificationYes"Rob Foncannon, Foncannon CPA Group"File naming, header content, voice context
Profession typeYesOne of: cpa, ea, cfp, ria, insurance, attorney, generalDisclaimer selection (see 02-terminology)
Extraction output OR Interview transcriptYes (one or the other)Filled case-study-extraction-template.html (preferred) OR raw Otter/Zoom transcriptSource content for every case study card
Client cardYes if no extractionBrief context about the practice owner — who they are, their business, where they are with youVoice and tone calibration
Brand colorsYesPrimary #0ae7ca, Secondary #043a51, Accent #f94a35Page styling — pulled from practice owner's website or design system. AOS defaults if not provided.
Brand fontsYesHeading: Shippori Mincho B1, Body: BarlowPage styling — pulled from practice owner's website or design system. AOS defaults if not provided.
CTA destination URLYeshttps://foncannontax.com/preliminary-questionnaire/The action button on V1, V2, and the delivery email
Number of storiesYes1, 2, 3+Determines how many case study cards generate per output
Convertri hosting flagYestrue or false (ask if not specified)Triggers Convertri compliance rules (see 02-terminology and 04-quality)
Team member nameNo"Cory"Conditionally generates a team member FAQ card if present

Validation Rules — Mode 1

  1. No production without confirmed profession type. Disclaimer selection cascades from this. Ambiguous values block the run.
  2. No production with [NOT SET] values in the extraction. If the extraction template has unfilled fields, halt and request completion.
  3. No production without a CTA URL. The output is conversion-focused; without a destination, the page has no job. Ask for it; never invent one.
  4. No production without a Convertri flag. Default is to ask; never assume. Convertri rules are non-negotiable when applicable, and applying them when not needed unnecessarily restricts the output.
  5. Brand source must be confirmed. Either the practice owner's website / design system was extracted (preferred), or AOS defaults are explicitly chosen. Never silently apply AOS defaults if the practice owner has their own brand.
  6. Story count must match extraction content. If the extraction has 2 stories, produce 2 case study cards. Do not pad with invented additional stories. Do not collapse two stories into one.
  7. Numbers in the case study must match numbers in the extraction. Verbatim. If the extraction says "$58–60K," the output says "$58–60K." If a number isn't sourced in the extraction, it doesn't appear.
  8. Anonymization posture is confirmed via the table, not invented. V2 transformations follow the Anonymization Table in 02-case-study-terminology.md. New mappings (when a profession or strategy isn't covered) get added to the table during the run and Mode-2'd back into the kit.

Mode 2 Inputs — Improve This Kit

InputRequiredSourceUsed For
TriggerYesOne of: QC failure, manual edit to output, missing check, missing terminology, scope driftDetermines which files to update
Updated outputIf applicableThe hand-corrected V1, V2, or delivery docReplaces / supersedes the relevant golden example (03a/03b/03c)
QC findingsIf applicableSpecific check(s) that failed or should have caught a problemUpdates 04-case-study-quality.md (add check + Common Failure Mode entry)
Process changesIf applicableSteps that were wrong, missing, or in wrong orderUpdates 05-case-study-output-skill.md
New terminologyIf applicableWords or phrases that need lockingUpdates 02-case-study-terminology.md (Terms or Anonymization Table or Forbidden Terms)
New profession or jurisdictionIf applicableNew disclaimer requirementUpdates 02-case-study-terminology.md Disclaimer Templates

Validation Rules — Mode 2

  1. Always read the current kit files before making changes. Never update blindly.
  2. Changes propagate. A golden-example change usually requires output skill and quality checklist updates too.
  3. Never remove a quality check without a documented reason. Quality checks accumulate — each one represents a lesson learned.
  4. Document what changed and why. Append to each file's ## Change Log (markdown) or comment block (HTML).
  5. Golden examples are replaced, not edited. When V1 / V2 / delivery improve, the new versions replace 03a / 03b / 03c. Old versions stay accessible via git history, not as kit files.
  6. Anonymization Table additions require a sanity check. When adding a new mapping (e.g., a new profession archetype), verify it doesn't accidentally identify the featured client. Run the anonymization test before locking the new entry.

Input Priority Hierarchy

When inputs conflict or are ambiguous:

  1. Practice owner's design system wins for visual/brand decisions. AOS defaults only when nothing is provided.
  2. Extraction template wins over transcript for structured data (numbers, strategy names, timelines). Transcript wins for voice patterns and direct phrasing the practice owner uses.
  3. Practice owner's verbal direction wins over any document — they are the authority on their own client's story.
  4. AOS voice (business-aos/reference/core/voice.md) wins over any other tonal reference. Banned words apply regardless of what the practice owner's brand allows.
  5. Convertri compliance wins over visual flexibility when Convertri is the host. CSS variables, mailto links, and separate scripts are forbidden — non-negotiable.
  6. The anonymization test wins over any V1/V2 mapping. If the test fails, anonymize further even if no current mapping covers it (and Mode-2 the new mapping back into the table).

Reference Data Routing

The kit pulls from business-aos/reference/ per the Offer Page kit precedent. Load what each step needs.

Core (load before writing any copy)

FileWhat It ProvidesInforms
business-aos/reference/core/voice.mdBrand vocabulary, tone, cadence, forbidden phrasesEvery section — highest-priority copy reference
business-aos/reference/core/audience.mdWho buys, language patterns, pain pointsHeader, Intro, CTA framing

Brand QC (mandatory gate before delivery)

FileWhat It ProvidesInforms
business-aos/reference/brand/copy-qc.md11 AI-pattern checks (P1/P2/P3 severity)Step 4 in 05-output-skill.md Production Workflow — mandatory before validation

Visual fallback (load only when no practice-owner design system provided)

FileWhat It ProvidesWhen Used
business-aos/reference/brand/visual-style.mdAOS design system — colors, typography, layoutFallback only

Historical reference (read once for context, not per run)

FileWhat It Provides
business-aos/reference/proof/case-studies/sync-tax-arc.mdAdvisor-internal narrative arc style. Not the format this kit produces, but useful for understanding how Kathryn frames engagement narratives at the advisor level.
advisory-os-vault/content/business/marketing/campaigns/proof-gap/proof-gap-briefing-script-v3.mdUpstream methodology — the four trigger questions, the Three Layers, what owners skip.
advisory-os-vault/content/business/marketing/brand/advisoryos-homepage-2026-04-24-snapshot.htmlAuthority OS positioning — where case studies fit in the OS architecture.

Content Filtering — V1 vs. V2 (Audience Boundary)

This kit transforms one extraction into two parallel deliverables with different audiences:

ElementV1 (Named — Approval Required)V2 (Anonymized — Publishable)
Title[CLIENT NAME] — [Story Title][Story Title] (no name placeholder)
IndustrySpecific (e.g., "Real Estate Professional")Archetype (e.g., "High-Performing Sales Professional")
Strategy namesSpecific (e.g., "S-Corporation Conversion")Generic (e.g., "Entity Restructuring")
LocationsIncludedRemoved
Family/business namesIncludedRemoved
Future plansSpecificGeneric
DisclaimerProfession-specific, no anonymization noteProfession-specific, includes anonymization note
Approval blockHTML comment with checklist for client approvalNot present

V1 outputs are pre-publication artifacts. They go to the practice owner for review and to the featured client for approval. Only after written approval does V1 publish.

V2 outputs are publishable on day one. The anonymization test (Could the featured client identify themselves?) is the gate — V2 ships only when the answer is no.

Both versions are produced from the same extraction in the same run. They are not two separate runs. The Anonymization Table in 02-case-study-terminology.md is the canonical mapping between the two.


Gap Protocol

A gap is a required input that is missing or unverified. Gaps are flagged, never filled with assumptions.

Blocking gaps (production halts):

Non-blocking gaps (proceed with flag):

Surfacing gaps:

When a gap is detected, the kit must:

  1. Identify which file or section cannot be fully produced
  2. State the missing input specifically
  3. Suggest where to get it (practice owner / extraction template / AOS defaults)
  4. Halt the affected section until resolved (for blocking) or proceed with [GAP: reason] inline annotation (for non-blocking)

Pre-Build Validation Gate

Before writing any output file, verify all of the following are true:

  1. Profession type set to a valid value
  2. Extraction is complete (no [NOT SET]) OR transcript is provided with all data needed
  3. CTA URL provided
  4. Convertri flag set explicitly
  5. Brand source confirmed (practice-owner system extracted OR AOS-default chosen)
  6. Story count matches extraction
  7. Numbers reconcile across extraction sections
  8. Disclaimer template selected (matches profession type)

If any of the eight is false, halt. Surface the gap. Do not start production.


Change Log

2026-04-27: Initial build via kit-builder Mode 1. Inputs and validation rules derived from case-study-agent.md (Proof Engine project) and the V1/V2 Foncannon goldens. Gap protocol and pre-build gate adapted from kit-blueprint and kit-project-plan precedent. Reference data routing modeled on kit-offer-page.