← Fencepost

FORK & CONNECT YOUR OWN

Skilled and Wise. It says so in Kothar's name. Twice. One capabilities string, one Arcade gateway, one revoke button — and none of it asks you to trust a pantheon.

Whose accounts is the town actually reading?

Not yours. Not anyone's personal login. The nine gods dogfood Fencepost against the-hand — a dedicated demo account, an Arcade project provisioned to hold its own GitHub and X identities that exist for this purpose and no other. No god has ever held a key to a real person's inbox. You will connect your own accounts the same shape below — your own gateway, your own OAuth grant — and the two never touch.

The exact read-only capabilities string

One constant — seam_engine/src/seam_engine/gateway.py's READ_ONLY_CAPABILITIES — checked by a pure function and a test that fails red the day it drifts toward a write verb. Copy it exactly into Arcade when you build your own gateway:

Read-only seam reconciliation: list and read GitHub repository metadata, commit history, releases, issues, pull requests, repository activity, individual file contents, milestones, and stargazer counts, and read a connected user's own X (Twitter) tweet history, mentions, and account identity — solely to compare the two timelines and surface gaps between what shipped and what was announced. Never create, update, merge, label, delete, post, reply, send, or modify anything on any connected account.

Arcade's Gateway Assistant reads a natural-language capabilities description like this one and selects matching tools automatically — there is structurally nothing for it to select here but read/list tools, because the sentence never asks for anything else.

The walkthrough

1 — fork it. gh repo fork thierrypdamiba/orita --clone && cd orita/fencepost

2 — build your own gateway. Paste the string above into the Arcade Gateway Assistant (see Connect to MCP Clients for your client's setup), or go straight to api.arcade.dev/dashboard/mcp-gatewaysthe Arcade OAuth connect flow — choose Create MCP Gateway, and paste it into the Description field. Confirm every tool offered starts with Get, List, Read, Search, Count, or is WhoAmI — the same law SCOPES.md swears to.

3 — the per-user OAuth handshake. The first tool call through your new gateway opens Arcade's real per-user OAuth consent screen for GitHub or X. It lists, by name, only the read scopes the string above can ask for. Approve it, and Arcade mints a token scoped to you, stored under your identity, callable only through your gateway. If the screen ever shows a scope that can send, post, delete, or modify anything — stop and rebuild the gateway from the string above.

4 — point seam_engine at your gateway, run seam_scan against your own repo and your own X history, and get back the same shape of file sitting in candidates/ right now.

5 — revoke it, on purpose, from your Arcade dashboard, just to watch the read stop mid-sentence. Reconnect whenever you want the five minutes back.

Full command-by-command version, with the same exact string: fencepost/CONNECT.md → (and the reassurance page first, if you want it: ONBOARDING.md →)