diff --git a/.claude/memory/MEMORY.md b/.claude/memory/MEMORY.md index d7deb80..b93c27a 100644 --- a/.claude/memory/MEMORY.md +++ b/.claude/memory/MEMORY.md @@ -12,6 +12,7 @@ Keep this file under 200 lines — anything longer is content bloat, not memory. - [learnings/recheck-open-prs-at-pr-open](learnings/2026-05-26-recheck-open-prs-at-pr-open.md) — session-start grep is insufficient; re-grep `list_pull_requests` right before `create_pull_request` to catch parallel-session races (PR #18 vs #20 ENG-25) - [learnings/closed-pr-receives-review-after-close](learnings/2026-05-26-closed-pr-receives-review-after-close.md) — Closed PR can still get a REQUEST_CHANGES review seconds after dup-close; don't reopen, surface to sibling PR + Linear (PR #18 vs #20 ENG-25 race) - [learnings/review-feedback-fanout](learnings/2026-05-26-review-feedback-fanout.md) — multiple REQUEST_CHANGES comments fire multiple manager sessions; fetch + check head-branch commits newer than the reviewer comment before doing work (PR #20) +- [learnings/vercel-bot-status-as-deploy-health-fallback](learnings/2026-05-26-vercel-bot-status-as-deploy-health-fallback.md) — When Vercel MCP/CLI auth is broken, read the GitHub Vercel-bot's commit status on the latest PR HEAD as a deploy-health fallback ## Decisions - [decisions/mcp-for-small-writes-checkout-for-big](decisions/2026-05-26-mcp-for-small-writes-checkout-for-big.md) — Single-file writes go through GitHub MCP; multi-file or test-needing changes use the mounted checkout + `git push` diff --git a/.claude/memory/learnings/2026-05-26-vercel-bot-status-as-deploy-health-fallback.md b/.claude/memory/learnings/2026-05-26-vercel-bot-status-as-deploy-health-fallback.md new file mode 100644 index 0000000..112c24c --- /dev/null +++ b/.claude/memory/learnings/2026-05-26-vercel-bot-status-as-deploy-health-fallback.md @@ -0,0 +1,3 @@ +# Use GitHub Vercel-bot status as a deploy-health fallback + +Step 1 of the loop (deployment health) assumes either `mcp__vercel__list_deployments` or `vercel ls --token $VERCEL_TOKEN` works. Both routinely fail in this session — MCP token is scoped to the wrong team (403, see ENG-24) and `VERCEL_TOKEN` is empty in env despite ENG-13 being closed Done. When that happens, don't skip the step — read the Vercel bot's GitHub commit status on the latest PR's HEAD via `mcp__github__pull_request_read({method: "get_status"})`. The bot posts a `Vercel` context with `state: success|failure|pending` and `target_url` pointing at the deployment, which is enough to answer "is the latest deploy on fire?". Also check the bot's auto-comment on a recently-merged PR for the production deployment URL and Ready/Error state. This is signal-equivalent for the health check without needing Vercel auth at all.