Exposure Plans
An Exposure Plan turns a feature spec's hypothesis into an ordered set of reveal levels. Each level adds a visible layer of the product and tests one belief. It answers: what becomes visible, in what order, to whom, under what belief.
Core mental model
- Build ≠ Reveal. The Exposure Plan controls what becomes visible, independent of how the code lands. Default mechanism: build whole, flip layers on with feature flags. Incremental development (no flags, ship each layer as built) is a lighter alternative only when every level exposes to the entire deployment population AND the coding agent maintains context across iterations. The plan suggests a mechanism; engineering owns the final call.
- Each level accumulates. Level 2 includes everything in Level 1. You never remove something that was revealed; you add.
- Each level tests one belief. One clear falsifiable claim per level, written from the user/business perspective, never technical.
- The set of beliefs validated across levels = the spec's hypothesis resolved.
- Audience characterization, not traffic percentages. Describe who is exposed by behavior or role ("active users with 3+ sessions in the last 2 weeks"), never by technical cohort ("10% of traffic").
Terminology (strict)
- Bet / belief / assumption — level-scoped claims. Reserve "hypothesis" for the spec-level hypothesis being resolved.
- Value = desirability + utility: will users want this, use it, get something real from it?
- Viability = will this work for the business (economics, operations, support, legal)?
- Level = one accumulative reveal step that tests one belief.
- Validation = the success criterion for a level: what evidence says "advance", what says "stop".
Language
Write the plan in the same language as the spec. If Spanish spec → entire output in professional neutral Spanish (no voseo: "divide", not "dividí"), including section titles and level names.
Workflow
Step 1 — Locate or confirm the hypothesis
Use the spec's ## Bet / ## Hypothesis sections verbatim if present. If absent, derive an implicit hypothesis in one sentence from the Overview + Success Criteria, show it to the user, and ask them to confirm or correct it before continuing. If proceeding without confirmation, prepend the plan with: > ⚠ Derived hypothesis — confirm before validating. (in the spec's language).
Step 2 — Decompose the hypothesis into sequenced beliefs
Quality bar for a belief:
- Active-voice claim: "Users understand…", "Customers act on…".
- Falsifiable — describable evidence could make the team say "no, this didn't hold".
- User/business framing — not "the system detects patterns correctly" but "users find the detected patterns actionable enough to change what they do next".
- Load-bearing — if belief N fails, belief N+1 is uninterpretable or irrelevant. Order accordingly.
Step 3 — Decide how many levels
- Single-capability feature: 1 level may be enough.
- Typical feature: 2–4 levels.
- Large feature with loosely-coupled modules: up to 5.
- Never exceed 5. If 6+ feel necessary, the feature is too big — say so in open questions and suggest splitting the spec.
Each level must add something user-visible. Not internal polish, not pipeline work.
Step 4 — Write each level
- Level name — what's revealed, from the user's lens. Short.
- What is revealed — concrete list of what's visible, including what is deliberately still dark.
- Belief — the one falsifiable claim this level tests.
- Audience — who is exposed, by behavior or role.
- Duration — typically 1–3 weeks.
- Validation — Advance if: evidence the belief held. Stop if: evidence it didn't.
Keep each level dense and short — grasped in under 30 seconds, no sub-sections.
Step 5 — Reveal mechanism
If the user expressed a preference (flags or incremental), adopt it — binding, don't argue, don't switch silently — but honestly note fit in 2–3 lines (e.g., "incremental was chosen, but Level 2 targets a behavioral sub-cohort which incremental can't deliver").
Otherwise recommend one: feature flags by default; incremental only when no level needs sub-cohort targeting AND the coding agent maintains context across iterations. Name the driver explicitly.
Step 6 — Close
- Parallel validations — viability risks (operational cost at scale, regulatory exposure, partner dynamics) and precondition risks needing non-product investigation alongside the reveal. One or two sentences each.
- Open questions for the product team — what the plan can't resolve alone: audience recruitment constraints, internal team capacity, existing data that could reduce early risk.
Output
Markdown, saved to product/exposure-plans/{YYYY-MM-DD-HHMM}-{spec-slug}.md (timestamp = creation date; revise in place without renaming). No preamble, no closing fluff — the document IS the response.
Anti-patterns
- Levels as audience cohorts. A level is a product layer turning on, not a different group being exposed.
- Technical rollout plans. Recommending the mechanism is in scope; naming flag platforms, canary infra, or deployment rings is not.
- Viability beliefs as levels — they go in Parallel validations.
- More than one belief per level.
- Vague validations. "See how it goes" is not a validation; validations have a concrete threshold and an advance/stop decision.
- Treating the spec's claims as facts. "Users will return weekly" is a belief to test, not a given.
- Mixed languages.
1---2name: exposure-plans3description: How to build an Exposure Plan — an ordered set of accumulative reveal levels that validate a feature's hypothesis layer by layer, each level testing one falsifiable belief. Use when slicing a feature, planning a progressive reveal, designing how to validate a hypothesis in stages, or deciding what to expose to which users in what order.4---56# Exposure Plans78An Exposure Plan turns a feature spec's hypothesis into an ordered set of reveal levels. Each level adds a visible layer of the product and tests one belief. It answers: what becomes visible, in what order, to whom, under what belief.910## Core mental model1112- **Build ≠ Reveal.** The Exposure Plan controls what becomes visible, independent of how the code lands. Default mechanism: build whole, flip layers on with feature flags. Incremental development (no flags, ship each layer as built) is a lighter alternative only when every level exposes to the entire deployment population AND the coding agent maintains context across iterations. The plan suggests a mechanism; engineering owns the final call.13- **Each level accumulates.** Level 2 includes everything in Level 1. You never remove something that was revealed; you add.14- **Each level tests one belief.** One clear falsifiable claim per level, written from the user/business perspective, never technical.15- **The set of beliefs validated across levels = the spec's hypothesis resolved.**16- **Audience characterization, not traffic percentages.** Describe who is exposed by behavior or role ("active users with 3+ sessions in the last 2 weeks"), never by technical cohort ("10% of traffic").1718## Terminology (strict)1920- **Bet / belief / assumption** — level-scoped claims. Reserve "hypothesis" for the spec-level hypothesis being resolved.21- **Value** = desirability + utility: will users want this, use it, get something real from it?22- **Viability** = will this work for the business (economics, operations, support, legal)?23- **Level** = one accumulative reveal step that tests one belief.24- **Validation** = the success criterion for a level: what evidence says "advance", what says "stop".2526## Language2728Write the plan in the same language as the spec. If Spanish spec → entire output in professional neutral Spanish (no voseo: "divide", not "dividí"), including section titles and level names.2930## Workflow3132### Step 1 — Locate or confirm the hypothesis3334Use the spec's `## Bet` / `## Hypothesis` sections verbatim if present. If absent, derive an implicit hypothesis in one sentence from the Overview + Success Criteria, show it to the user, and ask them to confirm or correct it before continuing. If proceeding without confirmation, prepend the plan with: `> ⚠ Derived hypothesis — confirm before validating.` (in the spec's language).3536### Step 2 — Decompose the hypothesis into sequenced beliefs3738Quality bar for a belief:3940- Active-voice claim: "Users understand…", "Customers act on…".41- Falsifiable — describable evidence could make the team say "no, this didn't hold".42- User/business framing — not "the system detects patterns correctly" but "users find the detected patterns actionable enough to change what they do next".43- Load-bearing — if belief N fails, belief N+1 is uninterpretable or irrelevant. Order accordingly.4445### Step 3 — Decide how many levels4647- Single-capability feature: 1 level may be enough.48- Typical feature: 2–4 levels.49- Large feature with loosely-coupled modules: up to 5.50- **Never exceed 5.** If 6+ feel necessary, the feature is too big — say so in open questions and suggest splitting the spec.5152Each level must add something **user-visible**. Not internal polish, not pipeline work.5354### Step 4 — Write each level5556- **Level name** — what's revealed, from the user's lens. Short.57- **What is revealed** — concrete list of what's visible, including what is deliberately still dark.58- **Belief** — the one falsifiable claim this level tests.59- **Audience** — who is exposed, by behavior or role.60- **Duration** — typically 1–3 weeks.61- **Validation** — **Advance if:** evidence the belief held. **Stop if:** evidence it didn't.6263Keep each level dense and short — grasped in under 30 seconds, no sub-sections.6465### Step 5 — Reveal mechanism6667If the user expressed a preference (flags or incremental), adopt it — binding, don't argue, don't switch silently — but honestly note fit in 2–3 lines (e.g., "incremental was chosen, but Level 2 targets a behavioral sub-cohort which incremental can't deliver").6869Otherwise recommend one: **feature flags** by default; **incremental** only when no level needs sub-cohort targeting AND the coding agent maintains context across iterations. Name the driver explicitly.7071### Step 6 — Close7273- **Parallel validations** — viability risks (operational cost at scale, regulatory exposure, partner dynamics) and precondition risks needing non-product investigation alongside the reveal. One or two sentences each.74- **Open questions for the product team** — what the plan can't resolve alone: audience recruitment constraints, internal team capacity, existing data that could reduce early risk.7576## Output7778Markdown, saved to `product/exposure-plans/{YYYY-MM-DD-HHMM}-{spec-slug}.md` (timestamp = creation date; revise in place without renaming). No preamble, no closing fluff — the document IS the response.7980## Anti-patterns8182- Levels as audience cohorts. A level is a product layer turning on, not a different group being exposed.83- Technical rollout plans. Recommending the mechanism is in scope; naming flag platforms, canary infra, or deployment rings is not.84- Viability beliefs as levels — they go in Parallel validations.85- More than one belief per level.86- Vague validations. "See how it goes" is not a validation; validations have a concrete threshold and an advance/stop decision.87- Treating the spec's claims as facts. "Users will return weekly" is a belief to test, not a given.88- Mixed languages.