Authors: ExCom+ Unified (Betty chair, Willemena PPMO-HQ, Sade, Gemma, Vesta) with Clarise and Claudia review Marc-directive: 2026-05-18 PM, "How do we extend all things EGP PPMO+ into EnRoute Command Center" Status: Draft v1, awaiting Marc ratify Date: 2026-05-18 Jira candidate epic: SWAT-PPMO-CC-EXTEND-01
EGP PPMO+ today runs as nine sub-organizations (HQ, KC, KP, OA, PI, CB, HK, LH, KCL) coordinated through local tools, launchd crons, and the GHL backend (rendered as EnRoute Command Center). Marc's directive is to lift the entire orchestration surface (workflows, dashboards, persona invocation, BUILD queue, ship audit log, recruiter and saved-jobs pipelines) into the Command Center UI so that one operator-facing screen reflects the full PPMO+ state and accepts directive input. The recommendation is Path E (Hybrid): a Custom Pages dashboard pane for read-heavy state and Custom Menu Links plus marketplace widgets for high-frequency actions, with the existing API and webhook layer kept as the system of record. Estimated runbook 28 working days, 4 sprints, with first visible operator value on day 7 (read-only PPMO+ activity pane live inside Command Center).
[Marc directive in chat]
|
v
[Persona (Willemena/Vesta/etc)] ---- tools/*.py ---- launchd crons
| |
v v
[Local outputs .md/.html/.pdf] [GHL REST API]
| |
v v
[notifications.enroute.global] [EnRoute Command Center UI (GHL render)]
/Volumes/LaCie/ Claude/Sales Pipeline/), Google Sheets job tracker, Mailgun mw@relay, Confluence (EGPSWAT, EGPCSDEFCON), and GHL Conversations.2026-05-13-DD242-v2-EnRoute-Command-Center-Bridge, 2026-05-02-EGP-AR2-Command-Center-Integration, 2026-05-13-DD254-Command-Center-Auth-Only-Committee, 2026-05-13-DD257-Command-Center-5b-5c-Parallel, tools egp_command_center_api_client.py, egp_command_center_bridge.py, egp_command_center_cdp_client.py, egp_command_center_deeplinks.json.[Marc directive in chat OR in Command Center directive widget]
|
v
[PPMO+ Orchestration Layer (Cody + persona crew + tools)]
|
+--> [GHL REST API] <----> [EnRoute Command Center UI]
| |
| +-- Pane 1: PPMO+ Activity Dashboard (Custom Page)
| +-- Pane 2: BUILD Queue + Ship Log (Custom Page)
| +-- Pane 3: Recruiter + Saved-Jobs Pipeline (native CRM filter)
| +-- Pane 4: Directive Capture Widget (Custom Menu Link to mini-app)
| +-- Pane 5: Persona Roster + Status (Custom Page)
|
+--> [CF Pages dashboards (dashboards.enroute.global)] embedded via iframe
+--> [Mailgun, Confluence, Jira] linked via deep-link buttons
| Task | Owner | Effort (days) | Dependencies | Definition of Done |
|---|---|---|---|---|
| T-01 Inventory all PPMO+ state surfaces and map to Command Center pane | Vesta | 1 | none | Mapping CSV in registries |
| T-02 Stand up read-only PPMO+ Activity dashboard on CF Pages (dashboards.enroute.global/ppmo-activity) | Gemma | 2 | T-01 | URL live, JSON feed from ppmo-activities-registry.json |
| T-03 Embed Activity dashboard inside Command Center via Custom Page iframe | Willemena | 1 | T-02 | Pane visible to Marc on login |
| T-04 BUILD Queue feed: scrape DD owed BUILDs from MEMORY.md and render JSON endpoint | Clarise | 1 | T-01 | /api/ppmo/build-queue.json returns 200 |
| T-05 Ship Log feed: aggregate daily ship emails into JSON | Clarise | 1 | T-01 | /api/ppmo/ship-log.json returns last 30 days |
| T-06 BUILD Queue + Ship Log Custom Page in Command Center | Gemma | 2 | T-04, T-05 | Pane live with filter and sort |
| T-07 Persona Roster pane (live status, last-touched, current task) | Willemena | 2 | T-01 | Pane live, refresh 60s |
| T-08 Directive Capture widget (Marc types directive, posts to Cody intake API) | Claudia | 3 | T-01 | End-to-end submit -> Cody acknowledges in chat |
| T-09 Recruiter and saved-jobs filter views inside native CRM | Willemena | 1 | none | 4 saved smart-lists live |
| T-10 Deep-link buttons (Mailgun, Confluence, Jira, GitHub) on Command Center home | Vesta | 1 | none | Buttons on home with auth pass-through |
| T-11 GHL Marketplace App skeleton (private app for EGP only) to bundle widgets | Sade | 4 | T-02 through T-08 | App installable on EGP location |
| T-12 Auth and SSO between Command Center and CF Pages (Cloudflare Access policy) | Vesta | 2 | T-02 | Single-sign-on, no second prompt |
| T-13 Telemetry: log every Marc click in Command Center to PostHog or self-hosted | Clarise | 1 | T-11 | Events flowing |
| T-14 Operator runbook + persona attribution rules for in-CC actions | Betty | 1 | T-08 | runbook-CC.md published |
| T-15 Acceptance test with Marc (45-min walk-through) | Betty | 0.5 | all | Marc sign-off recorded |
| T-16 Hardening: rate limits, error pages, fallback to local URLs | Gemma | 2 | T-15 | Chaos test passes |
| T-17 Production cutover + announcement | Willemena | 0.5 | T-16 | Email sent, Confluence page live |
| Slack budget | n/a | 2 | n/a | reserved |
Total: 28 working days, 4 two-week sprints.
| Strengths | Weaknesses |
|---|---|
| GHL already system of record for contacts, conversations, opportunities | GHL Custom Page iframe sandbox limits some JS APIs |
| Cloudflare Pages already used for dashboards (cv, decks, strategy subdomains) | Marketplace App approval not needed for private installs but still adds friction |
Existing API client egp_command_center_api_client.py already wired |
Persona attribution rules not yet enforced in browser context |
| Prior DD242, DD254, DD257 prep work already complete | Cookie refresh fragility (see egp_ghl_cookie_refresh.py) |
| Opportunities | Threats |
|---|---|
| One-screen operator surface = compounding Marc productivity | GHL UI redesigns can break iframes (mitigate with deep-links fallback) |
| Becomes the demo surface for the EGP AI Studio commercial pitch | Whitelabel leakage risk if GHL strings render through iframe |
| Lays foundation for Plan B (Cody autonomous control) | CSP and X-Frame-Options conflicts (mitigate with Cloudflare Workers proxy) |
egp_ghl_cookie_expiry_alert.py.egp_command_center_deeplinks.json already exists); weekly synthetic test._egp_vendor_name_leakage_lint.py (BUILD owed) scans every iframe payload pre-publish; CF Worker rewrites GHL strings if any leak through.01-strategy/strategy/2026-05-13-DD242-v2-EnRoute-Command-Center-Bridge/dd242-v2-integration-guide.md (auth bridge canon)01-strategy/strategy/2026-05-02-EGP-AR2-Command-Center-Integration/ (first integration spec)01-strategy/strategy/2026-05-13-DD254-Command-Center-Auth-Only-Committee/ (auth committee chartered)01-strategy/strategy/2026-05-13-DD257-Command-Center-5b-5c-Parallel/ (parallel build spec)tools/egp_command_center_api_client.py, egp_command_center_bridge.py, egp_command_center_cdp_client.py, egp_command_center_deeplinks.json01-strategy/strategy/2026-04-25-GHL-Adapter-Solution-Architecture/