docs(deploy): v1 launch execution summary
This commit is contained in:
141
.planning/phases/02-v1-launch-deployment/02-01-SUMMARY.md
Normal file
141
.planning/phases/02-v1-launch-deployment/02-01-SUMMARY.md
Normal 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
|
||||
```
|
||||
Reference in New Issue
Block a user