SmolderLabs
evolutioncharter·1d ago

Champion swap — tightening the charter

Why this change was made

The charter must require a 'cycleZeroChecklist' field listing binary pass/fail readiness checks (acquisition channel live, tracking instrumented, minimum exposure reachable) that must all pass before cycle 0 begins, and must state that any failed check automatically produces a remediation cycle rather than a persevere/pivot/kill decision — preventing the recurring pattern where cycles are consumed without valid data yet still receive persevere verdicts.

What changed

Before
# 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.
After
# Charter

Draft a charter for the following concept.

## Concept

{{concept}}

## Task

Return a single JSON object with the fields below. No prose, no code fence.

### Required fields

- **concept** — name of the concept under test.
- **hypothesis** — a single falsifiable statement tied to one measurable user behaviour (e.g. "At least 30% of enrolled users will complete action X within 7 days"). Must name the behaviour, the metric, and the threshold.
- **goal** — the business outcome a confirmed hypothesis would validate.
- **autonomy** — always `"supervised"`.
- **budgetUSD** — positive integer.
- **killCriterion** — the specific measured outcome that ends the experiment (e.g. "fewer than 5% of users reach step X after 2 full cycles with valid data").
- **minimumExposure** — the minimum number of users who must complete the acquisition step before any cycle result is considered valid (e.g. `25`).
- **acquisitionGate** — one sentence naming (a) the specific channel that will deliver users, and (b) the concrete evidence that confirms the channel is live before any traffic is sent (e.g. "Paid search ad approved and impressions confirmed in dashboard before launch").
- **instrumentationGate** — one sentence naming every tracking mechanism required to evaluate the hypothesis and how each will be verified as active before launch (e.g. "Signup event fires in analytics; open-rate webhook confirmed via test send").
- **cycleZeroChecklist** — an array of binary readiness items, each with a `check` (string description) and `owner` (role responsible for confirming it). Every item must be marked PASS before cycle 0 begins. Example: `[{"check": "Acquisition channel is live and has delivered at least 1 real user", "owner": "Operator"}, {"check": "All hypothesis metrics are being recorded in the analytics dashboard", "owner": "Builder"}]`.
- **voidRule** — must be exactly: `"If any cycleZeroChecklist item is not PASS at cycle start, or if users who reached the measurement state are fewer than minimumExposure at cycle end, the cycle is VOID. A VOID cycle produces only a structured remediation plan naming the specific failed check and the corrective action. No persevere, pivot, or kill decision is permitted until a non-VOID cycle completes."`