Lessons — aceupdocs
-
[2026-09-11] studio cannot push to GitHub over git; xhuntr can.
git pushand evengit ls-remotehang indefinitely from studio (they do not fail, they hang —GIT_TERMINAL_PROMPT=0does not make them fail fast either). Plain HTTPS to GitHub from studio is fine:api.github.comreturns 200 in 0.2s andgithub.com/<repo>.git/info/refscorrectly returns 401 for a private repo. So it is git’s transport specifically, not the network and not credentials. → Push from xhuntr.rsync -az --delete <repo>/ xhuntr:<same path>/thengit pushthere. Verified working: the whole 20 MB repo with 6 commits of history pushed in one go. The GitHub MCP (authenticated asnxsdevv) also works from studio for creating repos and reading files, so use it for verification. -
[2026-09-11] Two different “Mintlify MCP”s — do not conflate them.
app.mintlify.com/<org>/<project>/products/mcpis an MCP server Mintlify auto-generates from your published docs, for your readers’ AI tools. It is unrelated tohttps://mcp.mintlify.com, the admin MCP used to edit and publish docs. Only the second one publishes anything, and it has no asset-upload operation — which is why a git-backed repo is the only route that carries the 30 screenshots. -
[2026-09-11] Build docs from the running code, never from the design
artifacts.
rhbot/docs/ARTIFACT-GAPS.mdexists because the shipped build and the Claude artifacts disagree on nearly every screen, and it says the build wins. Writing fromSCREENS.mdprose is what produced those gaps in the first place. One claim did slip through from artifact prose — that the public verify page shows a whole shared-table round — and was wrong: it is a four-field verifier form. Caught by greppingpublic/verify/index.html. -
[2026-09-11] Check
.envfor overrides before publishing any configured number.config.tsparses money policy asint(NAME, fallback, …), so a live override diverges silently from the code default — exactly how the XHuntr docs shipped wrong prices. Verified by counting keys (grep -cE '^KEY=' .env) without ever opening the file: all nine money keys absent, so the fallbacks are the live values. -
[2026-09-11] The Mintlify Admin MCP CAN publish — I was wrong to say it
couldn’t. The token stored on xhuntr works from anywhere via plain JSON-RPC
over HTTP; it is not tied to that box. Two gotchas cost time: Cloudflare
1010-blocks a bare Python user-agent (send
User-Agent: node), and a session goes stale aftersavemerges, soupdate_configfails withno_editor_metadatauntil youcheckoutwith a freshbranch. What it genuinely cannot do: upload assets (zero asset operations in the SDK, verified by search) and connect a GitHub repo (dashboard-only;workflows.*needs a Pro entitlement). -
[2026-09-11] Status codes are not verification — look at the page. All 41
pages returned 200 and 832 image refs resolved, and only
webshotrevealed CORS failures in the console. They turned out cosmetic, but the check that found them was the visual one, not the HTTP one. Equally,create_nodeon a path that already exists silently attaches to the existing file instead of seeding content: the homepage was an emptyindex.mdxand/served a redirect loop, while every status check said 200.
