docs(deploy): v1 launch execution summary

This commit is contained in:
Garfield
2026-06-12 07:23:06 -04:00
parent bc58befd5e
commit e0623574ec

View File

@@ -0,0 +1,141 @@
# SquareMCP v1 Launch Deployment — Execution Summary
**Date:** 2026-06-12
**Phase:** 02-v1-launch-deployment
**Commit:** `bc58bef`
**Branch:** main
**Executor:** kimi-cli
---
## What was deployed
### 1. hermes-mcp API (`hermes.squaremcp.com`)
**Image:** `localhost:32000/hermes-mcp@sha256:1ada6f03a81ad53cd3b641b8934ae99e1a29651ac05f0bb7fbed790bb9f9d1ed`
**Changes:**
- Added 4 Obsidian endpoints to `getOpenApiSpecChatGPT()` in `src/manifest.ts`:
- `GET /api/obsidian/search`
- `GET /api/obsidian/note`
- `PUT /api/obsidian/note`
- `POST /api/obsidian/note/append`
- `GET /api/obsidian/sync`
- Updated ChatGPT OpenAPI description to mention Obsidian, email, and social
- Updated OAuth login subtitle: "One login connects Claude and ChatGPT to your notes, email, and social accounts."
- Fixed `src/Dockerfile` to copy `scripts/` before `npm install` (postinstall `patch-imapflow.cjs` was failing builds)
**Live verification:**
- `GET /health` → 200, toolCount 55
- `GET /openapi-chatgpt.json` → 33 paths, Obsidian paths present
- `GET /api/obsidian/search?query=SquareMCP` → returns notes successfully
### 2. product/site (`squaremcp.com`)
**Image:** `localhost:32000/squaremcp-site@sha256:e07e2020651f058136048e73052b8680caede18bb17596383060c3648900276b`
**Changes:**
- Added consumer hero section above enterprise hero (mortgage broker / SMB angle)
- Added Twilio logo asset `squaremcp-logo-256.bmp` (256x256, 262KB)
- Updated `Dockerfile` + `server.mjs` to serve BMP with `image/x-ms-bmp` MIME type
**Live verification:**
- `https://squaremcp.com` contains `consumer-hero` section
- `https://squaremcp.com/squaremcp-logo-256.bmp` → 200, `image/x-ms-bmp`
### 3. product/app (`app.squaremcp.com`)
**Image:** `localhost:32000/squaremcp-app@sha256:c2bc1ee1bd6eed3981c6cf4c253d61cc1022373720f65debaea03dd8b53ed494`
**Changes:**
- Added Obsidian card to platform grid
- Reordered platforms: v1 platforms first (Obsidian, Email, Facebook, Instagram)
- Added onboarding banner
- Updated welcome copy and CTA
**Live verification:**
- `https://app.squaremcp.com` contains "Obsidian" card
### 4. Infrastructure / K8s
**Manifests updated:**
- `hermes-k8s.yaml` — hermes-mcp image SHA + added `FACEBOOK_DEFAULT_*` and `INSTAGRAM_DEFAULT_*` env var placeholders
- `product/site/squaremcp-k8s-ingress.yaml` — squaremcp-site image SHA
- `product/app/app-k8s.yaml` — squaremcp-app image SHA
**Applied:** all three manifests to `fetcherpay` namespace. All pods healthy.
### 5. Twilio WhatsApp webhook (Alex Ferrari pilot prep)
- Configured Messaging Service `MG17ba9689810cc62a20f2bab0cc857035` inbound webhook to `https://hermes.squaremcp.com/webhook/twilio/whatsapp`
- Configured phone number `+19547385805` SMS URL to same webhook
- Verified webhooks return 403 on unsigned requests (correct fail-closed behavior)
---
## What is blocked / remaining
### Action 3 — Facebook + Instagram credentials
**Status:** BLOCKED — waiting on user
Current `FACEBOOK_DEFAULT_ACCESS_TOKEN` is expired (expired 2026-05-12). Instagram credentials are empty placeholders.
**Needed from Facebook Developer Console → Graph API Explorer:**
- Page access token with scopes: `pages_manage_posts`, `pages_read_engagement`, `pages_show_list`, `instagram_basic`, `instagram_content_publish`
- `GET /me/accounts?fields=name,id,instagram_business_account{username,id}`
- Values to deploy:
- `FACEBOOK_DEFAULT_ACCESS_TOKEN`
- `INSTAGRAM_DEFAULT_ACCESS_TOKEN` (same token)
- `INSTAGRAM_DEFAULT_BUSINESS_ACCOUNT_ID`
- `FACEBOOK_DEFAULT_PAGE_ID` (likely unchanged: `1152192567968569`)
**Optional for v1.1:** `FACEBOOK_APP_ID` + `FACEBOOK_APP_SECRET` to enable long-lived token exchange.
### Action 4 — Create ChatGPT Custom GPT
**Status:** PENDING — blocked by Action 3 (needs working Facebook/Instagram to test)
Requires manual browser work in ChatGPT UI:
- Schema URL: `https://hermes.squaremcp.com/openapi-chatgpt.json`
- OAuth client ID/secret from `hermes-k8s.yaml`
### Action 5 — Apply to Claude.ai marketplace
**Status:** PENDING — blocked by Action 3
Requires manual browser work in Claude.ai UI. Also still needs a 512×512 logo.
---
## Verification commands
```bash
# Health
curl https://hermes.squaremcp.com/health
# OpenAPI spec includes Obsidian
curl https://hermes.squaremcp.com/openapi-chatgpt.json | jq '[.paths | keys[] | select(startswith("/api/obsidian"))]'
# Obsidian search works
curl -H "x-api-key: $MCP_API_KEY" "https://hermes.squaremcp.com/api/obsidian/search?query=SquareMCP&limit=2"
# Site consumer hero
curl -s https://squaremcp.com | grep consumer-hero
# App Obsidian card
curl -s https://app.squaremcp.com | grep Obsidian
# Facebook still broken until token refresh
curl -H "x-api-key: $MCP_API_KEY" https://hermes.squaremcp.com/api/facebook/page
```
---
## Files changed in this deployment
```
hermes-k8s.yaml
product/app/app-k8s.yaml
product/app/index.html
product/site/Dockerfile
product/site/index.html
product/site/server.mjs
product/site/squaremcp-k8s-ingress.yaml
product/site/squaremcp-logo-256.bmp
src/Dockerfile
src/index.ts
src/manifest.ts
```