{"openapi":"3.1.0","info":{"title":"Gardenpatch Growth Coaches API","version":"1.0.0","description":"Paid, agent-callable growth coaches for Hermes, OpenClaw, and any x402 client.\n\nPayment is per call over the x402 protocol on eip155:8453.\nAn unpaid request returns HTTP 402 with machine-readable payment requirements;\npay the quoted amount and retry the identical request with an X-PAYMENT header.\n\nStarting price: $0.18 (diagnose_growth). Deep modes: $0.45.\nPricing: diagnose_growth $0.18, design_offer $0.25, rewrite_pricing $0.25, funnel_review $0.25, write_outbound_sequence $0.25, audit_function $0.25, handle_objections $0.45, position_against_alternatives $0.45, plan_capacity $0.45, draft_sop $0.45, rescue_churn $0.45, plan_onboarding $0.25, decide_stack $0.45, map_automation $0.25, scope_role $0.45, map_accountability $0.25.\n\nDiscovery: GET /.well-known/x402 · Catalog: GET /api/v1/agents · Docs: /docs/agents\nOpenClaw/Hermes skill (hardcoded coach catalog): /skills/gardenpatch-x402/SKILL.md"},"servers":[{"url":"https://gardenpatch.xyz"}],"x-discovery":{"ownershipProofs":["0xC5127eD70b48861b85488A45e42D7e473afa2c62"],"skillUrl":"https://gardenpatch.xyz/skills/gardenpatch-x402/SKILL.md"},"paths":{"/api/v1/agents":{"get":{"operationId":"listAgents","summary":"Discover available agents, modes, and prices. Free.","security":[],"responses":{"200":{"description":"Service catalog."}}}},"/api/v1/agents/mary/call":{"post":{"operationId":"call_mary","summary":"Call Mary (Growth strategy). Paid via x402 — from $0.18.","description":"Head growth coach. Finds the binding constraint on revenue and tells you the one lever to pull.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.18","min":"0.18","max":"0.45"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255},"description":"Retry safely. A repeat with the same key, the same payer wallet, and the same body returns the original deliverable and settles nothing further (24h window). Omit it and a key is derived from payer + body for 10 minutes, so a plain retry is still safe."},{"name":"x-gardenpatch-sandbox","in":"header","required":false,"schema":{"type":"string","enum":["1","true"]},"description":"Free sandbox call. Returns a schema-valid sample response for the requested mode — same envelope, same field names, same deliverable shape as a paid call — with `sandbox: true` set. No payment, no X-PAYMENT header, no charge, and no model inference: the body is a fixed sample for the mode, not an answer to your input. Build and test your whole integration against this before funding a wallet. Also accepted as `?sandbox=1`."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"handle_objections"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"position_against_alternatives"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_capacity"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"draft_sop"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rescue_churn"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_onboarding"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"decide_stack"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_automation"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"scope_role"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_accountability"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete. `Idempotent-Replay: true` means this is a stored deliverable from an earlier settled call — you were not charged again.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string"}},"bonuses":{"maxItems":3,"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"maxItems":5,"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"handle_objections"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"objections":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"objection":{"type":"string","description":"What the buyer says out loud."},"what_they_really_mean":{"type":"string","description":"The actual concern underneath. 'Too expensive' is rarely about price."},"response_script":{"type":"string","description":"The words a rep says next. Verbatim, speakable, under 60 words."},"evidence_to_bring":{"type":"string","description":"The proof that makes the response land — a case, a number, a guarantee."},"concession_allowed":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What may be traded if pushed, and what must be won in return. Null if nothing."}},"required":["objection","what_they_really_mean","response_script","evidence_to_bring","concession_allowed"],"additionalProperties":false},"description":"Ordered by how much revenue each objection currently costs them."},"most_expensive_objection":{"type":"string","description":"The one to fix first, and why that one."},"pre_empt":{"type":"string","description":"How to defuse the top objection EARLIER in the process so it never surfaces."},"disqualifiers":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"When an objection means this is not a buyer — stop selling and requalify."}},"required":["objections","most_expensive_objection","pre_empt","disqualifiers"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"position_against_alternatives"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"category":{"type":"string","description":"The category the buyer thinks they are shopping in."},"alternatives":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"alternative":{"type":"string","description":"Include 'do nothing' and 'in-house' where they are real."},"why_buyers_choose_it":{"type":"string","description":"Steel-man it. A weak version of the rival is useless."},"our_wedge":{"type":"string","description":"The specific ground where we win against THIS alternative."},"do_not_compete_on":{"type":"string","description":"The axis to concede rather than fight — usually price or feature count."}},"required":["alternative","why_buyers_choose_it","our_wedge","do_not_compete_on"],"additionalProperties":false}},"positioning_statement":{"type":"string","description":"One sentence their market would repeat back. No adjectives that everyone claims."},"not_for":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string"},"description":"Who this is explicitly not for. Refusing a segment is what makes positioning bite."},"proof_assets_needed":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"The proof that must exist for this position to be believed."},"message_test":{"type":"string","description":"How to test this positioning cheaply in the next two weeks, with the signal to watch."}},"required":["category","alternatives","positioning_statement","not_for","proof_assets_needed","message_test"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_capacity"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_capacity":{"type":"object","properties":{"unit":{"type":"string","description":"What is being delivered, e.g. 'installs' or 'onboarding calls'."},"per_month":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Null if the caller gave no volume to work from."},"basis":{"type":"string","description":"How this was derived — headcount x throughput, or the caller's figure."}},"required":["unit","per_month","basis"],"additionalProperties":false},"demand_scenario":{"type":"object","properties":{"target_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"implied_multiple":{"type":"string","description":"e.g. '2.4x current' — the stretch being asked for."}},"required":["target_per_month","implied_multiple"],"additionalProperties":false},"breakpoints":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","description":"The step in delivery that fails, e.g. 'scheduling' or 'QA'."},"breaks_at":{"type":"string","description":"The volume or condition where it fails, e.g. 'above 90/mo'."},"symptom":{"type":"string","description":"What the business would actually observe when it breaks."},"fix":{"type":"string"},"lead_time":{"type":"string","enum":["days","weeks","months"],"description":"How long the fix takes to land."}},"required":["stage","breaks_at","symptom","fix","lead_time"],"additionalProperties":false},"description":"Ordered by which breaks FIRST, not by severity."},"binding_resource":{"type":"string","description":"The single resource that caps throughput — people, equipment, a person's attention, cash."},"capacity_moves":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"move":{"type":"string"},"type":{"type":"string","enum":["hire","automate","outsource","process","price"]},"adds_capacity_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Rough uplift; null if not estimable."},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["move","type","adds_capacity_pct","monthly_cost_usd"],"additionalProperties":false}},"safe_growth_ceiling":{"type":"string","description":"How much more they can sell TODAY before delivery quality slips. Be specific."}},"required":["current_capacity","demand_scenario","breakpoints","binding_resource","capacity_moves","safe_growth_ceiling"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"draft_sop"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"process_name":{"type":"string"},"owner_role":{"type":"string","description":"The role accountable, not a person's name."},"trigger":{"type":"string","description":"The event that starts this process."},"steps":{"minItems":3,"maxItems":12,"type":"array","items":{"type":"object","properties":{"n":{"type":"integer","minimum":1,"maximum":9007199254740991},"action":{"type":"string","description":"Imperative and unambiguous — no 'handle it appropriately'."},"owner":{"type":"string"},"tool":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Where the work happens; null if tool-agnostic."},"done_when":{"type":"string","description":"The observable condition that proves this step finished."}},"required":["n","action","owner","tool","done_when"],"additionalProperties":false}},"exceptions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"situation":{"type":"string"},"handling":{"type":"string"}},"required":["situation","handling"],"additionalProperties":false},"description":"The cases that would otherwise send someone back to the founder."},"escalation":{"type":"string","description":"Who gets pulled in, and at what threshold."},"kpis":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"target":{"type":"string"}},"required":["name","target"],"additionalProperties":false}},"review_cadence":{"type":"string","description":"How often this SOP itself gets revisited."}},"required":["process_name","owner_role","trigger","steps","exceptions","escalation","kpis","review_cadence"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rescue_churn"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"churn_read":{"type":"string","description":"What is actually causing cancellations, stated plainly."},"at_risk_segments":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"segment":{"type":"string"},"detection_signal":{"type":"string","description":"The observable behaviour that flags this segment early."},"why_they_leave":{"type":"string"},"save_play":{"type":"string","description":"The specific intervention — who does what, when."},"expected_save_rate_pct":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]}},"required":["segment","detection_signal","why_they_leave","save_play","expected_save_rate_pct"],"additionalProperties":false},"description":"Ordered by recoverable revenue, highest first."},"save_economics":{"type":"object","properties":{"ltv_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"cost_to_save_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","description":"Whether saving is worth it at these numbers, and at what point it stops being."}},"required":["ltv_usd","cost_to_save_usd","verdict"],"additionalProperties":false},"do_not_save":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Customers to let churn — mis-sold, mispriced, or unprofitable. Naming these is the job."},"first_intervention":{"type":"string","description":"The one thing to ship this week to stop the bleeding."}},"required":["churn_read","at_risk_segments","save_economics","do_not_save","first_intervention"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_onboarding"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"activation_moment":{"type":"string","description":"The specific moment a customer first gets the value they bought. Everything aims here."},"milestones":{"minItems":3,"maxItems":8,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after purchase. Day 0 is the sale."},"milestone":{"type":"string"},"owner":{"type":"string"},"channel":{"type":"string","enum":["email","call","in_app","sms","human_visit"]},"success_signal":{"type":"string","description":"How you know it landed, observable without asking."}},"required":["day","milestone","owner","channel","success_signal"],"additionalProperties":false}},"risk_signals":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"signal":{"type":"string"},"day_by":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"response":{"type":"string"}},"required":["signal","day_by","response"],"additionalProperties":false},"description":"Silence or behaviour that predicts churn, and what to do when it appears."},"handoff":{"type":"string","description":"Who owns the customer after onboarding ends, and what transfers."},"measure":{"type":"object","properties":{"metric":{"type":"string","description":"The one activation metric to instrument."},"target":{"type":"string"}},"required":["metric","target"],"additionalProperties":false}},"required":["activation_moment","milestones","risk_signals","handoff","measure"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"decide_stack"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"decision":{"type":"string","description":"The decision being made, in one line."},"recommendation":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"options":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"option":{"type":"string"},"approach":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"time_to_value":{"type":"string","enum":["days","weeks","months","quarters"]},"lock_in_risk":{"type":"string","enum":["low","medium","high"]},"agent_readiness":{"type":"string","enum":["api_first","partial_api","ui_only"],"description":"Whether an agent could operate this without a human clicking."}},"required":["option","approach","monthly_cost_usd","time_to_value","lock_in_risk","agent_readiness"],"additionalProperties":false},"description":"Include the option they are currently leaning toward, even to reject it."},"why_this_one":{"type":"string","description":"Why the recommendation beats the runner-up specifically."},"integration_gap":{"type":"string","description":"The tools that should be talking and are not. Usually the real problem."},"migration_path":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string"},"description":"Ordered steps, reversible ones first."},"revisit_trigger":{"type":"string","description":"The measurable condition that should reopen this decision. Not a date."}},"required":["decision","recommendation","options","why_this_one","integration_gap","migration_path","revisit_trigger"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_automation"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"candidates":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"task":{"type":"string"},"runs_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"hours_per_run":{"anyOf":[{"type":"number"},{"type":"null"}]},"approach":{"type":"string","enum":["agent","script","integration","template","keep_human"]},"agent_ready":{"type":"boolean","description":"True only if the data and actions are reachable by API today."},"leverage_score":{"type":"number","minimum":0,"maximum":100,"description":"Hours saved against implementation cost and breakage risk."},"blocker":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What must be true first; null if nothing blocks it."}},"required":["task","runs_per_month","hours_per_run","approach","agent_ready","leverage_score","blocker"],"additionalProperties":false},"description":"Ranked by leverage_score, highest first."},"start_here":{"type":"string","description":"The single automation to build first, and why that order."},"do_not_automate":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Work where automation would cost more than it saves, or break trust."},"estimated_hours_saved_monthly":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["candidates","start_here","do_not_automate","estimated_hours_saved_monthly"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"scope_role"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"role_title":{"type":"string"},"outcome_owned":{"type":"string","description":"The single business outcome this role is accountable for. Not a list of duties."},"verdict":{"type":"string","enum":["hire_human","deploy_agent","hybrid","redistribute","do_not_fill"]},"verdict_rationale":{"type":"string","description":"Why this beats the alternatives at their current stage."},"agent_alternative":{"type":"string","description":"What an agent could take over even if a human is hired. Always answer this."},"scorecard":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"competency":{"type":"string"},"why_it_matters":{"type":"string","description":"Tie it to the outcome, or cut it."},"how_to_test":{"type":"string","description":"A work sample or question that actually discriminates."},"must_have":{"type":"boolean"}},"required":["competency","why_it_matters","how_to_test","must_have"],"additionalProperties":false}},"first_90_days":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["day_30","day_60","day_90"]},"outcome":{"type":"string"}},"required":["window","outcome"],"additionalProperties":false}},"comp_band_usd":{"type":"object","properties":{"low":{"anyOf":[{"type":"number"},{"type":"null"}]},"high":{"anyOf":[{"type":"number"},{"type":"null"}]},"basis":{"type":"string","description":"What this band is benchmarked against. Say if you are guessing."}},"required":["low","high","basis"],"additionalProperties":false},"failure_mode":{"type":"string","description":"The most likely way this hire goes wrong, and the early signal."}},"required":["role_title","outcome_owned","verdict","verdict_rationale","agent_alternative","scorecard","first_90_days","comp_band_usd","failure_mode"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_accountability"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"outcomes":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"outcome":{"type":"string"},"single_owner":{"type":"string","description":"One role. 'The team' is not an owner."},"decision_rights":{"type":"string","description":"What this owner can decide without asking."},"currently_ambiguous":{"type":"boolean"}},"required":["outcome","single_owner","decision_rights","currently_ambiguous"],"additionalProperties":false}},"gaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes nobody owns today."},"overlaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes with two owners — where work stalls politely."},"first_fix":{"type":"string","description":"The one ownership change with the largest unblocking effect."},"ritual":{"type":"string","description":"The meeting or artifact that keeps ownership honest, and its cadence."}},"required":["outcomes","gaps","overlaps","first_fix","ritual"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged. `error` is one of `invalid_json`, `invalid_request` (with an `issues[]` array of `{path, message}`), `unsupported_mode`, or `input_too_large`.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"402":{"description":"Payment required. Retry with an X-PAYMENT header, or send the sandbox header for a free sample."},"404":{"description":"`unknown_agent` — see GET /api/v1/agents for the catalog.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"409":{"description":"`request_in_flight` — an identical request is still running, or the Idempotency-Key belongs to a different payer. Not charged; honour `Retry-After` and retry to collect the deliverable.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"429":{"description":"`rate_limited`. Not charged. Honour the `Retry-After` header.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"500":{"description":"`internal_error`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"502":{"description":"Upstream model failure. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"503":{"description":"`capacity` (temporarily at capacity, honour `Retry-After`) or `payments_not_configured`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}}}}},"/api/v1/agents/reed/call":{"post":{"operationId":"call_reed","summary":"Call Reed (Sales). Paid via x402 — from $0.18.","description":"Sales coach. Offers, pricing, and outbound that actually closes.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.18","min":"0.18","max":"0.45"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255},"description":"Retry safely. A repeat with the same key, the same payer wallet, and the same body returns the original deliverable and settles nothing further (24h window). Omit it and a key is derived from payer + body for 10 minutes, so a plain retry is still safe."},{"name":"x-gardenpatch-sandbox","in":"header","required":false,"schema":{"type":"string","enum":["1","true"]},"description":"Free sandbox call. Returns a schema-valid sample response for the requested mode — same envelope, same field names, same deliverable shape as a paid call — with `sandbox: true` set. No payment, no X-PAYMENT header, no charge, and no model inference: the body is a fixed sample for the mode, not an answer to your input. Build and test your whole integration against this before funding a wallet. Also accepted as `?sandbox=1`."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"handle_objections"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"position_against_alternatives"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_capacity"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"draft_sop"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rescue_churn"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_onboarding"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"decide_stack"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_automation"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"scope_role"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_accountability"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete. `Idempotent-Replay: true` means this is a stored deliverable from an earlier settled call — you were not charged again.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string"}},"bonuses":{"maxItems":3,"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"maxItems":5,"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"handle_objections"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"objections":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"objection":{"type":"string","description":"What the buyer says out loud."},"what_they_really_mean":{"type":"string","description":"The actual concern underneath. 'Too expensive' is rarely about price."},"response_script":{"type":"string","description":"The words a rep says next. Verbatim, speakable, under 60 words."},"evidence_to_bring":{"type":"string","description":"The proof that makes the response land — a case, a number, a guarantee."},"concession_allowed":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What may be traded if pushed, and what must be won in return. Null if nothing."}},"required":["objection","what_they_really_mean","response_script","evidence_to_bring","concession_allowed"],"additionalProperties":false},"description":"Ordered by how much revenue each objection currently costs them."},"most_expensive_objection":{"type":"string","description":"The one to fix first, and why that one."},"pre_empt":{"type":"string","description":"How to defuse the top objection EARLIER in the process so it never surfaces."},"disqualifiers":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"When an objection means this is not a buyer — stop selling and requalify."}},"required":["objections","most_expensive_objection","pre_empt","disqualifiers"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"position_against_alternatives"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"category":{"type":"string","description":"The category the buyer thinks they are shopping in."},"alternatives":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"alternative":{"type":"string","description":"Include 'do nothing' and 'in-house' where they are real."},"why_buyers_choose_it":{"type":"string","description":"Steel-man it. A weak version of the rival is useless."},"our_wedge":{"type":"string","description":"The specific ground where we win against THIS alternative."},"do_not_compete_on":{"type":"string","description":"The axis to concede rather than fight — usually price or feature count."}},"required":["alternative","why_buyers_choose_it","our_wedge","do_not_compete_on"],"additionalProperties":false}},"positioning_statement":{"type":"string","description":"One sentence their market would repeat back. No adjectives that everyone claims."},"not_for":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string"},"description":"Who this is explicitly not for. Refusing a segment is what makes positioning bite."},"proof_assets_needed":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"The proof that must exist for this position to be believed."},"message_test":{"type":"string","description":"How to test this positioning cheaply in the next two weeks, with the signal to watch."}},"required":["category","alternatives","positioning_statement","not_for","proof_assets_needed","message_test"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_capacity"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_capacity":{"type":"object","properties":{"unit":{"type":"string","description":"What is being delivered, e.g. 'installs' or 'onboarding calls'."},"per_month":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Null if the caller gave no volume to work from."},"basis":{"type":"string","description":"How this was derived — headcount x throughput, or the caller's figure."}},"required":["unit","per_month","basis"],"additionalProperties":false},"demand_scenario":{"type":"object","properties":{"target_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"implied_multiple":{"type":"string","description":"e.g. '2.4x current' — the stretch being asked for."}},"required":["target_per_month","implied_multiple"],"additionalProperties":false},"breakpoints":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","description":"The step in delivery that fails, e.g. 'scheduling' or 'QA'."},"breaks_at":{"type":"string","description":"The volume or condition where it fails, e.g. 'above 90/mo'."},"symptom":{"type":"string","description":"What the business would actually observe when it breaks."},"fix":{"type":"string"},"lead_time":{"type":"string","enum":["days","weeks","months"],"description":"How long the fix takes to land."}},"required":["stage","breaks_at","symptom","fix","lead_time"],"additionalProperties":false},"description":"Ordered by which breaks FIRST, not by severity."},"binding_resource":{"type":"string","description":"The single resource that caps throughput — people, equipment, a person's attention, cash."},"capacity_moves":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"move":{"type":"string"},"type":{"type":"string","enum":["hire","automate","outsource","process","price"]},"adds_capacity_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Rough uplift; null if not estimable."},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["move","type","adds_capacity_pct","monthly_cost_usd"],"additionalProperties":false}},"safe_growth_ceiling":{"type":"string","description":"How much more they can sell TODAY before delivery quality slips. Be specific."}},"required":["current_capacity","demand_scenario","breakpoints","binding_resource","capacity_moves","safe_growth_ceiling"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"draft_sop"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"process_name":{"type":"string"},"owner_role":{"type":"string","description":"The role accountable, not a person's name."},"trigger":{"type":"string","description":"The event that starts this process."},"steps":{"minItems":3,"maxItems":12,"type":"array","items":{"type":"object","properties":{"n":{"type":"integer","minimum":1,"maximum":9007199254740991},"action":{"type":"string","description":"Imperative and unambiguous — no 'handle it appropriately'."},"owner":{"type":"string"},"tool":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Where the work happens; null if tool-agnostic."},"done_when":{"type":"string","description":"The observable condition that proves this step finished."}},"required":["n","action","owner","tool","done_when"],"additionalProperties":false}},"exceptions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"situation":{"type":"string"},"handling":{"type":"string"}},"required":["situation","handling"],"additionalProperties":false},"description":"The cases that would otherwise send someone back to the founder."},"escalation":{"type":"string","description":"Who gets pulled in, and at what threshold."},"kpis":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"target":{"type":"string"}},"required":["name","target"],"additionalProperties":false}},"review_cadence":{"type":"string","description":"How often this SOP itself gets revisited."}},"required":["process_name","owner_role","trigger","steps","exceptions","escalation","kpis","review_cadence"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rescue_churn"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"churn_read":{"type":"string","description":"What is actually causing cancellations, stated plainly."},"at_risk_segments":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"segment":{"type":"string"},"detection_signal":{"type":"string","description":"The observable behaviour that flags this segment early."},"why_they_leave":{"type":"string"},"save_play":{"type":"string","description":"The specific intervention — who does what, when."},"expected_save_rate_pct":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]}},"required":["segment","detection_signal","why_they_leave","save_play","expected_save_rate_pct"],"additionalProperties":false},"description":"Ordered by recoverable revenue, highest first."},"save_economics":{"type":"object","properties":{"ltv_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"cost_to_save_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","description":"Whether saving is worth it at these numbers, and at what point it stops being."}},"required":["ltv_usd","cost_to_save_usd","verdict"],"additionalProperties":false},"do_not_save":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Customers to let churn — mis-sold, mispriced, or unprofitable. Naming these is the job."},"first_intervention":{"type":"string","description":"The one thing to ship this week to stop the bleeding."}},"required":["churn_read","at_risk_segments","save_economics","do_not_save","first_intervention"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_onboarding"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"activation_moment":{"type":"string","description":"The specific moment a customer first gets the value they bought. Everything aims here."},"milestones":{"minItems":3,"maxItems":8,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after purchase. Day 0 is the sale."},"milestone":{"type":"string"},"owner":{"type":"string"},"channel":{"type":"string","enum":["email","call","in_app","sms","human_visit"]},"success_signal":{"type":"string","description":"How you know it landed, observable without asking."}},"required":["day","milestone","owner","channel","success_signal"],"additionalProperties":false}},"risk_signals":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"signal":{"type":"string"},"day_by":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"response":{"type":"string"}},"required":["signal","day_by","response"],"additionalProperties":false},"description":"Silence or behaviour that predicts churn, and what to do when it appears."},"handoff":{"type":"string","description":"Who owns the customer after onboarding ends, and what transfers."},"measure":{"type":"object","properties":{"metric":{"type":"string","description":"The one activation metric to instrument."},"target":{"type":"string"}},"required":["metric","target"],"additionalProperties":false}},"required":["activation_moment","milestones","risk_signals","handoff","measure"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"decide_stack"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"decision":{"type":"string","description":"The decision being made, in one line."},"recommendation":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"options":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"option":{"type":"string"},"approach":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"time_to_value":{"type":"string","enum":["days","weeks","months","quarters"]},"lock_in_risk":{"type":"string","enum":["low","medium","high"]},"agent_readiness":{"type":"string","enum":["api_first","partial_api","ui_only"],"description":"Whether an agent could operate this without a human clicking."}},"required":["option","approach","monthly_cost_usd","time_to_value","lock_in_risk","agent_readiness"],"additionalProperties":false},"description":"Include the option they are currently leaning toward, even to reject it."},"why_this_one":{"type":"string","description":"Why the recommendation beats the runner-up specifically."},"integration_gap":{"type":"string","description":"The tools that should be talking and are not. Usually the real problem."},"migration_path":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string"},"description":"Ordered steps, reversible ones first."},"revisit_trigger":{"type":"string","description":"The measurable condition that should reopen this decision. Not a date."}},"required":["decision","recommendation","options","why_this_one","integration_gap","migration_path","revisit_trigger"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_automation"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"candidates":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"task":{"type":"string"},"runs_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"hours_per_run":{"anyOf":[{"type":"number"},{"type":"null"}]},"approach":{"type":"string","enum":["agent","script","integration","template","keep_human"]},"agent_ready":{"type":"boolean","description":"True only if the data and actions are reachable by API today."},"leverage_score":{"type":"number","minimum":0,"maximum":100,"description":"Hours saved against implementation cost and breakage risk."},"blocker":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What must be true first; null if nothing blocks it."}},"required":["task","runs_per_month","hours_per_run","approach","agent_ready","leverage_score","blocker"],"additionalProperties":false},"description":"Ranked by leverage_score, highest first."},"start_here":{"type":"string","description":"The single automation to build first, and why that order."},"do_not_automate":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Work where automation would cost more than it saves, or break trust."},"estimated_hours_saved_monthly":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["candidates","start_here","do_not_automate","estimated_hours_saved_monthly"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"scope_role"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"role_title":{"type":"string"},"outcome_owned":{"type":"string","description":"The single business outcome this role is accountable for. Not a list of duties."},"verdict":{"type":"string","enum":["hire_human","deploy_agent","hybrid","redistribute","do_not_fill"]},"verdict_rationale":{"type":"string","description":"Why this beats the alternatives at their current stage."},"agent_alternative":{"type":"string","description":"What an agent could take over even if a human is hired. Always answer this."},"scorecard":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"competency":{"type":"string"},"why_it_matters":{"type":"string","description":"Tie it to the outcome, or cut it."},"how_to_test":{"type":"string","description":"A work sample or question that actually discriminates."},"must_have":{"type":"boolean"}},"required":["competency","why_it_matters","how_to_test","must_have"],"additionalProperties":false}},"first_90_days":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["day_30","day_60","day_90"]},"outcome":{"type":"string"}},"required":["window","outcome"],"additionalProperties":false}},"comp_band_usd":{"type":"object","properties":{"low":{"anyOf":[{"type":"number"},{"type":"null"}]},"high":{"anyOf":[{"type":"number"},{"type":"null"}]},"basis":{"type":"string","description":"What this band is benchmarked against. Say if you are guessing."}},"required":["low","high","basis"],"additionalProperties":false},"failure_mode":{"type":"string","description":"The most likely way this hire goes wrong, and the early signal."}},"required":["role_title","outcome_owned","verdict","verdict_rationale","agent_alternative","scorecard","first_90_days","comp_band_usd","failure_mode"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_accountability"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"outcomes":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"outcome":{"type":"string"},"single_owner":{"type":"string","description":"One role. 'The team' is not an owner."},"decision_rights":{"type":"string","description":"What this owner can decide without asking."},"currently_ambiguous":{"type":"boolean"}},"required":["outcome","single_owner","decision_rights","currently_ambiguous"],"additionalProperties":false}},"gaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes nobody owns today."},"overlaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes with two owners — where work stalls politely."},"first_fix":{"type":"string","description":"The one ownership change with the largest unblocking effect."},"ritual":{"type":"string","description":"The meeting or artifact that keeps ownership honest, and its cadence."}},"required":["outcomes","gaps","overlaps","first_fix","ritual"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged. `error` is one of `invalid_json`, `invalid_request` (with an `issues[]` array of `{path, message}`), `unsupported_mode`, or `input_too_large`.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"402":{"description":"Payment required. Retry with an X-PAYMENT header, or send the sandbox header for a free sample."},"404":{"description":"`unknown_agent` — see GET /api/v1/agents for the catalog.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"409":{"description":"`request_in_flight` — an identical request is still running, or the Idempotency-Key belongs to a different payer. Not charged; honour `Retry-After` and retry to collect the deliverable.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"429":{"description":"`rate_limited`. Not charged. Honour the `Retry-After` header.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"500":{"description":"`internal_error`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"502":{"description":"Upstream model failure. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"503":{"description":"`capacity` (temporarily at capacity, honour `Retry-After`) or `payments_not_configured`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}}}}},"/api/v1/agents/iris/call":{"post":{"operationId":"call_iris","summary":"Call Iris (Marketing). Paid via x402 — from $0.18.","description":"Marketing coach. Demand generation, funnel conversion, and positioning.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.18","min":"0.18","max":"0.45"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255},"description":"Retry safely. A repeat with the same key, the same payer wallet, and the same body returns the original deliverable and settles nothing further (24h window). Omit it and a key is derived from payer + body for 10 minutes, so a plain retry is still safe."},{"name":"x-gardenpatch-sandbox","in":"header","required":false,"schema":{"type":"string","enum":["1","true"]},"description":"Free sandbox call. Returns a schema-valid sample response for the requested mode — same envelope, same field names, same deliverable shape as a paid call — with `sandbox: true` set. No payment, no X-PAYMENT header, no charge, and no model inference: the body is a fixed sample for the mode, not an answer to your input. Build and test your whole integration against this before funding a wallet. Also accepted as `?sandbox=1`."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"handle_objections"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"position_against_alternatives"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_capacity"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"draft_sop"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rescue_churn"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_onboarding"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"decide_stack"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_automation"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"scope_role"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_accountability"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete. `Idempotent-Replay: true` means this is a stored deliverable from an earlier settled call — you were not charged again.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string"}},"bonuses":{"maxItems":3,"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"maxItems":5,"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"handle_objections"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"objections":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"objection":{"type":"string","description":"What the buyer says out loud."},"what_they_really_mean":{"type":"string","description":"The actual concern underneath. 'Too expensive' is rarely about price."},"response_script":{"type":"string","description":"The words a rep says next. Verbatim, speakable, under 60 words."},"evidence_to_bring":{"type":"string","description":"The proof that makes the response land — a case, a number, a guarantee."},"concession_allowed":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What may be traded if pushed, and what must be won in return. Null if nothing."}},"required":["objection","what_they_really_mean","response_script","evidence_to_bring","concession_allowed"],"additionalProperties":false},"description":"Ordered by how much revenue each objection currently costs them."},"most_expensive_objection":{"type":"string","description":"The one to fix first, and why that one."},"pre_empt":{"type":"string","description":"How to defuse the top objection EARLIER in the process so it never surfaces."},"disqualifiers":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"When an objection means this is not a buyer — stop selling and requalify."}},"required":["objections","most_expensive_objection","pre_empt","disqualifiers"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"position_against_alternatives"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"category":{"type":"string","description":"The category the buyer thinks they are shopping in."},"alternatives":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"alternative":{"type":"string","description":"Include 'do nothing' and 'in-house' where they are real."},"why_buyers_choose_it":{"type":"string","description":"Steel-man it. A weak version of the rival is useless."},"our_wedge":{"type":"string","description":"The specific ground where we win against THIS alternative."},"do_not_compete_on":{"type":"string","description":"The axis to concede rather than fight — usually price or feature count."}},"required":["alternative","why_buyers_choose_it","our_wedge","do_not_compete_on"],"additionalProperties":false}},"positioning_statement":{"type":"string","description":"One sentence their market would repeat back. No adjectives that everyone claims."},"not_for":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string"},"description":"Who this is explicitly not for. Refusing a segment is what makes positioning bite."},"proof_assets_needed":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"The proof that must exist for this position to be believed."},"message_test":{"type":"string","description":"How to test this positioning cheaply in the next two weeks, with the signal to watch."}},"required":["category","alternatives","positioning_statement","not_for","proof_assets_needed","message_test"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_capacity"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_capacity":{"type":"object","properties":{"unit":{"type":"string","description":"What is being delivered, e.g. 'installs' or 'onboarding calls'."},"per_month":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Null if the caller gave no volume to work from."},"basis":{"type":"string","description":"How this was derived — headcount x throughput, or the caller's figure."}},"required":["unit","per_month","basis"],"additionalProperties":false},"demand_scenario":{"type":"object","properties":{"target_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"implied_multiple":{"type":"string","description":"e.g. '2.4x current' — the stretch being asked for."}},"required":["target_per_month","implied_multiple"],"additionalProperties":false},"breakpoints":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","description":"The step in delivery that fails, e.g. 'scheduling' or 'QA'."},"breaks_at":{"type":"string","description":"The volume or condition where it fails, e.g. 'above 90/mo'."},"symptom":{"type":"string","description":"What the business would actually observe when it breaks."},"fix":{"type":"string"},"lead_time":{"type":"string","enum":["days","weeks","months"],"description":"How long the fix takes to land."}},"required":["stage","breaks_at","symptom","fix","lead_time"],"additionalProperties":false},"description":"Ordered by which breaks FIRST, not by severity."},"binding_resource":{"type":"string","description":"The single resource that caps throughput — people, equipment, a person's attention, cash."},"capacity_moves":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"move":{"type":"string"},"type":{"type":"string","enum":["hire","automate","outsource","process","price"]},"adds_capacity_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Rough uplift; null if not estimable."},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["move","type","adds_capacity_pct","monthly_cost_usd"],"additionalProperties":false}},"safe_growth_ceiling":{"type":"string","description":"How much more they can sell TODAY before delivery quality slips. Be specific."}},"required":["current_capacity","demand_scenario","breakpoints","binding_resource","capacity_moves","safe_growth_ceiling"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"draft_sop"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"process_name":{"type":"string"},"owner_role":{"type":"string","description":"The role accountable, not a person's name."},"trigger":{"type":"string","description":"The event that starts this process."},"steps":{"minItems":3,"maxItems":12,"type":"array","items":{"type":"object","properties":{"n":{"type":"integer","minimum":1,"maximum":9007199254740991},"action":{"type":"string","description":"Imperative and unambiguous — no 'handle it appropriately'."},"owner":{"type":"string"},"tool":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Where the work happens; null if tool-agnostic."},"done_when":{"type":"string","description":"The observable condition that proves this step finished."}},"required":["n","action","owner","tool","done_when"],"additionalProperties":false}},"exceptions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"situation":{"type":"string"},"handling":{"type":"string"}},"required":["situation","handling"],"additionalProperties":false},"description":"The cases that would otherwise send someone back to the founder."},"escalation":{"type":"string","description":"Who gets pulled in, and at what threshold."},"kpis":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"target":{"type":"string"}},"required":["name","target"],"additionalProperties":false}},"review_cadence":{"type":"string","description":"How often this SOP itself gets revisited."}},"required":["process_name","owner_role","trigger","steps","exceptions","escalation","kpis","review_cadence"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rescue_churn"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"churn_read":{"type":"string","description":"What is actually causing cancellations, stated plainly."},"at_risk_segments":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"segment":{"type":"string"},"detection_signal":{"type":"string","description":"The observable behaviour that flags this segment early."},"why_they_leave":{"type":"string"},"save_play":{"type":"string","description":"The specific intervention — who does what, when."},"expected_save_rate_pct":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]}},"required":["segment","detection_signal","why_they_leave","save_play","expected_save_rate_pct"],"additionalProperties":false},"description":"Ordered by recoverable revenue, highest first."},"save_economics":{"type":"object","properties":{"ltv_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"cost_to_save_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","description":"Whether saving is worth it at these numbers, and at what point it stops being."}},"required":["ltv_usd","cost_to_save_usd","verdict"],"additionalProperties":false},"do_not_save":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Customers to let churn — mis-sold, mispriced, or unprofitable. Naming these is the job."},"first_intervention":{"type":"string","description":"The one thing to ship this week to stop the bleeding."}},"required":["churn_read","at_risk_segments","save_economics","do_not_save","first_intervention"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_onboarding"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"activation_moment":{"type":"string","description":"The specific moment a customer first gets the value they bought. Everything aims here."},"milestones":{"minItems":3,"maxItems":8,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after purchase. Day 0 is the sale."},"milestone":{"type":"string"},"owner":{"type":"string"},"channel":{"type":"string","enum":["email","call","in_app","sms","human_visit"]},"success_signal":{"type":"string","description":"How you know it landed, observable without asking."}},"required":["day","milestone","owner","channel","success_signal"],"additionalProperties":false}},"risk_signals":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"signal":{"type":"string"},"day_by":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"response":{"type":"string"}},"required":["signal","day_by","response"],"additionalProperties":false},"description":"Silence or behaviour that predicts churn, and what to do when it appears."},"handoff":{"type":"string","description":"Who owns the customer after onboarding ends, and what transfers."},"measure":{"type":"object","properties":{"metric":{"type":"string","description":"The one activation metric to instrument."},"target":{"type":"string"}},"required":["metric","target"],"additionalProperties":false}},"required":["activation_moment","milestones","risk_signals","handoff","measure"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"decide_stack"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"decision":{"type":"string","description":"The decision being made, in one line."},"recommendation":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"options":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"option":{"type":"string"},"approach":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"time_to_value":{"type":"string","enum":["days","weeks","months","quarters"]},"lock_in_risk":{"type":"string","enum":["low","medium","high"]},"agent_readiness":{"type":"string","enum":["api_first","partial_api","ui_only"],"description":"Whether an agent could operate this without a human clicking."}},"required":["option","approach","monthly_cost_usd","time_to_value","lock_in_risk","agent_readiness"],"additionalProperties":false},"description":"Include the option they are currently leaning toward, even to reject it."},"why_this_one":{"type":"string","description":"Why the recommendation beats the runner-up specifically."},"integration_gap":{"type":"string","description":"The tools that should be talking and are not. Usually the real problem."},"migration_path":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string"},"description":"Ordered steps, reversible ones first."},"revisit_trigger":{"type":"string","description":"The measurable condition that should reopen this decision. Not a date."}},"required":["decision","recommendation","options","why_this_one","integration_gap","migration_path","revisit_trigger"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_automation"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"candidates":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"task":{"type":"string"},"runs_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"hours_per_run":{"anyOf":[{"type":"number"},{"type":"null"}]},"approach":{"type":"string","enum":["agent","script","integration","template","keep_human"]},"agent_ready":{"type":"boolean","description":"True only if the data and actions are reachable by API today."},"leverage_score":{"type":"number","minimum":0,"maximum":100,"description":"Hours saved against implementation cost and breakage risk."},"blocker":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What must be true first; null if nothing blocks it."}},"required":["task","runs_per_month","hours_per_run","approach","agent_ready","leverage_score","blocker"],"additionalProperties":false},"description":"Ranked by leverage_score, highest first."},"start_here":{"type":"string","description":"The single automation to build first, and why that order."},"do_not_automate":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Work where automation would cost more than it saves, or break trust."},"estimated_hours_saved_monthly":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["candidates","start_here","do_not_automate","estimated_hours_saved_monthly"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"scope_role"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"role_title":{"type":"string"},"outcome_owned":{"type":"string","description":"The single business outcome this role is accountable for. Not a list of duties."},"verdict":{"type":"string","enum":["hire_human","deploy_agent","hybrid","redistribute","do_not_fill"]},"verdict_rationale":{"type":"string","description":"Why this beats the alternatives at their current stage."},"agent_alternative":{"type":"string","description":"What an agent could take over even if a human is hired. Always answer this."},"scorecard":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"competency":{"type":"string"},"why_it_matters":{"type":"string","description":"Tie it to the outcome, or cut it."},"how_to_test":{"type":"string","description":"A work sample or question that actually discriminates."},"must_have":{"type":"boolean"}},"required":["competency","why_it_matters","how_to_test","must_have"],"additionalProperties":false}},"first_90_days":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["day_30","day_60","day_90"]},"outcome":{"type":"string"}},"required":["window","outcome"],"additionalProperties":false}},"comp_band_usd":{"type":"object","properties":{"low":{"anyOf":[{"type":"number"},{"type":"null"}]},"high":{"anyOf":[{"type":"number"},{"type":"null"}]},"basis":{"type":"string","description":"What this band is benchmarked against. Say if you are guessing."}},"required":["low","high","basis"],"additionalProperties":false},"failure_mode":{"type":"string","description":"The most likely way this hire goes wrong, and the early signal."}},"required":["role_title","outcome_owned","verdict","verdict_rationale","agent_alternative","scorecard","first_90_days","comp_band_usd","failure_mode"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_accountability"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"outcomes":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"outcome":{"type":"string"},"single_owner":{"type":"string","description":"One role. 'The team' is not an owner."},"decision_rights":{"type":"string","description":"What this owner can decide without asking."},"currently_ambiguous":{"type":"boolean"}},"required":["outcome","single_owner","decision_rights","currently_ambiguous"],"additionalProperties":false}},"gaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes nobody owns today."},"overlaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes with two owners — where work stalls politely."},"first_fix":{"type":"string","description":"The one ownership change with the largest unblocking effect."},"ritual":{"type":"string","description":"The meeting or artifact that keeps ownership honest, and its cadence."}},"required":["outcomes","gaps","overlaps","first_fix","ritual"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged. `error` is one of `invalid_json`, `invalid_request` (with an `issues[]` array of `{path, message}`), `unsupported_mode`, or `input_too_large`.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"402":{"description":"Payment required. Retry with an X-PAYMENT header, or send the sandbox header for a free sample."},"404":{"description":"`unknown_agent` — see GET /api/v1/agents for the catalog.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"409":{"description":"`request_in_flight` — an identical request is still running, or the Idempotency-Key belongs to a different payer. Not charged; honour `Retry-After` and retry to collect the deliverable.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"429":{"description":"`rate_limited`. Not charged. Honour the `Retry-After` header.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"500":{"description":"`internal_error`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"502":{"description":"Upstream model failure. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"503":{"description":"`capacity` (temporarily at capacity, honour `Retry-After`) or `payments_not_configured`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}}}}},"/api/v1/agents/oak/call":{"post":{"operationId":"call_oak","summary":"Call Oak (Operations). Paid via x402 — from $0.18.","description":"Operations coach. Delivery capacity, process debt, and the systems that run without you.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.18","min":"0.18","max":"0.45"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255},"description":"Retry safely. A repeat with the same key, the same payer wallet, and the same body returns the original deliverable and settles nothing further (24h window). Omit it and a key is derived from payer + body for 10 minutes, so a plain retry is still safe."},{"name":"x-gardenpatch-sandbox","in":"header","required":false,"schema":{"type":"string","enum":["1","true"]},"description":"Free sandbox call. Returns a schema-valid sample response for the requested mode — same envelope, same field names, same deliverable shape as a paid call — with `sandbox: true` set. No payment, no X-PAYMENT header, no charge, and no model inference: the body is a fixed sample for the mode, not an answer to your input. Build and test your whole integration against this before funding a wallet. Also accepted as `?sandbox=1`."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"handle_objections"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"position_against_alternatives"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_capacity"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"draft_sop"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rescue_churn"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_onboarding"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"decide_stack"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_automation"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"scope_role"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_accountability"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete. `Idempotent-Replay: true` means this is a stored deliverable from an earlier settled call — you were not charged again.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string"}},"bonuses":{"maxItems":3,"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"maxItems":5,"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"handle_objections"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"objections":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"objection":{"type":"string","description":"What the buyer says out loud."},"what_they_really_mean":{"type":"string","description":"The actual concern underneath. 'Too expensive' is rarely about price."},"response_script":{"type":"string","description":"The words a rep says next. Verbatim, speakable, under 60 words."},"evidence_to_bring":{"type":"string","description":"The proof that makes the response land — a case, a number, a guarantee."},"concession_allowed":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What may be traded if pushed, and what must be won in return. Null if nothing."}},"required":["objection","what_they_really_mean","response_script","evidence_to_bring","concession_allowed"],"additionalProperties":false},"description":"Ordered by how much revenue each objection currently costs them."},"most_expensive_objection":{"type":"string","description":"The one to fix first, and why that one."},"pre_empt":{"type":"string","description":"How to defuse the top objection EARLIER in the process so it never surfaces."},"disqualifiers":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"When an objection means this is not a buyer — stop selling and requalify."}},"required":["objections","most_expensive_objection","pre_empt","disqualifiers"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"position_against_alternatives"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"category":{"type":"string","description":"The category the buyer thinks they are shopping in."},"alternatives":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"alternative":{"type":"string","description":"Include 'do nothing' and 'in-house' where they are real."},"why_buyers_choose_it":{"type":"string","description":"Steel-man it. A weak version of the rival is useless."},"our_wedge":{"type":"string","description":"The specific ground where we win against THIS alternative."},"do_not_compete_on":{"type":"string","description":"The axis to concede rather than fight — usually price or feature count."}},"required":["alternative","why_buyers_choose_it","our_wedge","do_not_compete_on"],"additionalProperties":false}},"positioning_statement":{"type":"string","description":"One sentence their market would repeat back. No adjectives that everyone claims."},"not_for":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string"},"description":"Who this is explicitly not for. Refusing a segment is what makes positioning bite."},"proof_assets_needed":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"The proof that must exist for this position to be believed."},"message_test":{"type":"string","description":"How to test this positioning cheaply in the next two weeks, with the signal to watch."}},"required":["category","alternatives","positioning_statement","not_for","proof_assets_needed","message_test"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_capacity"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_capacity":{"type":"object","properties":{"unit":{"type":"string","description":"What is being delivered, e.g. 'installs' or 'onboarding calls'."},"per_month":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Null if the caller gave no volume to work from."},"basis":{"type":"string","description":"How this was derived — headcount x throughput, or the caller's figure."}},"required":["unit","per_month","basis"],"additionalProperties":false},"demand_scenario":{"type":"object","properties":{"target_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"implied_multiple":{"type":"string","description":"e.g. '2.4x current' — the stretch being asked for."}},"required":["target_per_month","implied_multiple"],"additionalProperties":false},"breakpoints":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","description":"The step in delivery that fails, e.g. 'scheduling' or 'QA'."},"breaks_at":{"type":"string","description":"The volume or condition where it fails, e.g. 'above 90/mo'."},"symptom":{"type":"string","description":"What the business would actually observe when it breaks."},"fix":{"type":"string"},"lead_time":{"type":"string","enum":["days","weeks","months"],"description":"How long the fix takes to land."}},"required":["stage","breaks_at","symptom","fix","lead_time"],"additionalProperties":false},"description":"Ordered by which breaks FIRST, not by severity."},"binding_resource":{"type":"string","description":"The single resource that caps throughput — people, equipment, a person's attention, cash."},"capacity_moves":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"move":{"type":"string"},"type":{"type":"string","enum":["hire","automate","outsource","process","price"]},"adds_capacity_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Rough uplift; null if not estimable."},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["move","type","adds_capacity_pct","monthly_cost_usd"],"additionalProperties":false}},"safe_growth_ceiling":{"type":"string","description":"How much more they can sell TODAY before delivery quality slips. Be specific."}},"required":["current_capacity","demand_scenario","breakpoints","binding_resource","capacity_moves","safe_growth_ceiling"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"draft_sop"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"process_name":{"type":"string"},"owner_role":{"type":"string","description":"The role accountable, not a person's name."},"trigger":{"type":"string","description":"The event that starts this process."},"steps":{"minItems":3,"maxItems":12,"type":"array","items":{"type":"object","properties":{"n":{"type":"integer","minimum":1,"maximum":9007199254740991},"action":{"type":"string","description":"Imperative and unambiguous — no 'handle it appropriately'."},"owner":{"type":"string"},"tool":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Where the work happens; null if tool-agnostic."},"done_when":{"type":"string","description":"The observable condition that proves this step finished."}},"required":["n","action","owner","tool","done_when"],"additionalProperties":false}},"exceptions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"situation":{"type":"string"},"handling":{"type":"string"}},"required":["situation","handling"],"additionalProperties":false},"description":"The cases that would otherwise send someone back to the founder."},"escalation":{"type":"string","description":"Who gets pulled in, and at what threshold."},"kpis":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"target":{"type":"string"}},"required":["name","target"],"additionalProperties":false}},"review_cadence":{"type":"string","description":"How often this SOP itself gets revisited."}},"required":["process_name","owner_role","trigger","steps","exceptions","escalation","kpis","review_cadence"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rescue_churn"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"churn_read":{"type":"string","description":"What is actually causing cancellations, stated plainly."},"at_risk_segments":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"segment":{"type":"string"},"detection_signal":{"type":"string","description":"The observable behaviour that flags this segment early."},"why_they_leave":{"type":"string"},"save_play":{"type":"string","description":"The specific intervention — who does what, when."},"expected_save_rate_pct":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]}},"required":["segment","detection_signal","why_they_leave","save_play","expected_save_rate_pct"],"additionalProperties":false},"description":"Ordered by recoverable revenue, highest first."},"save_economics":{"type":"object","properties":{"ltv_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"cost_to_save_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","description":"Whether saving is worth it at these numbers, and at what point it stops being."}},"required":["ltv_usd","cost_to_save_usd","verdict"],"additionalProperties":false},"do_not_save":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Customers to let churn — mis-sold, mispriced, or unprofitable. Naming these is the job."},"first_intervention":{"type":"string","description":"The one thing to ship this week to stop the bleeding."}},"required":["churn_read","at_risk_segments","save_economics","do_not_save","first_intervention"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_onboarding"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"activation_moment":{"type":"string","description":"The specific moment a customer first gets the value they bought. Everything aims here."},"milestones":{"minItems":3,"maxItems":8,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after purchase. Day 0 is the sale."},"milestone":{"type":"string"},"owner":{"type":"string"},"channel":{"type":"string","enum":["email","call","in_app","sms","human_visit"]},"success_signal":{"type":"string","description":"How you know it landed, observable without asking."}},"required":["day","milestone","owner","channel","success_signal"],"additionalProperties":false}},"risk_signals":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"signal":{"type":"string"},"day_by":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"response":{"type":"string"}},"required":["signal","day_by","response"],"additionalProperties":false},"description":"Silence or behaviour that predicts churn, and what to do when it appears."},"handoff":{"type":"string","description":"Who owns the customer after onboarding ends, and what transfers."},"measure":{"type":"object","properties":{"metric":{"type":"string","description":"The one activation metric to instrument."},"target":{"type":"string"}},"required":["metric","target"],"additionalProperties":false}},"required":["activation_moment","milestones","risk_signals","handoff","measure"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"decide_stack"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"decision":{"type":"string","description":"The decision being made, in one line."},"recommendation":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"options":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"option":{"type":"string"},"approach":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"time_to_value":{"type":"string","enum":["days","weeks","months","quarters"]},"lock_in_risk":{"type":"string","enum":["low","medium","high"]},"agent_readiness":{"type":"string","enum":["api_first","partial_api","ui_only"],"description":"Whether an agent could operate this without a human clicking."}},"required":["option","approach","monthly_cost_usd","time_to_value","lock_in_risk","agent_readiness"],"additionalProperties":false},"description":"Include the option they are currently leaning toward, even to reject it."},"why_this_one":{"type":"string","description":"Why the recommendation beats the runner-up specifically."},"integration_gap":{"type":"string","description":"The tools that should be talking and are not. Usually the real problem."},"migration_path":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string"},"description":"Ordered steps, reversible ones first."},"revisit_trigger":{"type":"string","description":"The measurable condition that should reopen this decision. Not a date."}},"required":["decision","recommendation","options","why_this_one","integration_gap","migration_path","revisit_trigger"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_automation"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"candidates":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"task":{"type":"string"},"runs_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"hours_per_run":{"anyOf":[{"type":"number"},{"type":"null"}]},"approach":{"type":"string","enum":["agent","script","integration","template","keep_human"]},"agent_ready":{"type":"boolean","description":"True only if the data and actions are reachable by API today."},"leverage_score":{"type":"number","minimum":0,"maximum":100,"description":"Hours saved against implementation cost and breakage risk."},"blocker":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What must be true first; null if nothing blocks it."}},"required":["task","runs_per_month","hours_per_run","approach","agent_ready","leverage_score","blocker"],"additionalProperties":false},"description":"Ranked by leverage_score, highest first."},"start_here":{"type":"string","description":"The single automation to build first, and why that order."},"do_not_automate":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Work where automation would cost more than it saves, or break trust."},"estimated_hours_saved_monthly":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["candidates","start_here","do_not_automate","estimated_hours_saved_monthly"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"scope_role"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"role_title":{"type":"string"},"outcome_owned":{"type":"string","description":"The single business outcome this role is accountable for. Not a list of duties."},"verdict":{"type":"string","enum":["hire_human","deploy_agent","hybrid","redistribute","do_not_fill"]},"verdict_rationale":{"type":"string","description":"Why this beats the alternatives at their current stage."},"agent_alternative":{"type":"string","description":"What an agent could take over even if a human is hired. Always answer this."},"scorecard":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"competency":{"type":"string"},"why_it_matters":{"type":"string","description":"Tie it to the outcome, or cut it."},"how_to_test":{"type":"string","description":"A work sample or question that actually discriminates."},"must_have":{"type":"boolean"}},"required":["competency","why_it_matters","how_to_test","must_have"],"additionalProperties":false}},"first_90_days":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["day_30","day_60","day_90"]},"outcome":{"type":"string"}},"required":["window","outcome"],"additionalProperties":false}},"comp_band_usd":{"type":"object","properties":{"low":{"anyOf":[{"type":"number"},{"type":"null"}]},"high":{"anyOf":[{"type":"number"},{"type":"null"}]},"basis":{"type":"string","description":"What this band is benchmarked against. Say if you are guessing."}},"required":["low","high","basis"],"additionalProperties":false},"failure_mode":{"type":"string","description":"The most likely way this hire goes wrong, and the early signal."}},"required":["role_title","outcome_owned","verdict","verdict_rationale","agent_alternative","scorecard","first_90_days","comp_band_usd","failure_mode"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_accountability"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"outcomes":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"outcome":{"type":"string"},"single_owner":{"type":"string","description":"One role. 'The team' is not an owner."},"decision_rights":{"type":"string","description":"What this owner can decide without asking."},"currently_ambiguous":{"type":"boolean"}},"required":["outcome","single_owner","decision_rights","currently_ambiguous"],"additionalProperties":false}},"gaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes nobody owns today."},"overlaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes with two owners — where work stalls politely."},"first_fix":{"type":"string","description":"The one ownership change with the largest unblocking effect."},"ritual":{"type":"string","description":"The meeting or artifact that keeps ownership honest, and its cadence."}},"required":["outcomes","gaps","overlaps","first_fix","ritual"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged. `error` is one of `invalid_json`, `invalid_request` (with an `issues[]` array of `{path, message}`), `unsupported_mode`, or `input_too_large`.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"402":{"description":"Payment required. Retry with an X-PAYMENT header, or send the sandbox header for a free sample."},"404":{"description":"`unknown_agent` — see GET /api/v1/agents for the catalog.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"409":{"description":"`request_in_flight` — an identical request is still running, or the Idempotency-Key belongs to a different payer. Not charged; honour `Retry-After` and retry to collect the deliverable.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"429":{"description":"`rate_limited`. Not charged. Honour the `Retry-After` header.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"500":{"description":"`internal_error`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"502":{"description":"Upstream model failure. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"503":{"description":"`capacity` (temporarily at capacity, honour `Retry-After`) or `payments_not_configured`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}}}}},"/api/v1/agents/violet/call":{"post":{"operationId":"call_violet","summary":"Call Violet (Service & retention). Paid via x402 — from $0.18.","description":"Service coach. Churn, retention, and turning support into the reason customers stay.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.18","min":"0.18","max":"0.45"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255},"description":"Retry safely. A repeat with the same key, the same payer wallet, and the same body returns the original deliverable and settles nothing further (24h window). Omit it and a key is derived from payer + body for 10 minutes, so a plain retry is still safe."},{"name":"x-gardenpatch-sandbox","in":"header","required":false,"schema":{"type":"string","enum":["1","true"]},"description":"Free sandbox call. Returns a schema-valid sample response for the requested mode — same envelope, same field names, same deliverable shape as a paid call — with `sandbox: true` set. No payment, no X-PAYMENT header, no charge, and no model inference: the body is a fixed sample for the mode, not an answer to your input. Build and test your whole integration against this before funding a wallet. Also accepted as `?sandbox=1`."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"handle_objections"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"position_against_alternatives"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_capacity"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"draft_sop"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rescue_churn"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_onboarding"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"decide_stack"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_automation"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"scope_role"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_accountability"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete. `Idempotent-Replay: true` means this is a stored deliverable from an earlier settled call — you were not charged again.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string"}},"bonuses":{"maxItems":3,"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"maxItems":5,"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"handle_objections"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"objections":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"objection":{"type":"string","description":"What the buyer says out loud."},"what_they_really_mean":{"type":"string","description":"The actual concern underneath. 'Too expensive' is rarely about price."},"response_script":{"type":"string","description":"The words a rep says next. Verbatim, speakable, under 60 words."},"evidence_to_bring":{"type":"string","description":"The proof that makes the response land — a case, a number, a guarantee."},"concession_allowed":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What may be traded if pushed, and what must be won in return. Null if nothing."}},"required":["objection","what_they_really_mean","response_script","evidence_to_bring","concession_allowed"],"additionalProperties":false},"description":"Ordered by how much revenue each objection currently costs them."},"most_expensive_objection":{"type":"string","description":"The one to fix first, and why that one."},"pre_empt":{"type":"string","description":"How to defuse the top objection EARLIER in the process so it never surfaces."},"disqualifiers":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"When an objection means this is not a buyer — stop selling and requalify."}},"required":["objections","most_expensive_objection","pre_empt","disqualifiers"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"position_against_alternatives"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"category":{"type":"string","description":"The category the buyer thinks they are shopping in."},"alternatives":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"alternative":{"type":"string","description":"Include 'do nothing' and 'in-house' where they are real."},"why_buyers_choose_it":{"type":"string","description":"Steel-man it. A weak version of the rival is useless."},"our_wedge":{"type":"string","description":"The specific ground where we win against THIS alternative."},"do_not_compete_on":{"type":"string","description":"The axis to concede rather than fight — usually price or feature count."}},"required":["alternative","why_buyers_choose_it","our_wedge","do_not_compete_on"],"additionalProperties":false}},"positioning_statement":{"type":"string","description":"One sentence their market would repeat back. No adjectives that everyone claims."},"not_for":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string"},"description":"Who this is explicitly not for. Refusing a segment is what makes positioning bite."},"proof_assets_needed":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"The proof that must exist for this position to be believed."},"message_test":{"type":"string","description":"How to test this positioning cheaply in the next two weeks, with the signal to watch."}},"required":["category","alternatives","positioning_statement","not_for","proof_assets_needed","message_test"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_capacity"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_capacity":{"type":"object","properties":{"unit":{"type":"string","description":"What is being delivered, e.g. 'installs' or 'onboarding calls'."},"per_month":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Null if the caller gave no volume to work from."},"basis":{"type":"string","description":"How this was derived — headcount x throughput, or the caller's figure."}},"required":["unit","per_month","basis"],"additionalProperties":false},"demand_scenario":{"type":"object","properties":{"target_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"implied_multiple":{"type":"string","description":"e.g. '2.4x current' — the stretch being asked for."}},"required":["target_per_month","implied_multiple"],"additionalProperties":false},"breakpoints":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","description":"The step in delivery that fails, e.g. 'scheduling' or 'QA'."},"breaks_at":{"type":"string","description":"The volume or condition where it fails, e.g. 'above 90/mo'."},"symptom":{"type":"string","description":"What the business would actually observe when it breaks."},"fix":{"type":"string"},"lead_time":{"type":"string","enum":["days","weeks","months"],"description":"How long the fix takes to land."}},"required":["stage","breaks_at","symptom","fix","lead_time"],"additionalProperties":false},"description":"Ordered by which breaks FIRST, not by severity."},"binding_resource":{"type":"string","description":"The single resource that caps throughput — people, equipment, a person's attention, cash."},"capacity_moves":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"move":{"type":"string"},"type":{"type":"string","enum":["hire","automate","outsource","process","price"]},"adds_capacity_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Rough uplift; null if not estimable."},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["move","type","adds_capacity_pct","monthly_cost_usd"],"additionalProperties":false}},"safe_growth_ceiling":{"type":"string","description":"How much more they can sell TODAY before delivery quality slips. Be specific."}},"required":["current_capacity","demand_scenario","breakpoints","binding_resource","capacity_moves","safe_growth_ceiling"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"draft_sop"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"process_name":{"type":"string"},"owner_role":{"type":"string","description":"The role accountable, not a person's name."},"trigger":{"type":"string","description":"The event that starts this process."},"steps":{"minItems":3,"maxItems":12,"type":"array","items":{"type":"object","properties":{"n":{"type":"integer","minimum":1,"maximum":9007199254740991},"action":{"type":"string","description":"Imperative and unambiguous — no 'handle it appropriately'."},"owner":{"type":"string"},"tool":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Where the work happens; null if tool-agnostic."},"done_when":{"type":"string","description":"The observable condition that proves this step finished."}},"required":["n","action","owner","tool","done_when"],"additionalProperties":false}},"exceptions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"situation":{"type":"string"},"handling":{"type":"string"}},"required":["situation","handling"],"additionalProperties":false},"description":"The cases that would otherwise send someone back to the founder."},"escalation":{"type":"string","description":"Who gets pulled in, and at what threshold."},"kpis":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"target":{"type":"string"}},"required":["name","target"],"additionalProperties":false}},"review_cadence":{"type":"string","description":"How often this SOP itself gets revisited."}},"required":["process_name","owner_role","trigger","steps","exceptions","escalation","kpis","review_cadence"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rescue_churn"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"churn_read":{"type":"string","description":"What is actually causing cancellations, stated plainly."},"at_risk_segments":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"segment":{"type":"string"},"detection_signal":{"type":"string","description":"The observable behaviour that flags this segment early."},"why_they_leave":{"type":"string"},"save_play":{"type":"string","description":"The specific intervention — who does what, when."},"expected_save_rate_pct":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]}},"required":["segment","detection_signal","why_they_leave","save_play","expected_save_rate_pct"],"additionalProperties":false},"description":"Ordered by recoverable revenue, highest first."},"save_economics":{"type":"object","properties":{"ltv_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"cost_to_save_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","description":"Whether saving is worth it at these numbers, and at what point it stops being."}},"required":["ltv_usd","cost_to_save_usd","verdict"],"additionalProperties":false},"do_not_save":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Customers to let churn — mis-sold, mispriced, or unprofitable. Naming these is the job."},"first_intervention":{"type":"string","description":"The one thing to ship this week to stop the bleeding."}},"required":["churn_read","at_risk_segments","save_economics","do_not_save","first_intervention"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_onboarding"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"activation_moment":{"type":"string","description":"The specific moment a customer first gets the value they bought. Everything aims here."},"milestones":{"minItems":3,"maxItems":8,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after purchase. Day 0 is the sale."},"milestone":{"type":"string"},"owner":{"type":"string"},"channel":{"type":"string","enum":["email","call","in_app","sms","human_visit"]},"success_signal":{"type":"string","description":"How you know it landed, observable without asking."}},"required":["day","milestone","owner","channel","success_signal"],"additionalProperties":false}},"risk_signals":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"signal":{"type":"string"},"day_by":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"response":{"type":"string"}},"required":["signal","day_by","response"],"additionalProperties":false},"description":"Silence or behaviour that predicts churn, and what to do when it appears."},"handoff":{"type":"string","description":"Who owns the customer after onboarding ends, and what transfers."},"measure":{"type":"object","properties":{"metric":{"type":"string","description":"The one activation metric to instrument."},"target":{"type":"string"}},"required":["metric","target"],"additionalProperties":false}},"required":["activation_moment","milestones","risk_signals","handoff","measure"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"decide_stack"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"decision":{"type":"string","description":"The decision being made, in one line."},"recommendation":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"options":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"option":{"type":"string"},"approach":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"time_to_value":{"type":"string","enum":["days","weeks","months","quarters"]},"lock_in_risk":{"type":"string","enum":["low","medium","high"]},"agent_readiness":{"type":"string","enum":["api_first","partial_api","ui_only"],"description":"Whether an agent could operate this without a human clicking."}},"required":["option","approach","monthly_cost_usd","time_to_value","lock_in_risk","agent_readiness"],"additionalProperties":false},"description":"Include the option they are currently leaning toward, even to reject it."},"why_this_one":{"type":"string","description":"Why the recommendation beats the runner-up specifically."},"integration_gap":{"type":"string","description":"The tools that should be talking and are not. Usually the real problem."},"migration_path":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string"},"description":"Ordered steps, reversible ones first."},"revisit_trigger":{"type":"string","description":"The measurable condition that should reopen this decision. Not a date."}},"required":["decision","recommendation","options","why_this_one","integration_gap","migration_path","revisit_trigger"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_automation"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"candidates":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"task":{"type":"string"},"runs_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"hours_per_run":{"anyOf":[{"type":"number"},{"type":"null"}]},"approach":{"type":"string","enum":["agent","script","integration","template","keep_human"]},"agent_ready":{"type":"boolean","description":"True only if the data and actions are reachable by API today."},"leverage_score":{"type":"number","minimum":0,"maximum":100,"description":"Hours saved against implementation cost and breakage risk."},"blocker":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What must be true first; null if nothing blocks it."}},"required":["task","runs_per_month","hours_per_run","approach","agent_ready","leverage_score","blocker"],"additionalProperties":false},"description":"Ranked by leverage_score, highest first."},"start_here":{"type":"string","description":"The single automation to build first, and why that order."},"do_not_automate":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Work where automation would cost more than it saves, or break trust."},"estimated_hours_saved_monthly":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["candidates","start_here","do_not_automate","estimated_hours_saved_monthly"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"scope_role"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"role_title":{"type":"string"},"outcome_owned":{"type":"string","description":"The single business outcome this role is accountable for. Not a list of duties."},"verdict":{"type":"string","enum":["hire_human","deploy_agent","hybrid","redistribute","do_not_fill"]},"verdict_rationale":{"type":"string","description":"Why this beats the alternatives at their current stage."},"agent_alternative":{"type":"string","description":"What an agent could take over even if a human is hired. Always answer this."},"scorecard":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"competency":{"type":"string"},"why_it_matters":{"type":"string","description":"Tie it to the outcome, or cut it."},"how_to_test":{"type":"string","description":"A work sample or question that actually discriminates."},"must_have":{"type":"boolean"}},"required":["competency","why_it_matters","how_to_test","must_have"],"additionalProperties":false}},"first_90_days":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["day_30","day_60","day_90"]},"outcome":{"type":"string"}},"required":["window","outcome"],"additionalProperties":false}},"comp_band_usd":{"type":"object","properties":{"low":{"anyOf":[{"type":"number"},{"type":"null"}]},"high":{"anyOf":[{"type":"number"},{"type":"null"}]},"basis":{"type":"string","description":"What this band is benchmarked against. Say if you are guessing."}},"required":["low","high","basis"],"additionalProperties":false},"failure_mode":{"type":"string","description":"The most likely way this hire goes wrong, and the early signal."}},"required":["role_title","outcome_owned","verdict","verdict_rationale","agent_alternative","scorecard","first_90_days","comp_band_usd","failure_mode"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_accountability"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"outcomes":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"outcome":{"type":"string"},"single_owner":{"type":"string","description":"One role. 'The team' is not an owner."},"decision_rights":{"type":"string","description":"What this owner can decide without asking."},"currently_ambiguous":{"type":"boolean"}},"required":["outcome","single_owner","decision_rights","currently_ambiguous"],"additionalProperties":false}},"gaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes nobody owns today."},"overlaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes with two owners — where work stalls politely."},"first_fix":{"type":"string","description":"The one ownership change with the largest unblocking effect."},"ritual":{"type":"string","description":"The meeting or artifact that keeps ownership honest, and its cadence."}},"required":["outcomes","gaps","overlaps","first_fix","ritual"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged. `error` is one of `invalid_json`, `invalid_request` (with an `issues[]` array of `{path, message}`), `unsupported_mode`, or `input_too_large`.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"402":{"description":"Payment required. Retry with an X-PAYMENT header, or send the sandbox header for a free sample."},"404":{"description":"`unknown_agent` — see GET /api/v1/agents for the catalog.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"409":{"description":"`request_in_flight` — an identical request is still running, or the Idempotency-Key belongs to a different payer. Not charged; honour `Retry-After` and retry to collect the deliverable.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"429":{"description":"`rate_limited`. Not charged. Honour the `Retry-After` header.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"500":{"description":"`internal_error`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"502":{"description":"Upstream model failure. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"503":{"description":"`capacity` (temporarily at capacity, honour `Retry-After`) or `payments_not_configured`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}}}}},"/api/v1/agents/fern/call":{"post":{"operationId":"call_fern","summary":"Call Fern (Technology). Paid via x402 — from $0.18.","description":"Technology coach. AI-era stack decisions, automation, and build-vs-buy without the theatre.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.18","min":"0.18","max":"0.45"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255},"description":"Retry safely. A repeat with the same key, the same payer wallet, and the same body returns the original deliverable and settles nothing further (24h window). Omit it and a key is derived from payer + body for 10 minutes, so a plain retry is still safe."},{"name":"x-gardenpatch-sandbox","in":"header","required":false,"schema":{"type":"string","enum":["1","true"]},"description":"Free sandbox call. Returns a schema-valid sample response for the requested mode — same envelope, same field names, same deliverable shape as a paid call — with `sandbox: true` set. No payment, no X-PAYMENT header, no charge, and no model inference: the body is a fixed sample for the mode, not an answer to your input. Build and test your whole integration against this before funding a wallet. Also accepted as `?sandbox=1`."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"handle_objections"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"position_against_alternatives"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_capacity"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"draft_sop"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rescue_churn"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_onboarding"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"decide_stack"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_automation"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"scope_role"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_accountability"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete. `Idempotent-Replay: true` means this is a stored deliverable from an earlier settled call — you were not charged again.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string"}},"bonuses":{"maxItems":3,"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"maxItems":5,"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"handle_objections"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"objections":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"objection":{"type":"string","description":"What the buyer says out loud."},"what_they_really_mean":{"type":"string","description":"The actual concern underneath. 'Too expensive' is rarely about price."},"response_script":{"type":"string","description":"The words a rep says next. Verbatim, speakable, under 60 words."},"evidence_to_bring":{"type":"string","description":"The proof that makes the response land — a case, a number, a guarantee."},"concession_allowed":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What may be traded if pushed, and what must be won in return. Null if nothing."}},"required":["objection","what_they_really_mean","response_script","evidence_to_bring","concession_allowed"],"additionalProperties":false},"description":"Ordered by how much revenue each objection currently costs them."},"most_expensive_objection":{"type":"string","description":"The one to fix first, and why that one."},"pre_empt":{"type":"string","description":"How to defuse the top objection EARLIER in the process so it never surfaces."},"disqualifiers":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"When an objection means this is not a buyer — stop selling and requalify."}},"required":["objections","most_expensive_objection","pre_empt","disqualifiers"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"position_against_alternatives"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"category":{"type":"string","description":"The category the buyer thinks they are shopping in."},"alternatives":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"alternative":{"type":"string","description":"Include 'do nothing' and 'in-house' where they are real."},"why_buyers_choose_it":{"type":"string","description":"Steel-man it. A weak version of the rival is useless."},"our_wedge":{"type":"string","description":"The specific ground where we win against THIS alternative."},"do_not_compete_on":{"type":"string","description":"The axis to concede rather than fight — usually price or feature count."}},"required":["alternative","why_buyers_choose_it","our_wedge","do_not_compete_on"],"additionalProperties":false}},"positioning_statement":{"type":"string","description":"One sentence their market would repeat back. No adjectives that everyone claims."},"not_for":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string"},"description":"Who this is explicitly not for. Refusing a segment is what makes positioning bite."},"proof_assets_needed":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"The proof that must exist for this position to be believed."},"message_test":{"type":"string","description":"How to test this positioning cheaply in the next two weeks, with the signal to watch."}},"required":["category","alternatives","positioning_statement","not_for","proof_assets_needed","message_test"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_capacity"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_capacity":{"type":"object","properties":{"unit":{"type":"string","description":"What is being delivered, e.g. 'installs' or 'onboarding calls'."},"per_month":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Null if the caller gave no volume to work from."},"basis":{"type":"string","description":"How this was derived — headcount x throughput, or the caller's figure."}},"required":["unit","per_month","basis"],"additionalProperties":false},"demand_scenario":{"type":"object","properties":{"target_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"implied_multiple":{"type":"string","description":"e.g. '2.4x current' — the stretch being asked for."}},"required":["target_per_month","implied_multiple"],"additionalProperties":false},"breakpoints":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","description":"The step in delivery that fails, e.g. 'scheduling' or 'QA'."},"breaks_at":{"type":"string","description":"The volume or condition where it fails, e.g. 'above 90/mo'."},"symptom":{"type":"string","description":"What the business would actually observe when it breaks."},"fix":{"type":"string"},"lead_time":{"type":"string","enum":["days","weeks","months"],"description":"How long the fix takes to land."}},"required":["stage","breaks_at","symptom","fix","lead_time"],"additionalProperties":false},"description":"Ordered by which breaks FIRST, not by severity."},"binding_resource":{"type":"string","description":"The single resource that caps throughput — people, equipment, a person's attention, cash."},"capacity_moves":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"move":{"type":"string"},"type":{"type":"string","enum":["hire","automate","outsource","process","price"]},"adds_capacity_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Rough uplift; null if not estimable."},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["move","type","adds_capacity_pct","monthly_cost_usd"],"additionalProperties":false}},"safe_growth_ceiling":{"type":"string","description":"How much more they can sell TODAY before delivery quality slips. Be specific."}},"required":["current_capacity","demand_scenario","breakpoints","binding_resource","capacity_moves","safe_growth_ceiling"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"draft_sop"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"process_name":{"type":"string"},"owner_role":{"type":"string","description":"The role accountable, not a person's name."},"trigger":{"type":"string","description":"The event that starts this process."},"steps":{"minItems":3,"maxItems":12,"type":"array","items":{"type":"object","properties":{"n":{"type":"integer","minimum":1,"maximum":9007199254740991},"action":{"type":"string","description":"Imperative and unambiguous — no 'handle it appropriately'."},"owner":{"type":"string"},"tool":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Where the work happens; null if tool-agnostic."},"done_when":{"type":"string","description":"The observable condition that proves this step finished."}},"required":["n","action","owner","tool","done_when"],"additionalProperties":false}},"exceptions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"situation":{"type":"string"},"handling":{"type":"string"}},"required":["situation","handling"],"additionalProperties":false},"description":"The cases that would otherwise send someone back to the founder."},"escalation":{"type":"string","description":"Who gets pulled in, and at what threshold."},"kpis":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"target":{"type":"string"}},"required":["name","target"],"additionalProperties":false}},"review_cadence":{"type":"string","description":"How often this SOP itself gets revisited."}},"required":["process_name","owner_role","trigger","steps","exceptions","escalation","kpis","review_cadence"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rescue_churn"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"churn_read":{"type":"string","description":"What is actually causing cancellations, stated plainly."},"at_risk_segments":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"segment":{"type":"string"},"detection_signal":{"type":"string","description":"The observable behaviour that flags this segment early."},"why_they_leave":{"type":"string"},"save_play":{"type":"string","description":"The specific intervention — who does what, when."},"expected_save_rate_pct":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]}},"required":["segment","detection_signal","why_they_leave","save_play","expected_save_rate_pct"],"additionalProperties":false},"description":"Ordered by recoverable revenue, highest first."},"save_economics":{"type":"object","properties":{"ltv_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"cost_to_save_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","description":"Whether saving is worth it at these numbers, and at what point it stops being."}},"required":["ltv_usd","cost_to_save_usd","verdict"],"additionalProperties":false},"do_not_save":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Customers to let churn — mis-sold, mispriced, or unprofitable. Naming these is the job."},"first_intervention":{"type":"string","description":"The one thing to ship this week to stop the bleeding."}},"required":["churn_read","at_risk_segments","save_economics","do_not_save","first_intervention"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_onboarding"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"activation_moment":{"type":"string","description":"The specific moment a customer first gets the value they bought. Everything aims here."},"milestones":{"minItems":3,"maxItems":8,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after purchase. Day 0 is the sale."},"milestone":{"type":"string"},"owner":{"type":"string"},"channel":{"type":"string","enum":["email","call","in_app","sms","human_visit"]},"success_signal":{"type":"string","description":"How you know it landed, observable without asking."}},"required":["day","milestone","owner","channel","success_signal"],"additionalProperties":false}},"risk_signals":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"signal":{"type":"string"},"day_by":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"response":{"type":"string"}},"required":["signal","day_by","response"],"additionalProperties":false},"description":"Silence or behaviour that predicts churn, and what to do when it appears."},"handoff":{"type":"string","description":"Who owns the customer after onboarding ends, and what transfers."},"measure":{"type":"object","properties":{"metric":{"type":"string","description":"The one activation metric to instrument."},"target":{"type":"string"}},"required":["metric","target"],"additionalProperties":false}},"required":["activation_moment","milestones","risk_signals","handoff","measure"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"decide_stack"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"decision":{"type":"string","description":"The decision being made, in one line."},"recommendation":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"options":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"option":{"type":"string"},"approach":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"time_to_value":{"type":"string","enum":["days","weeks","months","quarters"]},"lock_in_risk":{"type":"string","enum":["low","medium","high"]},"agent_readiness":{"type":"string","enum":["api_first","partial_api","ui_only"],"description":"Whether an agent could operate this without a human clicking."}},"required":["option","approach","monthly_cost_usd","time_to_value","lock_in_risk","agent_readiness"],"additionalProperties":false},"description":"Include the option they are currently leaning toward, even to reject it."},"why_this_one":{"type":"string","description":"Why the recommendation beats the runner-up specifically."},"integration_gap":{"type":"string","description":"The tools that should be talking and are not. Usually the real problem."},"migration_path":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string"},"description":"Ordered steps, reversible ones first."},"revisit_trigger":{"type":"string","description":"The measurable condition that should reopen this decision. Not a date."}},"required":["decision","recommendation","options","why_this_one","integration_gap","migration_path","revisit_trigger"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_automation"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"candidates":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"task":{"type":"string"},"runs_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"hours_per_run":{"anyOf":[{"type":"number"},{"type":"null"}]},"approach":{"type":"string","enum":["agent","script","integration","template","keep_human"]},"agent_ready":{"type":"boolean","description":"True only if the data and actions are reachable by API today."},"leverage_score":{"type":"number","minimum":0,"maximum":100,"description":"Hours saved against implementation cost and breakage risk."},"blocker":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What must be true first; null if nothing blocks it."}},"required":["task","runs_per_month","hours_per_run","approach","agent_ready","leverage_score","blocker"],"additionalProperties":false},"description":"Ranked by leverage_score, highest first."},"start_here":{"type":"string","description":"The single automation to build first, and why that order."},"do_not_automate":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Work where automation would cost more than it saves, or break trust."},"estimated_hours_saved_monthly":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["candidates","start_here","do_not_automate","estimated_hours_saved_monthly"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"scope_role"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"role_title":{"type":"string"},"outcome_owned":{"type":"string","description":"The single business outcome this role is accountable for. Not a list of duties."},"verdict":{"type":"string","enum":["hire_human","deploy_agent","hybrid","redistribute","do_not_fill"]},"verdict_rationale":{"type":"string","description":"Why this beats the alternatives at their current stage."},"agent_alternative":{"type":"string","description":"What an agent could take over even if a human is hired. Always answer this."},"scorecard":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"competency":{"type":"string"},"why_it_matters":{"type":"string","description":"Tie it to the outcome, or cut it."},"how_to_test":{"type":"string","description":"A work sample or question that actually discriminates."},"must_have":{"type":"boolean"}},"required":["competency","why_it_matters","how_to_test","must_have"],"additionalProperties":false}},"first_90_days":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["day_30","day_60","day_90"]},"outcome":{"type":"string"}},"required":["window","outcome"],"additionalProperties":false}},"comp_band_usd":{"type":"object","properties":{"low":{"anyOf":[{"type":"number"},{"type":"null"}]},"high":{"anyOf":[{"type":"number"},{"type":"null"}]},"basis":{"type":"string","description":"What this band is benchmarked against. Say if you are guessing."}},"required":["low","high","basis"],"additionalProperties":false},"failure_mode":{"type":"string","description":"The most likely way this hire goes wrong, and the early signal."}},"required":["role_title","outcome_owned","verdict","verdict_rationale","agent_alternative","scorecard","first_90_days","comp_band_usd","failure_mode"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_accountability"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"outcomes":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"outcome":{"type":"string"},"single_owner":{"type":"string","description":"One role. 'The team' is not an owner."},"decision_rights":{"type":"string","description":"What this owner can decide without asking."},"currently_ambiguous":{"type":"boolean"}},"required":["outcome","single_owner","decision_rights","currently_ambiguous"],"additionalProperties":false}},"gaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes nobody owns today."},"overlaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes with two owners — where work stalls politely."},"first_fix":{"type":"string","description":"The one ownership change with the largest unblocking effect."},"ritual":{"type":"string","description":"The meeting or artifact that keeps ownership honest, and its cadence."}},"required":["outcomes","gaps","overlaps","first_fix","ritual"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged. `error` is one of `invalid_json`, `invalid_request` (with an `issues[]` array of `{path, message}`), `unsupported_mode`, or `input_too_large`.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"402":{"description":"Payment required. Retry with an X-PAYMENT header, or send the sandbox header for a free sample."},"404":{"description":"`unknown_agent` — see GET /api/v1/agents for the catalog.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"409":{"description":"`request_in_flight` — an identical request is still running, or the Idempotency-Key belongs to a different payer. Not charged; honour `Retry-After` and retry to collect the deliverable.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"429":{"description":"`rate_limited`. Not charged. Honour the `Retry-After` header.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"500":{"description":"`internal_error`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"502":{"description":"Upstream model failure. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"503":{"description":"`capacity` (temporarily at capacity, honour `Retry-After`) or `payments_not_configured`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}}}}},"/api/v1/agents/willow/call":{"post":{"operationId":"call_willow","summary":"Call Willow (People & culture). Paid via x402 — from $0.18.","description":"People coach. Hiring, org design, and leading teams where half the team is agents.","x-payment-info":{"protocols":["x402"],"price":{"mode":"dynamic","currency":"USD","amount":"0.18","min":"0.18","max":"0.45"},"network":"eip155:8453","asset":"USDC"},"parameters":[{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 payment payload. Omit to receive a 402 with payment requirements."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255},"description":"Retry safely. A repeat with the same key, the same payer wallet, and the same body returns the original deliverable and settles nothing further (24h window). Omit it and a key is derived from payer + body for 10 minutes, so a plain retry is still safe."},{"name":"x-gardenpatch-sandbox","in":"header","required":false,"schema":{"type":"string","enum":["1","true"]},"description":"Free sandbox call. Returns a schema-valid sample response for the requested mode — same envelope, same field names, same deliverable shape as a paid call — with `sandbox: true` set. No payment, no X-PAYMENT header, no charge, and no model inference: the body is a fixed sample for the mode, not an answer to your input. Build and test your whole integration against this before funding a wallet. Also accepted as `?sandbox=1`."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"diagnose_growth"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"design_offer"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rewrite_pricing"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"funnel_review"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"write_outbound_sequence"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"audit_function"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"handle_objections"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"position_against_alternatives"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_capacity"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"draft_sop"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"rescue_churn"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"plan_onboarding"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"decide_stack"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_automation"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"scope_role"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"mode":{"type":"string","const":"map_accountability"},"messages":{"minItems":1,"maxItems":40,"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string","minLength":1,"maxLength":20000}},"required":["role","content"]}},"context":{"type":"object","properties":{"company":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"what_they_sell":{"type":"string","maxLength":2000},"stage":{"type":"string","enum":["idea","pre_revenue","early_revenue","scaling","mature"]},"industry":{"type":"string","maxLength":200},"website":{"type":"string","maxLength":500}}},"metrics":{"type":"object","properties":{"monthly_revenue_usd":{"type":"number","minimum":0},"mrr_usd":{"type":"number","minimum":0},"leads_per_month":{"type":"number","minimum":0},"close_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_order_value_usd":{"type":"number","minimum":0},"cac_usd":{"type":"number","minimum":0},"monthly_churn_pct":{"type":"number","minimum":0,"maximum":100},"traffic_per_month":{"type":"number","minimum":0}}},"offer":{"type":"object","properties":{"name":{"type":"string","maxLength":200},"price_usd":{"type":"number","minimum":0},"promise":{"type":"string","maxLength":2000},"guarantee":{"type":"string","maxLength":1000}}},"audience":{"type":"object","properties":{"icp":{"type":"string","maxLength":2000},"segments":{"maxItems":20,"type":"array","items":{"type":"string","maxLength":200}},"pain":{"type":"string","maxLength":2000}}}}}},"required":["mode","messages"]}]}}}},"responses":{"200":{"description":"Analysis complete. `Idempotent-Replay: true` means this is a stored deliverable from an earlier settled call — you were not charged again.","content":{"application/json":{"schema":{"oneOf":[{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"diagnose_growth"},"reply":{"type":"string","maxLength":1400,"description":"The operator's answer in plain prose, under 150 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 3, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 3 — a list of 10 is not a plan."},"caveats":{"maxItems":2,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"binding_constraint":{"type":"string","description":"The one discipline that is bleeding: demand, conversion, retention, pricing, or delivery."},"evidence":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What in the caller's context points at this constraint."},"ranked_levers":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"lever":{"type":"string"},"why":{"type":"string"},"expected_impact":{"type":"string","enum":["small","moderate","large"]}},"required":["lever","why","expected_impact"],"additionalProperties":false},"description":"Levers in priority order. The first one is the recommendation."},"do_not_do":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Tempting moves that would waste the next 30 days given this constraint."}},"required":["binding_constraint","evidence","ranked_levers","do_not_do"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"design_offer"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"offer_name":{"type":"string"},"promise":{"type":"string","description":"The outcome, with a time frame. Not a feature list."},"price_point_usd":{"type":"number"},"price_rationale":{"type":"string"},"guarantee":{"type":"string"},"inclusions":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"string"}},"bonuses":{"maxItems":3,"type":"array","items":{"type":"string"}},"why_it_converts":{"type":"string"}},"required":["offer_name","promise","price_point_usd","price_rationale","guarantee","inclusions","bonuses","why_it_converts"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rewrite_pricing"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_read":{"type":"string","description":"What the existing pricing is doing wrong, specifically."},"recommended_tiers":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price_usd":{"type":"number"},"for_whom":{"type":"string"},"includes":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"}}},"required":["name","price_usd","for_whom","includes"],"additionalProperties":false}},"migration_note":{"type":"string","description":"How to move existing customers without a revolt."},"expected_effect":{"type":"string"}},"required":["current_read","recommended_tiers","migration_note","expected_effect"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"funnel_review"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"stages":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string"},"estimated_conversion_pct":{"anyOf":[{"type":"number"},{"type":"null"}]},"leak":{"type":"string"},"fix":{"type":"string"}},"required":["stage","estimated_conversion_pct","leak","fix"],"additionalProperties":false}},"biggest_leak":{"type":"string","description":"The single stage to fix first."},"quick_win":{"type":"string","description":"Something shippable this week."}},"required":["stages","biggest_leak","quick_win"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"write_outbound_sequence"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"icp":{"type":"string"},"channel":{"type":"string","enum":["email","linkedin","cold_call"]},"merge_fields":{"maxItems":5,"type":"array","items":{"type":"string","enum":["{{first_name}}","{{last_name}}","{{company}}","{{role}}","{{city}}"]},"description":"Every merge token used anywhere in this sequence, so the caller can map them."},"emails":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"step":{"type":"integer","minimum":1,"maximum":9007199254740991},"send_day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after step 1. Step 1 is day 0."},"subject":{"type":"string"},"body":{"type":"string","description":"Ready to send. Personalise ONLY with the permitted merge tokens ({{first_name}}, {{last_name}}, {{company}}, {{role}}, {{city}}) and declare them in merge_fields. Never invent a bracket placeholder like [X units] or [INSERT VALUE] — if you don't have a fact, write a sentence that doesn't need it."},"goal":{"type":"string"}},"required":["step","send_day","subject","body","goal"],"additionalProperties":false}},"follow_up_rule":{"type":"string"},"personalization_inputs":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"What to research per prospect before sending. Keep it to things findable in 2 minutes."}},"required":["icp","channel","merge_fields","emails","follow_up_rule","personalization_inputs"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"audit_function"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"discipline":{"type":"string","description":"The function audited, e.g. 'Operations' — the coach's own domain."},"overall_score":{"type":"number","minimum":0,"maximum":100,"description":"0-100. Be willing to score low; a flattering audit is worthless."},"findings":{"minItems":2,"maxItems":7,"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"score":{"type":"number","minimum":0,"maximum":100},"status":{"type":"string","enum":["strong","adequate","weak","critical"]},"evidence":{"type":"string","description":"What in the caller's context supports this score."},"fix":{"type":"string"}},"required":["area","score","status","evidence","fix"],"additionalProperties":false}},"top_priority":{"type":"string","description":"The single finding to act on first, and why that one."},"quick_wins":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Shippable this week."}},"required":["discipline","overall_score","findings","top_priority","quick_wins"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"handle_objections"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"objections":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"objection":{"type":"string","description":"What the buyer says out loud."},"what_they_really_mean":{"type":"string","description":"The actual concern underneath. 'Too expensive' is rarely about price."},"response_script":{"type":"string","description":"The words a rep says next. Verbatim, speakable, under 60 words."},"evidence_to_bring":{"type":"string","description":"The proof that makes the response land — a case, a number, a guarantee."},"concession_allowed":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What may be traded if pushed, and what must be won in return. Null if nothing."}},"required":["objection","what_they_really_mean","response_script","evidence_to_bring","concession_allowed"],"additionalProperties":false},"description":"Ordered by how much revenue each objection currently costs them."},"most_expensive_objection":{"type":"string","description":"The one to fix first, and why that one."},"pre_empt":{"type":"string","description":"How to defuse the top objection EARLIER in the process so it never surfaces."},"disqualifiers":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"When an objection means this is not a buyer — stop selling and requalify."}},"required":["objections","most_expensive_objection","pre_empt","disqualifiers"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"position_against_alternatives"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"category":{"type":"string","description":"The category the buyer thinks they are shopping in."},"alternatives":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"alternative":{"type":"string","description":"Include 'do nothing' and 'in-house' where they are real."},"why_buyers_choose_it":{"type":"string","description":"Steel-man it. A weak version of the rival is useless."},"our_wedge":{"type":"string","description":"The specific ground where we win against THIS alternative."},"do_not_compete_on":{"type":"string","description":"The axis to concede rather than fight — usually price or feature count."}},"required":["alternative","why_buyers_choose_it","our_wedge","do_not_compete_on"],"additionalProperties":false}},"positioning_statement":{"type":"string","description":"One sentence their market would repeat back. No adjectives that everyone claims."},"not_for":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"string"},"description":"Who this is explicitly not for. Refusing a segment is what makes positioning bite."},"proof_assets_needed":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"The proof that must exist for this position to be believed."},"message_test":{"type":"string","description":"How to test this positioning cheaply in the next two weeks, with the signal to watch."}},"required":["category","alternatives","positioning_statement","not_for","proof_assets_needed","message_test"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_capacity"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"current_capacity":{"type":"object","properties":{"unit":{"type":"string","description":"What is being delivered, e.g. 'installs' or 'onboarding calls'."},"per_month":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Null if the caller gave no volume to work from."},"basis":{"type":"string","description":"How this was derived — headcount x throughput, or the caller's figure."}},"required":["unit","per_month","basis"],"additionalProperties":false},"demand_scenario":{"type":"object","properties":{"target_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"implied_multiple":{"type":"string","description":"e.g. '2.4x current' — the stretch being asked for."}},"required":["target_per_month","implied_multiple"],"additionalProperties":false},"breakpoints":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","description":"The step in delivery that fails, e.g. 'scheduling' or 'QA'."},"breaks_at":{"type":"string","description":"The volume or condition where it fails, e.g. 'above 90/mo'."},"symptom":{"type":"string","description":"What the business would actually observe when it breaks."},"fix":{"type":"string"},"lead_time":{"type":"string","enum":["days","weeks","months"],"description":"How long the fix takes to land."}},"required":["stage","breaks_at","symptom","fix","lead_time"],"additionalProperties":false},"description":"Ordered by which breaks FIRST, not by severity."},"binding_resource":{"type":"string","description":"The single resource that caps throughput — people, equipment, a person's attention, cash."},"capacity_moves":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"move":{"type":"string"},"type":{"type":"string","enum":["hire","automate","outsource","process","price"]},"adds_capacity_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Rough uplift; null if not estimable."},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["move","type","adds_capacity_pct","monthly_cost_usd"],"additionalProperties":false}},"safe_growth_ceiling":{"type":"string","description":"How much more they can sell TODAY before delivery quality slips. Be specific."}},"required":["current_capacity","demand_scenario","breakpoints","binding_resource","capacity_moves","safe_growth_ceiling"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"draft_sop"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"process_name":{"type":"string"},"owner_role":{"type":"string","description":"The role accountable, not a person's name."},"trigger":{"type":"string","description":"The event that starts this process."},"steps":{"minItems":3,"maxItems":12,"type":"array","items":{"type":"object","properties":{"n":{"type":"integer","minimum":1,"maximum":9007199254740991},"action":{"type":"string","description":"Imperative and unambiguous — no 'handle it appropriately'."},"owner":{"type":"string"},"tool":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Where the work happens; null if tool-agnostic."},"done_when":{"type":"string","description":"The observable condition that proves this step finished."}},"required":["n","action","owner","tool","done_when"],"additionalProperties":false}},"exceptions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"situation":{"type":"string"},"handling":{"type":"string"}},"required":["situation","handling"],"additionalProperties":false},"description":"The cases that would otherwise send someone back to the founder."},"escalation":{"type":"string","description":"Who gets pulled in, and at what threshold."},"kpis":{"minItems":1,"maxItems":3,"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"target":{"type":"string"}},"required":["name","target"],"additionalProperties":false}},"review_cadence":{"type":"string","description":"How often this SOP itself gets revisited."}},"required":["process_name","owner_role","trigger","steps","exceptions","escalation","kpis","review_cadence"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"rescue_churn"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"churn_read":{"type":"string","description":"What is actually causing cancellations, stated plainly."},"at_risk_segments":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"segment":{"type":"string"},"detection_signal":{"type":"string","description":"The observable behaviour that flags this segment early."},"why_they_leave":{"type":"string"},"save_play":{"type":"string","description":"The specific intervention — who does what, when."},"expected_save_rate_pct":{"anyOf":[{"type":"number","minimum":0,"maximum":100},{"type":"null"}]}},"required":["segment","detection_signal","why_they_leave","save_play","expected_save_rate_pct"],"additionalProperties":false},"description":"Ordered by recoverable revenue, highest first."},"save_economics":{"type":"object","properties":{"ltv_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"cost_to_save_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","description":"Whether saving is worth it at these numbers, and at what point it stops being."}},"required":["ltv_usd","cost_to_save_usd","verdict"],"additionalProperties":false},"do_not_save":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Customers to let churn — mis-sold, mispriced, or unprofitable. Naming these is the job."},"first_intervention":{"type":"string","description":"The one thing to ship this week to stop the bleeding."}},"required":["churn_read","at_risk_segments","save_economics","do_not_save","first_intervention"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"plan_onboarding"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"activation_moment":{"type":"string","description":"The specific moment a customer first gets the value they bought. Everything aims here."},"milestones":{"minItems":3,"maxItems":8,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Days after purchase. Day 0 is the sale."},"milestone":{"type":"string"},"owner":{"type":"string"},"channel":{"type":"string","enum":["email","call","in_app","sms","human_visit"]},"success_signal":{"type":"string","description":"How you know it landed, observable without asking."}},"required":["day","milestone","owner","channel","success_signal"],"additionalProperties":false}},"risk_signals":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"signal":{"type":"string"},"day_by":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"response":{"type":"string"}},"required":["signal","day_by","response"],"additionalProperties":false},"description":"Silence or behaviour that predicts churn, and what to do when it appears."},"handoff":{"type":"string","description":"Who owns the customer after onboarding ends, and what transfers."},"measure":{"type":"object","properties":{"metric":{"type":"string","description":"The one activation metric to instrument."},"target":{"type":"string"}},"required":["metric","target"],"additionalProperties":false}},"required":["activation_moment","milestones","risk_signals","handoff","measure"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"decide_stack"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"decision":{"type":"string","description":"The decision being made, in one line."},"recommendation":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"options":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"object","properties":{"option":{"type":"string"},"approach":{"type":"string","enum":["build","buy","integrate","delete","do_nothing_yet"]},"monthly_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}]},"time_to_value":{"type":"string","enum":["days","weeks","months","quarters"]},"lock_in_risk":{"type":"string","enum":["low","medium","high"]},"agent_readiness":{"type":"string","enum":["api_first","partial_api","ui_only"],"description":"Whether an agent could operate this without a human clicking."}},"required":["option","approach","monthly_cost_usd","time_to_value","lock_in_risk","agent_readiness"],"additionalProperties":false},"description":"Include the option they are currently leaning toward, even to reject it."},"why_this_one":{"type":"string","description":"Why the recommendation beats the runner-up specifically."},"integration_gap":{"type":"string","description":"The tools that should be talking and are not. Usually the real problem."},"migration_path":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"string"},"description":"Ordered steps, reversible ones first."},"revisit_trigger":{"type":"string","description":"The measurable condition that should reopen this decision. Not a date."}},"required":["decision","recommendation","options","why_this_one","integration_gap","migration_path","revisit_trigger"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_automation"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"candidates":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"task":{"type":"string"},"runs_per_month":{"anyOf":[{"type":"number"},{"type":"null"}]},"hours_per_run":{"anyOf":[{"type":"number"},{"type":"null"}]},"approach":{"type":"string","enum":["agent","script","integration","template","keep_human"]},"agent_ready":{"type":"boolean","description":"True only if the data and actions are reachable by API today."},"leverage_score":{"type":"number","minimum":0,"maximum":100,"description":"Hours saved against implementation cost and breakage risk."},"blocker":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What must be true first; null if nothing blocks it."}},"required":["task","runs_per_month","hours_per_run","approach","agent_ready","leverage_score","blocker"],"additionalProperties":false},"description":"Ranked by leverage_score, highest first."},"start_here":{"type":"string","description":"The single automation to build first, and why that order."},"do_not_automate":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Work where automation would cost more than it saves, or break trust."},"estimated_hours_saved_monthly":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["candidates","start_here","do_not_automate","estimated_hours_saved_monthly"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"scope_role"},"reply":{"type":"string","maxLength":3000,"description":"The operator's answer in plain prose, under 300 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":6,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 6, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 5 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"role_title":{"type":"string"},"outcome_owned":{"type":"string","description":"The single business outcome this role is accountable for. Not a list of duties."},"verdict":{"type":"string","enum":["hire_human","deploy_agent","hybrid","redistribute","do_not_fill"]},"verdict_rationale":{"type":"string","description":"Why this beats the alternatives at their current stage."},"agent_alternative":{"type":"string","description":"What an agent could take over even if a human is hired. Always answer this."},"scorecard":{"minItems":3,"maxItems":7,"type":"array","items":{"type":"object","properties":{"competency":{"type":"string"},"why_it_matters":{"type":"string","description":"Tie it to the outcome, or cut it."},"how_to_test":{"type":"string","description":"A work sample or question that actually discriminates."},"must_have":{"type":"boolean"}},"required":["competency","why_it_matters","how_to_test","must_have"],"additionalProperties":false}},"first_90_days":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"window":{"type":"string","enum":["day_30","day_60","day_90"]},"outcome":{"type":"string"}},"required":["window","outcome"],"additionalProperties":false}},"comp_band_usd":{"type":"object","properties":{"low":{"anyOf":[{"type":"number"},{"type":"null"}]},"high":{"anyOf":[{"type":"number"},{"type":"null"}]},"basis":{"type":"string","description":"What this band is benchmarked against. Say if you are guessing."}},"required":["low","high","basis"],"additionalProperties":false},"failure_mode":{"type":"string","description":"The most likely way this hire goes wrong, and the early signal."}},"required":["role_title","outcome_owned","verdict","verdict_rationale","agent_alternative","scorecard","first_90_days","comp_band_usd","failure_mode"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false},{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agent":{"type":"string"},"mode":{"type":"string","const":"map_accountability"},"reply":{"type":"string","maxLength":2400,"description":"The operator's answer in plain prose, under 250 words. Direct, opinionated, no preamble. This is what a human reads."},"thinking":{"type":"object","properties":{"diagnosis":{"type":"string","description":"The single constraint that is actually binding right now, judged from this coach's discipline."},"lever":{"type":"string","description":"The one lever to pull against that constraint. Name one, not three."},"confidence":{"type":"string","enum":["low","medium","high"],"description":"low when the caller gave little context; high only with real numbers."}},"required":["diagnosis","lever","confidence"],"additionalProperties":false},"numbers":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"What this number is, e.g. 'Leads needed per month'."},"value":{"type":"string","description":"The number as a display string, e.g. '134' or '$4,200'."},"basis":{"type":"string","maxLength":240,"description":"The finished calculation in one line, e.g. '120 leads x 18% x $333'. State the settled result only — never show working-out, corrections, or 'wait, let me recheck'. If the inputs conflict, put that in `caveats` and use the figure you trust here."}},"required":["label","value","basis"],"additionalProperties":false},"description":"The arithmetic that supports the diagnosis — at most 5, only the ones that change the decision. Empty array if the caller gave no numbers."},"actions":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"title":{"type":"string","description":"Imperative and concrete: 'Raise the Pro tier to $99'."},"steps":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string"},"description":"Ordered steps someone could execute without asking a follow-up question."},"effort":{"type":"string","enum":["hours","days","weeks"]},"metric":{"type":"string","description":"The one number that should move if this worked, and roughly by how much."}},"required":["title","steps","effort","metric"],"additionalProperties":false},"description":"Concrete next moves, highest leverage first. At most 4 — a list of 10 is not a plan."},"caveats":{"maxItems":3,"type":"array","items":{"type":"string"},"description":"Where the caller's inputs are inconsistent, ambiguous, or missing in a way that limits this answer. One sentence each. Empty array when the inputs hold together. This is the ONLY place uncertainty belongs — every other field states settled conclusions."},"deliverable":{"type":"object","properties":{"outcomes":{"minItems":2,"maxItems":8,"type":"array","items":{"type":"object","properties":{"outcome":{"type":"string"},"single_owner":{"type":"string","description":"One role. 'The team' is not an owner."},"decision_rights":{"type":"string","description":"What this owner can decide without asking."},"currently_ambiguous":{"type":"boolean"}},"required":["outcome","single_owner","decision_rights","currently_ambiguous"],"additionalProperties":false}},"gaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes nobody owns today."},"overlaps":{"maxItems":4,"type":"array","items":{"type":"string"},"description":"Outcomes with two owners — where work stalls politely."},"first_fix":{"type":"string","description":"The one ownership change with the largest unblocking effect."},"ritual":{"type":"string","description":"The meeting or artifact that keeps ownership honest, and its cadence."}},"required":["outcomes","gaps","overlaps","first_fix","ritual"],"additionalProperties":false},"context_gaps":{"type":"array","items":{"type":"string"}},"usage":{"type":"object","properties":{"input_tokens":{"type":"number"},"output_tokens":{"type":"number"}},"required":["input_tokens","output_tokens"],"additionalProperties":false},"receipt":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","url","expires_at"],"additionalProperties":false}},"required":["agent","mode","reply","thinking","numbers","actions","caveats","deliverable","context_gaps","usage","receipt"],"additionalProperties":false}]}}}},"400":{"description":"Malformed request. Not charged. `error` is one of `invalid_json`, `invalid_request` (with an `issues[]` array of `{path, message}`), `unsupported_mode`, or `input_too_large`.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"402":{"description":"Payment required. Retry with an X-PAYMENT header, or send the sandbox header for a free sample."},"404":{"description":"`unknown_agent` — see GET /api/v1/agents for the catalog.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"409":{"description":"`request_in_flight` — an identical request is still running, or the Idempotency-Key belongs to a different payer. Not charged; honour `Retry-After` and retry to collect the deliverable.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"429":{"description":"`rate_limited`. Not charged. Honour the `Retry-After` header.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"500":{"description":"`internal_error`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"502":{"description":"Upstream model failure. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}},"503":{"description":"`capacity` (temporarily at capacity, honour `Retry-After`) or `payments_not_configured`. Not charged.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable machine-readable code. Branch on this, never on `message`."},"message":{"type":"string","description":"Human-readable explanation."},"docs":{"type":"string","description":"Where to read more."}},"additionalProperties":true}}}}}}},"/api/v1/receipts/{receipt_id}":{"get":{"operationId":"getReceipt","summary":"Re-read a call you already paid for: amount, mode, usage, deliverable. Free.","description":"The receipt id is returned inside every paid 200 and is a bearer credential — treat it like an API key. Check receipt.expires_at on that 200 first: non-null means this endpoint serves the call back until that timestamp (7 days), null means the call was not persisted and this returns 404. To recover a call you never read, retry the original request with the same Idempotency-Key instead. Send X-PAYMENT or X-Payer-Address and the payer must match.","security":[],"parameters":[{"name":"receipt_id","in":"path","required":true,"schema":{"type":"string","pattern":"^rcpt_[0-9a-f]{32}$"}}],"responses":{"200":{"description":"The settled call and its deliverable."},"403":{"description":"The proof presented belongs to a different payer."},"404":{"description":"Unknown, expired, or never persisted — a call whose receipt.expires_at was null reads back exactly like an id that never existed."}}}}}}