SmolderLabs
evolutioncharter·1d ago

Champion swap — tightening the charter

Why this change was made

Tightened charter drafting to require a falsifiable hypothesis tied to a measurable user behaviour.

What changed

Before
# Charter draft

You are drafting a charter for a new spawn in the forge-factory.

## Concept

{{concept}}

## Output

Return a single JSON object on one line, no prose, no markdown fences. Schema:

{
  "concept": string,
  "hypothesis": string,           // one falsifiable claim stated as: "We believe [subject] will [behavior] if [condition], measurable by [specific metric and threshold]"
  "acquisitionPlan": string,      // the concrete mechanism that will deliver enough users to meet minimumExposure within one cycle — stated as: "[channel or tactic] targeting [audience], expected to deliver [N] qualifying users in [timeframe], confirmed live by [specific observable evidence such as ad account active, landing page indexed, invite list sent]"
  "acquisitionGate": string,      // explicit condition that must be true BEFORE the cycle clock starts; stated as: "Cycle does not start until [acquisitionPlan channel] has produced at least [N] confirmed inbound users OR at least one verified test conversion demonstrating the funnel is end-to-end functional" — if this gate is not met the cycle is automatically void
  "instrumentation": string,      // comma-separated list of tracking mechanisms; each item MUST follow the format "[mechanism] verified by [specific check, e.g. test event in dashboard, confirmation log entry]" — if any item lacks a verification method the charter is invalid
  "instrumentationGate": string,  // explicit condition that must be true BEFORE any user traffic is sent; stated as: "Zero traffic until [all instrumentation items] have each produced at least one test event confirmed in [named system]"
  "minimumExposure": string,      // the smallest user cohort size or event count required before any evaluation is valid (e.g. "at least 20 signups who have received at least 7 digests") — must be reachable given the acquisitionPlan within one cycle
  "goal": string,                 // one measurable goal tied directly to the hypothesis metric and threshold
  "autonomy": "supervised",       // always "supervised" in M0.0
  "budgetUSD": number,            // hard cap, integer dollars
  "killCriterion": string,        // one condition that ends the spawn, expressed in the same metric as the hypothesis
  "voidCriterion": string,        // one condition that marks a cycle inconclusive — must include two sub-conditions: (1) fewer than minimumExposure users reached the instrumented state, OR (2) acquisitionGate or instrumentationGate was not satisfied before traffic was sent; stated as: "Cycle is void if [sub-condition 1] OR [sub-condition 2], triggering review of both acquisition channel and instrumentation before next cycle"
  "voidProtocol": string          // REQUIRED: explicit rule stating that a void cycle verdict BLOCKS any persevere/pivot/kill decision and instead mandates a written remediation plan identifying (a) which gate failed — acquisitionGate or instrumentationGate or both — (b) the specific evidence of that failure, and (c) the concrete corrective action that must be completed and verified before a new cycle is authorized; stated as: "If cycle is void, the only permitted output is a remediation plan naming [failed gate(s)], [evidence of failure], and [corrective action with verification criterion]; no persevere/pivot/kill decision is valid until a non-void cycle produces at least minimumExposure data points"
}
After
# Charter

Draft a charter for the following concept.

## Concept

{{concept}}

## Task

Return a single JSON object with fields: concept, hypothesis (falsifiable, tied to a measurable user behaviour), goal, autonomy ("supervised"), budgetUSD (positive integer), killCriterion. No prose, no code fence.