{
  "version": 1,
  "lastUpdated": "2026-02-06T05:00:00Z",
  "updatedBy": "heartbeat-cron",
  "phases": [
    {
      "id": 1,
      "name": "Discovery & Research",
      "color": "#3B82F6",
      "stages": [
        1,
        2,
        3,
        4
      ]
    },
    {
      "id": 2,
      "name": "Build",
      "color": "#8B5CF6",
      "stages": [
        5,
        6,
        7,
        8
      ]
    },
    {
      "id": 3,
      "name": "Testing & Hardening",
      "color": "#F59E0B",
      "stages": [
        9,
        10,
        11,
        12
      ]
    },
    {
      "id": 4,
      "name": "Documentation & Packaging",
      "color": "#14B8A6",
      "stages": [
        13,
        14,
        15
      ]
    },
    {
      "id": 5,
      "name": "Launch & Distribution",
      "color": "#F43F5E",
      "stages": [
        16,
        17,
        18
      ]
    },
    {
      "id": 6,
      "name": "Adoption & Feedback",
      "color": "#10B981",
      "stages": [
        19,
        20,
        21
      ]
    },
    {
      "id": 7,
      "name": "Monetization & Scale",
      "color": "#EAB308",
      "stages": [
        22,
        23,
        24,
        25
      ]
    }
  ],
  "stages": [
    {
      "id": 1,
      "name": "Identified",
      "phase": 1
    },
    {
      "id": 2,
      "name": "Market Research",
      "phase": 1
    },
    {
      "id": 3,
      "name": "API Research",
      "phase": 1
    },
    {
      "id": 4,
      "name": "Architecture Designed",
      "phase": 1
    },
    {
      "id": 5,
      "name": "Server Scaffolded",
      "phase": 2
    },
    {
      "id": 6,
      "name": "Core Tools Built",
      "phase": 2
    },
    {
      "id": 7,
      "name": "UI Apps Built",
      "phase": 2,
      "gates": [
        "design-mockup-approval",
        "final-screenshot-approval"
      ]
    },
    {
      "id": 8,
      "name": "Integration Complete",
      "phase": 2
    },
    {
      "id": 9,
      "name": "Credentials Acquired",
      "phase": 2,
      "description": "API keys and secrets obtained (can proceed with * if pending)"
    },
    {
      "id": 10,
      "name": "Local Testing",
      "phase": 3
    },
    {
      "id": 11,
      "name": "Edge Case Testing",
      "phase": 3
    },
    {
      "id": 12,
      "name": "Host Compatibility Testing",
      "phase": 3
    },
    {
      "id": 13,
      "name": "Performance Validated",
      "phase": 3
    },
    {
      "id": 14,
      "name": "README Written",
      "phase": 4
    },
    {
      "id": 15,
      "name": "Package Prepared",
      "phase": 4
    },
    {
      "id": 16,
      "name": "Website Built",
      "phase": 4,
      "description": "Landing page with animation (same format as 30 existing MCP sites)"
    },
    {
      "id": 17,
      "name": "Website Live",
      "phase": 4,
      "description": "Deployed to production URL"
    },
    {
      "id": 18,
      "name": "GitHub Repo Published",
      "phase": 4,
      "approval": true
    },
    {
      "id": 19,
      "name": "Website Updated",
      "phase": 4,
      "description": "All GitHub buttons point to actual repo"
    },
    {
      "id": 20,
      "name": "Registry Listed",
      "phase": 5,
      "approval": true
    },
    {
      "id": 21,
      "name": "Launch Marketing",
      "phase": 5
    },
    {
      "id": 22,
      "name": "Content Marketing",
      "phase": 5
    },
    {
      "id": 23,
      "name": "Early Adopter Feedback",
      "phase": 6
    },
    {
      "id": 24,
      "name": "Iteration Cycle",
      "phase": 6
    },
    {
      "id": 25,
      "name": "Community Building",
      "phase": 6
    },
    {
      "id": 26,
      "name": "Freemium/Pro Strategy",
      "phase": 7,
      "approval": true
    },
    {
      "id": 27,
      "name": "Enterprise Outreach",
      "phase": 7
    },
    {
      "id": 28,
      "name": "Enterprise Deals",
      "phase": 7
    },
    {
      "id": 29,
      "name": "Raving Fans",
      "phase": 7
    }
  ],
  "mcps": [
    {
      "id": "closebot",
      "name": "CloseBot MCP",
      "type": "BIG4",
      "stage": 7,
      "tools": 119,
      "apps": 6,
      "modules": 14,
      "blocked": false,
      "blockerNote": "",
      "notes": "119 tools, 14 modules. API connectivity verified. Basic lead listing works. Advanced to edge case testing.",
      "needsCredentials": true,
      "apiKeyEnvVar": "CLOSE_API_KEY",
      "dashboardUrl": "https://app.close.com/settings/api/",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        },
        {
          "stage": 9,
          "entered": "2026-02-05T04:12:00Z"
        },
        {
          "stage": 10,
          "entered": "2026-02-05T07:00:00Z"
        },
        {
          "stage": 11,
          "entered": "2026-02-05T13:03:00Z"
        }
      ],
      "hasCredentials": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "meta-ads",
      "name": "Meta Ads MCP",
      "type": "BIG4",
      "stage": 8,
      "tools": 55,
      "apps": 11,
      "blocked": false,
      "blockerNote": "",
      "notes": "~55 tools, 11 categories, 11 UI apps. Compile clean.",
      "needsCredentials": true,
      "apiKeyEnvVar": [
        "META_ACCESS_TOKEN",
        "META_APP_ID",
        "META_APP_SECRET"
      ],
      "dashboardUrl": "https://developers.facebook.com/apps/",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Meta Ads MCP *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "google-console",
      "name": "Google Console MCP",
      "type": "BIG4",
      "stage": 7,
      "tools": 22,
      "apps": 5,
      "blocked": false,
      "blockerNote": "",
      "notes": "22 tools, 5 UI apps. Compile clean.",
      "needsCredentials": true,
      "apiKeyEnvVar": [
        "GOOGLE_CLIENT_ID",
        "GOOGLE_CLIENT_SECRET",
        "GOOGLE_APPLICATION_CREDENTIALS"
      ],
      "dashboardUrl": "https://console.cloud.google.com/apis/credentials",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Google Console MCP *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "twilio",
      "name": "Twilio MCP",
      "type": "BIG4",
      "stage": 8,
      "tools": 54,
      "apps": 19,
      "blocked": false,
      "blockerNote": "",
      "notes": "54 tools, 19 UI apps. Integrated into LocalBosses.",
      "needsCredentials": true,
      "apiKeyEnvVar": [
        "TWILIO_ACCOUNT_SID",
        "TWILIO_AUTH_TOKEN"
      ],
      "dashboardUrl": "https://console.twilio.com/",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Twilio MCP *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "ghl",
      "name": "GoHighLevel MCP",
      "type": "GHL",
      "stage": 11,
      "tools": 240,
      "apps": 65,
      "blocked": true,
      "blockerNote": "42 failing tests in edge case suite",
      "notes": "65 apps, ~240 tools. Tests: 75 passing, 42 failing (edge case tests need fixes). Cannot advance to Stage 12 until tests pass.",
      "needsCredentials": true,
      "apiKeyEnvVar": [
        "GHL_API_KEY",
        "GHL_LOCATION_ID"
      ],
      "dashboardUrl": "https://app.gohighlevel.com/settings/api_key",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "GoHighLevel MCP *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true
    },
    {
      "id": "acuity-scheduling",
      "name": "Acuity Scheduling",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "needsCredentials": true,
      "apiKeyEnvVar": [
        "ACUITY_USER_ID",
        "ACUITY_API_KEY"
      ],
      "dashboardUrl": "https://acuityscheduling.com/app.php?action=settings&key=api",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Acuity Scheduling *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "bamboohr",
      "name": "BambooHR",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "needsCredentials": true,
      "apiKeyEnvVar": [
        "BAMBOOHR_API_KEY",
        "BAMBOOHR_SUBDOMAIN"
      ],
      "dashboardUrl": "https://YOUR_SUBDOMAIN.bamboohr.com/settings/api/",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "BambooHR *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "basecamp",
      "name": "Basecamp",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "needsCredentials": true,
      "apiKeyEnvVar": [
        "BASECAMP_ACCESS_TOKEN",
        "BASECAMP_ACCOUNT_ID"
      ],
      "dashboardUrl": "https://launchpad.37signals.com/integrations",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Basecamp *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "bigcommerce",
      "name": "BigCommerce",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "needsCredentials": true,
      "apiKeyEnvVar": [
        "BIGCOMMERCE_STORE_HASH",
        "BIGCOMMERCE_ACCESS_TOKEN",
        "BIGCOMMERCE_CLIENT_ID"
      ],
      "dashboardUrl": "https://login.bigcommerce.com/",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "BigCommerce *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "brevo",
      "name": "Brevo",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "API connectivity verified. Contact listing works. Advanced to edge case testing.",
      "needsCredentials": true,
      "apiKeyEnvVar": "BREVO_API_KEY",
      "dashboardUrl": "https://app.brevo.com/settings/keys/api",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        },
        {
          "stage": 9,
          "entered": "2026-02-05T04:12:00Z"
        },
        {
          "stage": 10,
          "entered": "2026-02-05T07:00:00Z"
        },
        {
          "stage": 11,
          "entered": "2026-02-05T13:03:00Z"
        }
      ],
      "hasCredentials": true,
      "liveAPITested": true,
      "liveAPITestDate": "2026-02-05",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "calendly",
      "name": "Calendly",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "needsCredentials": true,
      "apiKeyEnvVar": [
        "CALENDLY_API_KEY"
      ],
      "dashboardUrl": "https://calendly.com/integrations/api_webhooks",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Calendly *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "clickup",
      "name": "ClickUp",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "needsCredentials": true,
      "apiKeyEnvVar": [
        "CLICKUP_API_KEY"
      ],
      "dashboardUrl": "https://app.clickup.com/settings/apps",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "ClickUp *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "close",
      "name": "Close",
      "type": "STD",
      "stage": 16,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "API connectivity verified. Lead listing works. Advanced to edge case testing.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        },
        {
          "stage": 9,
          "entered": "2026-02-05T04:12:00Z"
        },
        {
          "stage": 10,
          "entered": "2026-02-05T07:00:00Z"
        },
        {
          "stage": 11,
          "entered": "2026-02-05T13:03:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "CLOSE_API_KEY",
      "authType": "api_key",
      "dashboardUrl": "https://app.close.com/settings/api/",
      "hasCredentials": true,
      "liveAPITested": true,
      "liveAPITestDate": "2026-02-05",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true
    },
    {
      "id": "clover",
      "name": "Clover",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "CLOVER_API_TOKEN",
      "authType": "oauth2",
      "dashboardUrl": "https://sandbox.dev.clover.com/developers",
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Clover *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "constant-contact",
      "name": "Constant Contact",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "CONSTANT_CONTACT_API_KEY",
      "authType": "oauth2",
      "dashboardUrl": "https://app.constantcontact.com/pages/dma/portal/",
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Constant Contact *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "fieldedge",
      "name": "FieldEdge",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API. ENTERPRISE API - contact sales for access.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "FIELDEDGE_API_KEY",
      "authType": "enterprise",
      "dashboardUrl": "https://www.fieldedge.com/integrations/",
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "FieldEdge *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "freshbooks",
      "name": "FreshBooks",
      "type": "STD",
      "stage": 5,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "FRESHBOOKS_CLIENT_ID",
      "authType": "oauth2",
      "dashboardUrl": "https://my.freshbooks.com/#/developer",
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "FreshBooks *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "freshdesk",
      "name": "FreshDesk",
      "type": "STD",
      "stage": 16,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "FRESHDESK_API_KEY",
      "authType": "api_key",
      "dashboardUrl": "https://support.freshdesk.com/support/solutions/articles/215517-how-to-find-your-api-key",
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "FreshDesk *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true
    },
    {
      "id": "gusto",
      "name": "Gusto",
      "type": "STD",
      "stage": 5,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "GUSTO_CLIENT_ID",
      "authType": "oauth2",
      "dashboardUrl": "https://dev.gusto.com/",
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Gusto *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "helpscout",
      "name": "HelpScout",
      "type": "STD",
      "stage": 16,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "HELPSCOUT_APP_ID",
      "authType": "oauth2",
      "dashboardUrl": "https://secure.helpscout.net/members/apps/",
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "HelpScout *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true
    },
    {
      "id": "housecall-pro",
      "name": "Housecall Pro",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "HOUSECALL_PRO_CLIENT_ID",
      "authType": "oauth2",
      "dashboardUrl": "https://developer.housecallpro.com/",
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Housecall Pro *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "jobber",
      "name": "Jobber",
      "type": "STD",
      "stage": 5,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "JOBBER_CLIENT_ID",
      "authType": "oauth2",
      "dashboardUrl": "https://developer.getjobber.com/",
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Jobber *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "keap",
      "name": "Keap",
      "type": "STD",
      "stage": 5,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "KEAP_CLIENT_ID",
      "authType": "oauth2",
      "dashboardUrl": "https://developer.keap.com/",
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Keap *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "lightspeed",
      "name": "Lightspeed",
      "type": "STD",
      "stage": 5,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "needsCredentials": true,
      "apiKeyEnvVar": "LIGHTSPEED_CLIENT_ID",
      "authType": "oauth2",
      "dashboardUrl": "https://developers.lightspeedhq.com/",
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Lightspeed *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "mailchimp",
      "name": "Mailchimp",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Mailchimp *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "pipedrive",
      "name": "Pipedrive",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Pipedrive *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "rippling",
      "name": "Rippling",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Rippling *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "servicetitan",
      "name": "ServiceTitan",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "ServiceTitan *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "squarespace",
      "name": "Squarespace",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Squarespace *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "toast",
      "name": "Toast",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Toast *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "touchbistro",
      "name": "TouchBistro",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "TouchBistro *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "trello",
      "name": "Trello",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Trello *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "wave",
      "name": "Wave",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Wave *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "wrike",
      "name": "Wrike",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Wrike *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "id": "zendesk",
      "name": "Zendesk",
      "type": "STD",
      "stage": 6,
      "tools": null,
      "apps": null,
      "blocked": false,
      "blockerNote": "",
      "notes": "Compiled clean. Not tested against live API.",
      "stageHistory": [
        {
          "stage": 8,
          "entered": "2026-02-03T00:00:00Z"
        }
      ],
      "compileTestPassed": true,
      "needsAPIKey": true,
      "displayName": "Zendesk *",
      "mockTested": true,
      "note": " | Mock tested, API key pending *",
      "status": "Deployment Ready (API key pending *)",
      "deploymentReady": true,
      "websiteBuilt": true,
      "hasAnimation": true,
      "stageNote": "Downgraded by ruthless eval 2026-02-05"
    },
    {
      "name": "Compliance GRC MCP",
      "description": "Vanta/Drata/Secureframe integration for SOC2/HIPAA/GDPR compliance automation",
      "stage": 1,
      "priority": "HIGH",
      "note": "UNANIMOUS expert consensus. $2-5M ARR potential. No competition. Every funded startup needs this.",
      "targetAPIs": [
        "Vanta",
        "Drata",
        "Secureframe"
      ],
      "estimatedBuildTime": "3-4 weeks",
      "revenueModel": "$99-299/mo per org"
    },
    {
      "name": "HR People Ops MCP",
      "description": "Gusto/Rippling/BambooHR integration for HR automation, onboarding, payroll queries",
      "stage": 1,
      "priority": "HIGH",
      "note": "Zero competition. Easy to build (2-4 weeks). Clear use cases: onboarding, PTO, payroll. $5-15/employee/month.",
      "targetAPIs": [
        "Gusto",
        "Rippling",
        "BambooHR",
        "Deel"
      ],
      "estimatedBuildTime": "2-4 weeks",
      "revenueModel": "$5-15/employee/month"
    },
    {
      "name": "Product Analytics MCP",
      "description": "Amplitude/Mixpanel/PostHog deep integration for natural language analytics queries",
      "stage": 1,
      "priority": "HIGH",
      "note": "Only basic implementations exist. Natural language analytics = killer feature. PostHog is open-source with excellent docs.",
      "targetAPIs": [
        "Amplitude",
        "Mixpanel",
        "PostHog"
      ],
      "estimatedBuildTime": "4-6 weeks",
      "revenueModel": "$49-199/mo per team"
    }
  ],
  "decisions": {
    "pending": [],
    "history": [
      {
        "id": "dec-001",
        "type": "pipeline-wide",
        "stage": "8→9",
        "question": "Testing strategy: structural-only vs live API vs hybrid",
        "resolution": "OVERRIDDEN — Jake directed Buba to proactively acquire API keys via signups, test with real APIs, advance on success",
        "resolvedBy": "Jake (Discord 2026-02-05T03:32:49Z)",
        "resolvedAt": "2026-02-05T03:32:49Z",
        "discordMessageId": "1468811576533586120"
      }
    ]
  },
  "discord": {
    "guildId": "1458233582404501547",
    "categoryId": "1468757930940698675",
    "channels": {
      "pipeline-decisions": "1468757982140567676",
      "design-reviews": "1468757983428083762",
      "pipeline-standup": "1468757984384389234",
      "build-log": "1468757986422820864",
      "blockers": "1468757987412938945",
      "mcp-strategy": "1468757988448669829",
      "shipped": "1468757989497507870"
    }
  },
  "config": {
    "heartbeatIntervalMinutes": 60,
    "maxAutoRetries": 2,
    "humanApprovalRequired": [
      4,
      7,
      18,
      20,
      26
    ],
    "designApprovalRequired": [
      7
    ],
    "autoAdvanceStages": [
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13,
      14,
      15,
      16,
      17,
      19,
      21,
      22,
      23,
      24,
      25
    ],
    "standupTime": "09:00",
    "standupTimezone": "America/New_York"
  }
}
