docs: OpenAI verification pack + hosted-demo-browser recommendation - #126
Merged
Conversation
Two directory-submission prerequisites, assessed against freshly fetched official docs and measured against production today. openai-verification-pack.md (new) - Domain verification is a .well-known HTTPS file ONLY — there is no DNS TXT record. Worth stating plainly: our apex already carries Google, Microsoft and Brevo TXT verifications, so DNS is the natural but wrong assumption here. - Records why the token must be served from relay.api.vibebrowser.app rather than the apex: the apex 307-redirects to www.vibebrowser.app, and www is a *sibling* of the MCP host, not a parent, so it is ineligible as a challenge base. The relay host is redirect-free and is the portal default. - Endpoint is live (platform#69); the only outstanding step is pasting the portal-minted token into OPENAI_APPS_CHALLENGE_TOKEN. - Business-verification pack: entity data, public URLs measured 200 today, support contact, paste-ready product description, and the MCP server details including why we submit Universal rather than Template. mcp-distribution-channels.md §7 — corrections - §4's OAuth work shipped (platform#67/#68); we now have a universal URL, which removes the template-URL disqualifier. §4 is now a design record, not a TODO. - Correction: annotations are NOT done on the path that matters. vibe-mcp#125 annotated the npm stdio package, but the relay proxies tools/list straight from the extension, whose McpServerToolDefinition has no title and no hints. The endpoint both directories scan still advertises zero annotations. Cheapest fix is to enrich in the relay (a deploy) rather than the extension (a Chrome Web Store release). mcp-distribution-channels.md §8 — demo browser - Anthropic does NOT require working tools to be listed: submissions are auto-scanned and listed as community connectors by default, with a functional per-tool test only on an escalation we cannot request. OpenAI does require them, in three places — most sharply, Scan Tools cannot even populate the draft, because our relay errors on tools/list with no extension connected. - Recommends AGAINST a persistent cluster-hosted browser. Our tools include evaluate_script and web_fetch, so a browser inside the cluster that holds vibe-secrets is a plausible metadata-service SSRF path to those secrets. Free in cash, not worth the risk. - Recommends nothing be built for Anthropic at all. - For OpenAI only: a narrow, allowlisted, credential-free ephemeral CI session reusing the existing tests/cua Xvfb+Chrome harness, exploiting the fact that the extension dials outbound so no inbound port is needed. No new spend; honest cost is ~360 metered Actions minutes per 6h window on a private repo. - Sequenced last, behind the annotations fix, so we never open a submission that is already guaranteed to be rejected.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #124. Two directory-submission prerequisites, assessed against freshly fetched official docs and measured against production today.
TASK A — domain + business verification
Domain verification is a
.well-knownHTTPS file only — there is no DNS TXT record. Worth stating plainly: our apex already carries Google, Microsoft and Brevo TXT verifications, so "add a TXT record" is the natural but wrong assumption.The DNS/hosting half is done and live —
VibeTechnologies/platform#69:Returns
200 text/plainwith the bare token onceOPENAI_APPS_CHALLENGE_TOKENis set;404while unset, deliberately never an empty200(an empty body reads as a valid-but-wrong token and could burn a verification attempt).Why the relay host, not the apex: the apex
307s towww.vibebrowser.app, andwwwis a sibling of the MCP host, not a parent — so it is ineligible as a challenge base. The relay host is redirect-free and is the portal's default.worklog/openai-verification-pack.md(new) holds the business-verification pack: entity data (UBI, EIN, D-U-N-S, registered agent), public URLs all measured200today, support contact, a paste-ready product description, and the MCP server details — including why we must submit Universal rather than Template.§7 — corrections to #124
/mcpnow returns401with a correctWWW-Authenticate: Bearer resource_metadata=...and both OAuth well-knowns return200. We have a universal URL, which removes the template-URL disqualifier. §4 is now a design record, not a TODO.tools/liststraight from the extension, whoseMcpServerToolDefinitionhas notitleand no hints, so the endpoint both directories actually scan still advertises zero annotations. Cheapest fix is to enrich in the relay (a deploy) rather than the extension (a Chrome Web Store release).TASK B — demo browser: recommendation
Anthropic does not require working tools to be listed. Submissions are auto-scanned and listed as community connectors by default; a functional per-tool test happens only on an escalation we cannot request. Recommend building nothing for Anthropic.
OpenAI does require them, in three independent places — most sharply,
Scan Toolscannot even populate the draft, because our relay errors-32002ontools/listwith no extension connected.Recommend AGAINST a persistent, cluster-hosted browser. Our toolset includes
evaluate_script(arbitrary JS) andweb_fetch(arbitrary URL). A browser inside the cluster that holdsvibe-secretsis a plausible metadata-service (169.254.169.254) SSRF path to production secrets. Free in cash, not worth the risk — and that risk is created purely by the "keep it free, reuse the existing cluster" choice.For OpenAI only, build the narrow version: an ephemeral, allowlisted, credential-free session reusing the existing
vibe/tests/cua/Xvfb+Chrome harness, exploiting the fact that the extension dials outbound so no inbound port is needed. A 6h job cap gives the time box for free.Cost, honestly: no new paid services and no new cloud spend either way — but "free" overstates it.
VibeWebAgentis private, so it consumes ~360 metered Actions minutes per 6h window (~1,000–2,000 for a realistic review) from the existing allowance.Sequenced last, behind the annotations fix, so we never open a submission that is already guaranteed to be rejected — only one version may be in review at a time and the queue has no published SLA.
Docs-only; no code paths touched.