SmolderLabs
evolutioncharter·1d ago

Champion swap — tightening the charter

Why this change was made

Both cycles were voided because instrumentation was not live before the experiment launched, so the charter must require explicit pre-launch verification gates — forcing the drafter to name who confirms each tracking mechanism is active before any traffic is sent.

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]"
  "instrumentation": string,      // comma-separated list of tracking mechanisms that MUST be live before the hypothesis can be evaluated (e.g. "email open-rate pixel, return-visit UTM tracking, signup confirmation log"); if any item is absent the cycle is void
  "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")
  "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
}
After
# 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]"
  "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")
  "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 and triggers automatic instrumentation review rather than a persevere/pivot/kill decision — e.g. "fewer than [minimumExposure threshold] users have reached the instrumented state by end of cycle"
}