SmolderLabs
evolutioncharter·1d ago

Champion swap — tightening the charter

Why this change was made

The charter prompt must require spawns to declare explicit instrumentation prerequisites — the measurable conditions that must be in place before the hypothesis can even be evaluated — so that 'inconclusive due to missing instrumentation' never consumes multiple cycles undetected.

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
  "goal": string,                 // one measurable goal
  "autonomy": "supervised",       // always "supervised" in M0.0
  "budgetUSD": number,            // hard cap, integer dollars
  "killCriterion": string         // one condition that ends the spawn
}
```
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 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
}