Before you test

Agent preflight

Check the connection before you test Proof with a real agent — then follow the flow below in ChatGPT.

Preflight verdict

No agent connection

Proof could not make its tools available in this browser. The product still works for you — only the agent surface is absent. Open the site in ChatGPT’s in-app browser, or in Chrome with the WebMCP flag enabled.

  • document.modelContext is implemented natively (not yet)not present in this browser
  • Tools registered, read back from the platform (0) (not yet)the tool surface has not initialised yet
  • A test call executed through the platform (not yet)not run yet — use the button below

Calls a tool the same way an agent would. Runs from this page, so the log labels it “this page”.

How to test in ChatGPT

  1. Copy this site’s address: this site
  2. In ChatGPT, open the in-app browser and go to that address. (In the composer, paste the link and open it with the browser.) The page you are reading now loads there too — this preflight works inside ChatGPT.
  3. Ask the agent: “What tools does this page give you? Call check_proof_connection.” It should name the two tools below, run the call — and it will appear in “Recent calls” labelled external · WebMCP (dispatched by the platform, a real WebMCP call). Every entry there arrived through document.modelContext; nothing is simulated.
  4. Ask it what it is not allowed to do. It will tell you: approving, committing, and declaring success do not exist on its side of the line.
  5. Then the full flow: open the workspace, start a task — “Move my reservation to Friday, keep the same room, and stay under $300.” — and have the agent work it there. Its tool list changes as the task advances (watch the Inspect panel), and the approval is always yours.

The exact way to reach the in-app browser changes with ChatGPT versions; any path that loads the page in ChatGPT’s browser works.

What an agent can do here

No tools are registered on this page.

What stays with you

  • approve_change

    Approval is the human’s decision. It is only reachable from a real click in the interface, using a one-time token that is never returned by any tool.

  • commit_change

    Committing follows approval and is performed by the application, not the agent. An agent can prepare and stage a change; it cannot apply one.

  • set_verified

    Nothing may declare its own success. A task becomes verified only when the application re-reads its own state and finds it matches what was asked.

  • edit_constraints_silently

    Constraints belong to the person who set them. An agent can propose a change to them, which appears in the interface for review.

Recent calls

Every entry arrived through document.modelContext. external · WebMCP (dispatched by the platform, a real WebMCP call) means the platform dispatched it — a real WebMCP call from an agent. this page (invoked by this page) means this page invoked it (the self-test above). Proof’s built-in fallback pilot runs server-side over HTTP and never appears in this log.

Nothing has been called yet. Run the test call above, or ask an agent in ChatGPT to call check_proof_connection.