Skip to content

Commit 9187cae

Browse files
author
Mark Holt
committed
.claude/skills/panda-install: document allowlist-failure mode + request template
When GitHub returns bad_verification_code during device-flow code exchange (not a real expired-code, but Mark's GitHub identity without panda-proxy app access), the skill should: 1. Recognize the symptom (immediate failure after device approval, distinguishable from genuinely expired codes which take minutes) 2. Give the user a ready-made request template with all the fields EthPandaOps needs (GitHub identity, service name, Dex issuer, OAuth client ID, reproducer) 3. Stop the local server (it flaps because the proxy embedding backend is unreachable without auth) Discovered during the first install run on dev-bm-e3-ethmainnet-n4 when the user's GitHub identity was not on the panda-proxy allowlist.
1 parent a029474 commit 9187cae

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

.claude/skills/panda-install/SKILL.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,37 @@ options:
138138
- Install CLI only
139139
```
140140

141+
**Recognising the allowlist failure mode**: the symptom is GitHub
142+
returning `bad_verification_code` during the code-exchange step.
143+
That's NOT an expired code — it's GitHub refusing to issue a token
144+
because the user can't access the upstream OAuth app
145+
(`panda-proxy`). Distinguish from a genuinely expired code by
146+
checking that the failure is immediate after device-flow approval,
147+
not after a multi-minute wait.
148+
149+
When the user picks "Request allowlist", give them the request
150+
template (don't make them assemble it themselves):
151+
152+
| field | value |
153+
|---|---|
154+
| GitHub identity | <ask the user for their GH username> |
155+
| Service | panda-proxy (`panda-proxy.ethpandaops.io`) |
156+
| Dex issuer | `https://dex.primary.production.platform.ethpandaops.io` |
157+
| OAuth client ID | `panda-proxy` |
158+
| Reason | <user's project + team> |
159+
| Reproducer | `panda auth login --no-browser` returns `bad_verification_code` after entering the device code |
160+
161+
Where to send: EthPandaOps Slack/Discord, or GitHub issue on
162+
`ethpandaops/panda`. Visible maintainers in the proxy config's
163+
success-page rules: `samcm`, `mattevans`.
164+
165+
Also stop the local panda server while waiting — it will flap
166+
because the proxy embedding backend is unreachable without auth:
167+
168+
```bash
169+
panda server stop
170+
```
171+
141172
## Step 4 — Self-host the proxy (alternative path)
142173

143174
For orgs with their own ClickHouse / Prometheus / Loki credentials.

0 commit comments

Comments
 (0)