122 lines
13 KiB
JSON
122 lines
13 KiB
JSON
{
|
|
"version": 1,
|
|
"lastUpdated": "2026-02-05T01:00:00Z",
|
|
"updatedBy": "buba-heartbeat",
|
|
"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": "Local Testing", "phase": 3 },
|
|
{ "id": 10, "name": "Edge Case Testing", "phase": 3 },
|
|
{ "id": 11, "name": "Host Compatibility Testing", "phase": 3 },
|
|
{ "id": 12, "name": "Performance Validated", "phase": 3 },
|
|
{ "id": 13, "name": "README Written", "phase": 4 },
|
|
{ "id": 14, "name": "Package Prepared", "phase": 4 },
|
|
{ "id": 15, "name": "GitHub Repo Published", "phase": 4 },
|
|
{ "id": 16, "name": "Registry Listed", "phase": 5 },
|
|
{ "id": 17, "name": "Launch Marketing", "phase": 5 },
|
|
{ "id": 18, "name": "Content Marketing", "phase": 5 },
|
|
{ "id": 19, "name": "Early Adopter Feedback", "phase": 6 },
|
|
{ "id": 20, "name": "Iteration Cycle", "phase": 6 },
|
|
{ "id": 21, "name": "Community Building", "phase": 6 },
|
|
{ "id": 22, "name": "Freemium/Pro Strategy", "phase": 7 },
|
|
{ "id": 23, "name": "Enterprise Outreach", "phase": 7 },
|
|
{ "id": 24, "name": "Enterprise Deals", "phase": 7 },
|
|
{ "id": 25, "name": "Raving Fans", "phase": 7 }
|
|
],
|
|
"mcps": [
|
|
{ "id": "closebot", "name": "CloseBot MCP", "type": "BIG4", "stage": 8, "tools": 119, "apps": 6, "modules": 14, "blocked": false, "blockerNote": "", "notes": "119 tools, 14 modules, 6 UI apps. Compile clean.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "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.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "google-console", "name": "Google Console MCP", "type": "BIG4", "stage": 8, "tools": 22, "apps": 5, "blocked": false, "blockerNote": "", "notes": "22 tools, 5 UI apps. Compile clean.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "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.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "ghl", "name": "GoHighLevel MCP", "type": "GHL", "stage": 8, "tools": 240, "apps": 65, "blocked": false, "blockerNote": "", "notes": "65 apps, ~240 tools. 3 review rounds. All builds passing.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "acuity-scheduling", "name": "Acuity Scheduling", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "bamboohr", "name": "BambooHR", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "basecamp", "name": "Basecamp", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "bigcommerce", "name": "BigCommerce", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "brevo", "name": "Brevo", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "calendly", "name": "Calendly", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "clickup", "name": "ClickUp", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "close", "name": "Close", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "clover", "name": "Clover", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "constant-contact", "name": "Constant Contact", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "fieldedge", "name": "FieldEdge", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "freshbooks", "name": "FreshBooks", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "freshdesk", "name": "FreshDesk", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "gusto", "name": "Gusto", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "helpscout", "name": "HelpScout", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "housecall-pro", "name": "Housecall Pro", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "jobber", "name": "Jobber", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "keap", "name": "Keap", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "lightspeed", "name": "Lightspeed", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "mailchimp", "name": "Mailchimp", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "pipedrive", "name": "Pipedrive", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "rippling", "name": "Rippling", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "servicetitan", "name": "ServiceTitan", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "squarespace", "name": "Squarespace", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "toast", "name": "Toast", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "touchbistro", "name": "TouchBistro", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "trello", "name": "Trello", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "wave", "name": "Wave", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "wrike", "name": "Wrike", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] },
|
|
{ "id": "zendesk", "name": "Zendesk", "type": "STD", "stage": 8, "tools": null, "apps": null, "blocked": false, "blockerNote": "", "notes": "Compiled clean. Not tested against live API.", "stageHistory": [{"stage": 8, "entered": "2026-02-03T00:00:00Z"}] }
|
|
],
|
|
"decisions": {
|
|
"pending": [
|
|
{
|
|
"id": "dec-001",
|
|
"type": "pipeline-wide",
|
|
"stage": "8→9",
|
|
"question": "Testing strategy: structural-only vs live API vs hybrid",
|
|
"options": {
|
|
"A": "Structural test harness → advance to Stage 9",
|
|
"B": "Hold at Stage 8 until API keys provided",
|
|
"C": "Hybrid — structural → Stage 9, live API gates Stage 10"
|
|
},
|
|
"recommendation": "C",
|
|
"discordMessageId": "1468773655801757849",
|
|
"channel": "pipeline-decisions",
|
|
"posted": "2026-02-05T01:00:00Z",
|
|
"status": "awaiting-reaction"
|
|
}
|
|
],
|
|
"history": []
|
|
},
|
|
"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, 15, 16, 22, 23, 24],
|
|
"designApprovalRequired": [7],
|
|
"autoAdvanceStages": [1, 2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14],
|
|
"standupTime": "09:00",
|
|
"standupTimezone": "America/New_York"
|
|
}
|
|
}
|