OpenChainGraph · Explainer Six steps and one runnable example

Three doors into one kernel

An agent can reach one of this estate's calculators three ways. The page registers a tool with the browser. A link carries the inputs. A call goes over the network to the worker. This page walks each door in turn, then runs one published input sample through all three paths so the receipts can be compared line by line. Everything described as running today was read or run against the public site on 5 October 2026.

Presenter mode shows one step per screen. Arrow keys move, A toggles autoplay, Esc exits.
Every door ends at the same kernel file. Give all three identical inputs and they return the identical verdict and the identical execution hash, and anyone holding those inputs can recompute the hash with public tools.
Part one · The three doors

Three ways in and the rule behind them

What a registration publishes, the two ways its arguments can travel, the link that carries inputs, and the worker that runs the same module one network hop away.

1
Step 1 · The registration door

What a registration publishes

A page that wants an agent's call publishes one registration: a name, a description, an input schema derived from the kernel's declared inputs, and an execute function. The page makes the registration in its own JavaScript when the browser exposes the model context, so the browser learns what the page can do and nothing leaves the machine.

ainumbers.co/chaingraph/art-591-x402-signer-recovery-verifier.html browser agent registered with the browser name: verify_x402_signer_recovery description: recovers the signer inputSchema: from the kernel's inputs execute(params) fills form, runs annotations: readOnlyHint true the page's own code makes the call computable digest r s yParity claimedFrom <meta http-equiv="origin-trial"> first-party token turns document.modelContext on .well-known/webmcp.json off-site discovery: 107 tools listed on 5 October 2026

In stock Chrome 149 through 156 the surface is on behind an origin trial, and a first-party token in a meta tag turns it on for visitors without a flag. Off-site discovery has its own artifact: .well-known/webmcp.json lists each registered tool with its page, its name, a SHA-256 of its input schema and its read-only annotation. On 5 October 2026 that file listed 107 tools.

Prompt at this stepread the registry
Read https://ainumbers.co/.well-known/webmcp.json and report the name, description and read-only annotation recorded for the x402 signer recovery page.
verify_x402_signer_recovery, read-only, registered on chaingraph/art-591-x402-signer-recovery-verifier.html.
art-591 registration block.well-known/webmcp.json, read 5 October 2026WebMCP field notes
2
Step 2 · Two handles

Two handles on the registration door

One registration carries two ways for the arguments to travel. In wrapper mode the arguments fill the page's own form and press the page's own run, so what the agent receives is byte for byte what a person pressing Run receives. In direct mode the arguments are checked against the registration's schema and handed straight to the page's kernel function, and an echo panel shows the exact inputs the agent used.

agent arguments one registration name inputSchema readOnlyHint: true execute(params) the page decides how execute travels wrapper mode arguments fill the page's form fields, then the page's own run function computes direct mode schema check, then the page's kernel function digest meta tag stamps the exact kernel bytes echo panel: "Inputs used by the agent" rare: it needs a byte-exact kernel copy on the page both handles end at the page's own receipt a two-handle registration on one page: not yet available

Direct mode is rare, and the reason is the point: handing arguments straight to the kernel function only means something when the page carries a byte-exact copy of that kernel, so the page stamps a digest of the exact kernel bytes it shipped and the site checks that stamp against the kernel file. Most registrations choose wrapper mode for exactly this reason. On 5 October 2026 the site's own check of every registered page ran clean, with 54 pages settling on a documented baseline that is designed only to shrink.

Prompt at this stepagents welcome
On the currency basket index page, call the registered tool with a two-component basket, then read back the echo panel: list the exact inputs the agent used.
art-591 wrapper registrationart-561 direct registration + kernel-digest metasite wrapper check, run 5 October 2026
4
Step 4 · The worker door

The worker door

The same kernel module runs one network hop away. The page carries a shard of the kernel inline, the worker carries its own copy of the same module, and a tools/call request in a JSON-RPC envelope reaches the worker at mcp.ainumbers.co/mcp. The response is a full artifact: verdict, output payload, execution hash, and the digest of the kernel that ran.

chaingraph/kernels/art-591-….kernel.mjs export function compute(pp) export async function buildArtifact(pp) export const meta pure: reads only its inputs page shardinline in the HTML worker copysame module, one hop away any MCP client tools/call · JSON-RPC · name + arguments mcp.ainumbers.co/mcp artifact returned execution_hash kernel_digest verdict + payload one file, two copies, identical results
The machine pathenvelope only
POST https://mcp.ainumbers.co/mcp
{"jsonrpc":"2.0","id":2,"method":"tools/call",
 "params":{"name":"verify_x402_signer_recovery",
   "arguments":{"policy_parameters":{ "the manifest sample" }}}}
The worker validates against the manifest schema, runs the module, returns the artifact with the kernel digest that names the exact bytes it ran.

Whether an agent arrives through the registration, a link or the network, the kernel identity and the hash travel with the answer, so a third party can check the work without trusting the messenger. The server lists one tool per node, and utilities such as verify_execution_hash recompute any artifact's hash from its inputs.

mcp.ainumbers.co/mcpMCP docsart-591 kernel digest, sha256:4dfa2047…5ab7
Part two · The proof and the calendar

One receipt, then a staged road to default

The same input through all three doors, and the origin trial that carries the registration door while the browser decides.

5
Step 5 · Convergence

One input and three receipts

The payoff is convergence. One input sample, the worked example published in the x402 signer recovery manifest, went through the page's kernel shard, the deep-link path and one live worker call on 5 October 2026. All three returned the same verdict and the same execution hash.

page kernel shardwrapper fill, then run deep-link pathfragment decoded, run on load live worker calltools/call to mcp.ainumbers.co one execution hash sha256:f2f31693…a853 SIGNER_RECOVERED on all three, 5 October 2026
DoorWhat ran on 5 October 2026execution_hash
Page computethe page's inline kernel shard, wrapper fill then runsha256:f2f3169335e70d55f770b7fff200403885be8672878973c53dbe3f8b185fa853
Deep linkthe #p=v1 fragment decoded by the page, computed on loadsha256:f2f3169335e70d55f770b7fff200403885be8672878973c53dbe3f8b185fa853
Workerone tools/call to mcp.ainumbers.co/mcpsha256:f2f3169335e70d55f770b7fff200403885be8672878973c53dbe3f8b185fa853
VerdictSIGNER_RECOVERED; recovered signer 0x7e5f4552…5bdf matches the claimed addressidentical preimage: digest, r, s, yParity, claimedFrom, plus the form's three empty declared fields

The registration door's own published beat comes from the Agent Staircase: the page's registered function produced sha256:1bc5c975…7a64 with zero network requests during the call. That beat ran a different input sample, and the difference is the design working: the hash commits to the bytes it received, and identical bytes converge on every door.

Prompt at this stepcross-check the doors
Call verify_x402_signer_recovery on https://mcp.ainumbers.co/mcp with the sample from this page's step five table, and compare its execution_hash with the page's, character by character.
Live on 5 October 2026: worker sha256:f2f31693…a853 = page = deep link. Verdict SIGNER_RECOVERED.
run recorded with this page's publicationAgent Staircase, step sixart-591 manifest worked sample
6
Step 6 · The calendar

Public testing on the way to on-by-default

The registration door rides a browser surface that is in public testing. Chrome runs the WebMCP origin trial for versions 149 through 156, and a first-party token in a meta tag turns the surface on for this estate's registered pages without a flag. The current token expires on 17 November 2026. The trial itself ends 16 November 2026, and Chrome 157 is the pencilled-in ship-by-default milestone.

today: public testing token in a meta tag, surface on in stock Chrome 149 to 156 17 November 2026 the current token expires; that date is a fact of the token the destination: on by default how it ends is Chrome's call a page built this way renders and computes for every visitor, with the registration code idle where the surface is absent

Staged progress is the posture: register tools, let agents exercise them in the open, and let the surface earn its default. The pages are built so the outcome does not change them: a browser with the surface gets the registered tools, and a browser without it gets the same page, form and hashes, with the registration code idle.

Prompt at this stepcheck the token
Read the origin-trial meta tag on the x402 signer recovery page and report the feature it declares and the expiry it carries.
feature WebMCP, expiry 2026-11-17, read 5 October 2026.
WebMCP field notesthe meta tag on any registered pagechromestatus.com, WebMCP origin trial
🔒 All inputs are processed locally in your browser. No data is transmitted. Do not enter real personal data — use synthetic or anonymised inputs only.