evolution
charter·1d agoChampion 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.