The 90-Day Growth Control Pilot — Playbook
Status: ADOPTED as the standard commercial onboarding (owner ruling
2026-08-19-A). Source: docs/MIZOKI_SIGNAL_GROWTH_CONTROL_UNIFIED_SYSTEM_r2.0.md
§4.2, reproduced verbatim below. Machinery: contracts/mizoki_contracts/pilot.py
(per-tenant state machine; gate criteria enforced in code — an advance with the
day window unreached or the checklist incomplete is refused with the missing
items named) + the internal /api/v1/pilot/* routes on service-audit-replay.
The pilot-report generator is a skeleton until a real pilot writes verified
numbers — Preview labels flip only on those.
r2.0 §4.2 — verbatim
4.2 The commercial onboarding — the 90-Day Growth Control Pilot (standard, by owner ruling). - Days 1–30 · Observe: connect the agreed stack (Google Ads, Meta, Shopify, GA4, BigQuery), establish baseline data quality, define the target Decision Jobs. Zero changes to live execution. - Days 31–60 · Validate: synthetic-control geo experiments, CATE model calibration, propensity verification, margin reconciliation against the customer's own books. - Days 61–90 · Recommend: fully contextualized decision proposals with complete audit trails, routed through designated human approval, every prediction graded against outcomes.
The pilot rides the Three-Gate Evidence Maturity Framework — approved through Gate 3: Gate 1, demonstrable logic (the live public Signal Factory demo is Gate 1); Gate 2, pilot validation on live systems with calibrated models and verified margin economics; Gate 3, expansion — Level 3/4 execution authority within caps, granted when accuracy, policy, and safety requirements are met on real data. And one alignment that makes the machine self-reinforcing: the pilot that closes a customer is the same machine that produces the verified numbers that flip the public Preview labels. The sales motion and the proof motion are one motion.
Operating the machinery
| Step | Command / route | Gate |
|---|---|---|
| Start a pilot | POST /api/v1/pilot/{tenant}/start {"target_job_ids": ["J-01", …]} |
job ids validated against the J-01…J-06 registry |
| Record evidence | POST /api/v1/pilot/{tenant}/checklist {"phase","item","evidence"} |
evidence REQUIRED — "not measured" is an acceptable honest value, silence is not |
| Advance a phase | POST /api/v1/pilot/{tenant}/advance |
refused (409, items named) unless the day window is reached AND the phase checklist is complete |
| Read state | GET /api/v1/pilot/{tenant} |
— |
| Generate the report skeleton | GET /api/v1/pilot/{tenant}/report |
verified_numbers stays [] until a real pilot writes them |
| Generate the spec'd report (Wave 2 WS-8) | GET /api/v1/pilot/{tenant}/report/{week-n\|day-90} (?format=markdown) — contracts/mizoki_contracts/pilot_report.py per docs/product/PILOT_REPORT_SPEC_v1.md |
assembled from stores only, "no data" rendered literally, ILLUSTRATIVE watermark by evidence class; Day-90 returns the ledger FEEDER (proposed row + readout markdown whose suggested path is docs/pilot/PILOT_READOUT_<tenant>_DAY90_<date>.md, per content_qa rule E(f)) — the ledger is never written |
Checklists enforced in code (mizoki_contracts.pilot.PHASES):
- Observe → Validate:
stack_connected,baseline_data_quality_established,target_decision_jobs_defined - Validate → Recommend:
geo_experiment_registered,cate_calibration_recorded,propensity_verification_recorded,margin_reconciliation_recorded - Recommend → Complete:
decision_proposals_delivered,predictions_graded,pilot_report_generated
Gate artifacts are recorded per phase transition (gate1 standing —
the public Signal Factory demo; gate2 on entering Recommend; gate3 on
completion). The Gate-3 artifact records evaluation inputs and grants
nothing — L3/L4 authority within caps is a human grant on real-data
accuracy/policy/safety criteria, per the Three-Gate framework and the
autonomy-promotion constants (Brier ≤ 0.20, AUC ≥ 0.72, ≥ 2 purchase cycles,
human decision).
Owner inputs on the critical path (report §15 of the completion run):
pilot tenant selection · real config/net_yield_costs.yaml costs ·
config/treasury_constraints.yaml floors/covenants · config/f4_geo_candidates.yaml
geos + caps · creative-asset access for F1 volume.