# ZeroExternal Browser Runtime 1.17

ZeroExternal is the infrastructure protocol. Physics Runtime is one compute module. The main entry `/runtime/` opens a working task surface, with modules, local graph, and the Robinhood Chain adapter. `/` opens this browser runtime; existing `/#formula`, `/#spin`, `/protocol/`, Journey and other module routes remain available.

## Execution locations

| Function | Location in this release |
|---|---|
| Task editor, fixed scheduler, planner/solver/verifier | Browser, built-in Web Workers |
| Fourteen physics/data recipes | Browser CPU, with bounded packaged assets |
| Static robot path planning | Browser; no device commands |
| Task/evidence graph | IndexedDB in the current browser profile and origin |
| Signed evidence | Browser Web Crypto, ephemeral P-256 signer |
| Chain deployment/commitment request | Browser prepares; user's EIP-1193 wallet authorizes |
| Blockchain execution/storage | Selected Robinhood Chain network after transaction inclusion |
| Docker isolation, native grants, Kaska/n8n adapters | Optional owner-operated node |
| Secret model credentials, large GPU/QPU jobs, instruments and robot control | Separate trusted service/device adapter |

A browser is not a Docker sandbox or a trusted server. Web Workers share the web origin's trust boundary and do not provide process/container isolation or server-side secret storage. Closing the page ends its computation; it is not an always-on multi-tenant cloud service. Shared accounts, multi-organization authorization, a global graph, distributed consensus and a fleet of connected autonomous LLMs are not created by this release.

## Browser recipes

The same central runner accepts the fourteen existing native recipe IDs: `spin_pipeline`, `double_slit`, `markov_entropy`, `newton_gravity`, `golden_ratio`, `photoelectric`, `thermal_oscillator`, `s_scattering`, `formula_scalar`, `yang_baxter`, `chsh_control`, `hexagon_symbol`, `cms_mass`, `lennard_jones`.

`robot_route` is a separate module: shortest path on a bounded static four-neighbor grid. A point robot has no clearance, moving obstacles, acceleration or stopping distance. Distance divided by specified maximum speed is a lower bound under that model, not a real robot schedule or safety certificate. No device, actuator or payment command is issued.

Each run validates closed bounded parameters, verifies fixed source hashes, creates fresh workers for planner, solver and verifier, signs a seven-event lifecycle and atomically commits the final task/evidence graph. A numerical verifier can agree with a model reporting a violated Yang–Baxter relation or inadequate LJ timestep; computational agreement must not be relabeled empirical confirmation.

The browser engine supports at most 100 local tasks, 20 seconds per worker role and bounded JSON input/results/evidence. The canonical profile also caps total JSON values and nesting. Large nested requests can safely fail a resource limit before final commit. Built-in recipes are the only code accepted; no user JavaScript, arbitrary shell, external worker URLs or dynamic model installation are supported.

Other existing browser modules remain available: SI formula editor, 3D Journey scenes, Golden Ratio geometry, Yang–Baxter visualization, positive geometry and the amplitude dataset explorer. Some visualization modules maintain their own ephemeral state; only runs submitted through the central BrowserEngine enter its persistent task/evidence graph.

## Data and identity

IndexedDB is scoped to the site origin and browser profile. Reload preserves tasks. A different device, private browsing session, cleared storage or new domain will not see the same records. Existing native-node projects and graph data are not automatically copied into this new browser store. Export the evidence JSON before migrating; import verifies signatures, hash bindings, timestamps and schemas and stores inert imported evidence. Import never executes a worker or authorizes an external action. A browser may decline persistent storage or evict local data.

Use `/runtime/engine/browser-engine.mjs`:

```js
const engine = await new BrowserEngine({onEvent: console.log}).init();
const task = await engine.run({
  recipe: 'markov_entropy', parameters: {},
  title: 'Entropy model', statement: 'Inspect entropy under a fixed kernel.'
});
const bundle = await engine.exportTask(task.id);
const graph = await engine.graph();
```

Concurrent runs in other tabs are refused by a Web Lock. A run interrupted by page closure is marked interrupted on recovery and is not promoted to completed evidence. Stop terminates the active worker and aborts an in-flight final IndexedDB commit. Source snapshot hashes identify received packaged assets; they do not attest the physical machine, trusted hardware, or institution. A browser signer is self-signed and changes with a new engine session. Imported signed evidence can still contain incorrect science; independent reproduction/review remains necessary.

## CERN, Tsinghua and other contributors

CERN/CMS: the bundled educational sample contains 20,000 selected reconstructed events, not a live/raw/petabyte feed. The browser computes invariant mass for a selected event. Tsinghua GET and Oxford references remain source references or configured external model adapters; their researchers are not shown as participating agents. The published six-gluon MHV symbol dataset is queried using exact rational sparse contractions with modular checks, not recomputed as a full nine-loop amplitude. Licenses, source URLs and scope are retained in source catalogs and exported recipe records.

## Robinhood Chain

Official documents verified September 26, 2026:

- Mainnet: chain ID 4663 (`0x1237`); RPC `https://rpc.mainnet.chain.robinhood.com`; explorer `https://robinhoodchain.blockscout.com`.
- Testnet: chain ID 46630 (`0xb626`); RPC `https://rpc.testnet.chain.robinhood.com`; explorer `https://explorer.testnet.chain.robinhood.com`.
- ETH is the gas currency. Mainnet transactions consume real gas funds. Public RPC endpoints are rate-limited and not recommended for production; an operator should configure an appropriate provider for their workload.
- Robinhood Chain is an Ethereum L2 based on Arbitrum. ZeroExternal is an application/protocol targeting that network, not a newly operated ZeroExternal sidechain.

The independent `EvidenceRegistry` contract and compiled artifact are available in `/runtime/chain/`. It records a nonzero commitment with submitter address and block timestamp, rejects duplicate commitments by the same submitter, and accepts no funds/tokens. It has no administrator or upgrade path. It is unaudited.

Project deployment addresses remain empty. The website provides the actual browser steps: select network → connect wallet → prepare deployment → inspect exact transaction → confirm in wallet → reconcile receipt/runtime → prepare the selected evidence hash → confirm/reconcile. No public contract was deployed by this update. No funds were moved. Project status must only be changed after a verified deployment transaction and address exist.

`Prepare` does not submit. Chain/account/nonce changes invalidate the reviewed transaction. Unresolved submissions are persisted in sessionStorage and block further sends until reconciled. A transaction with unknown outcome must not be blindly resubmitted. Confirmation counts and a currently canonical RPC block do not independently prove L2/L1 finality. The UI deliberately separates submitted, mined/reverted, and verified runtime states.

When selecting an evidence task, the website computes `SHA-256(canonical(exported_bundle))` and lets you download exactly that bundle. The contract stores only the commitment. A block timestamp records inclusion of that commitment, not scientific truth, authorship or institutional identity. Wallet transactions publicly reveal the sender and commitment.

Existing t0EX and escrow prototypes keep their former test-chain restrictions. This release does not issue a production currency, launch token fundraising, transfer funds or deploy the old test escrow to Robinhood mainnet. Payments and work acceptance remain distinct from an evidence commitment.

ZeroExternal is independent and is not affiliated with, endorsed by or sponsored by Robinhood.

Primary references:
- https://docs.robinhood.com/chain/connecting/
- https://docs.robinhood.com/chain/deploy-smart-contracts/
- https://docs.robinhood.com/chain/terms-of-service/
- https://robinhood.com/us/en/newsroom/robinhood-accelerates-global-expansion-robinhood-chain-mainnet-stock-tokens-agentic-trading/

## Verification and source reuse

Browser lifecycle checks: `/runtime/engine/tests/browser-tests.html` runs against isolated temporary databases. Offline numerical tests are shipped with the source bundle. Registry tests use a local Ganache EVM; they do not send public transactions. Contract build input and artifact hashes are retained for independent reproduction. A test suite and two implementations from this project do not establish independent industry adoption or a recognized standard.

## Reproduce and compare

The result controls provide **Repeat calculation**, **Create variant**, and **Use as baseline**. Repeat creates a new signed task using the validated original parameters and currently bundled code. It never downloads or executes code from imported evidence. A variant opens a prefilled editable form and does not run automatically.

The Reproducibility panel compares two completed tasks of the same recipe. It validates both evidence bundles first, compares exact parameter values and source asset URL/SHA-256/byte triples, and separately compares every result field with the chosen symmetric absolute and relative tolerances. String, type, array-shape and missing-field changes also count. At most 30 difference previews per group are shown, but all fields determine the outcome.

A **repeat matches** assessment requires equal parameters, identical source asset pins and results within tolerance. Changed inputs or sources receive their own outcome even if numbers happen to match. This checks repeatability of the same computation, not independent scientific replication. A single numeric tolerance is applied across the result and is not a model of measurement uncertainty.

Comparison reports are signed by the current ephemeral browser key and stored with their two graph edges in an atomic IndexedDB transaction. Export includes the report and both original signed evidence bundles. Reports do not attest identity, institutions or physical experiments. Storage schema v2 preserves existing task and graph stores and adds up to 200 comparisons. The existing 100-task limit still applies; repetition creates another task.

The SDK exposes `inspectBundle`, `replayRequest`, `compareTasks`, `listComparisons`, `verifyComparison`, and `exportComparison`. Import remains inert. Reports can be verified programmatically; a comparison-export import UI is not provided.
