Ray Swan_

NeuroNote

2025 · Governance · Architect, Engineer & Technical Product Lead

AI that can invent software, but never owns the runtime — proposals stay proposals until a state machine proves them safe.

01 · Problem

The constraint

AI-generated logic is usually treated as a peer of the application: it writes code, mutates state, and hopes the prompt was honest. That fails the moment the model drifts, injects, or exceeds the capability it declared. NeuroNote had to make runtime-generated behavior a guest — verified, sandboxed, and reversible — without giving up malleability.

02 · Built

What shipped

Built a TypeScript/React/Vite reference implementation of Proposal–Verification architecture. Guest kernel (Gemini, or Claude/Llama/Mistral via Bedrock, plus Groq) synthesizes AppDefinition IR only. A three-phase Gatekeeper — structural validation, semantic verification, honesty oracle (including test-vector simulation) — sits on the trust boundary, with resource budgets and a capability manifest as additional Host constraints. The Host kernel executes in a fuel-metered QuickJS WASM sandbox and a worker with 40 registered operators. Bidirectional lenses migrate schema; a custom JSON FSM owns application state; runtime errors roll back; a change journal keeps the audit.

03 · Decisions

The path

  1. 01
    Treat the model as hostile by default

    Stopped implying that generated logic is application code. Every AI artifact is untrusted input until it survives verification.

  2. 02
    Host–Guest, not prompt–hope

    Split the runtime: Guest synthesizes declarative AppDefinitions. Host owns validation, rendering, persistence, and recovery. Guest never joins the control loop.

  3. 03
    Gatekeeper as the product

    Three verification phases sit on the trust boundary — structure, semantics, honesty — so a fluent proposal cannot skip the gate. Budgets and the capability lattice further constrain what the Host will execute.

  4. 04
    Execute only what was admitted

    WASM fuel metering, worker isolation, and 40 registered operators. No ambient capabilities. Bounded iteration. Rollback on runtime error.

  5. 05
    Journal the change, not the vibe

    Every accepted mutation leaves a diff, a verification score, and a recoverable prior state. Observability is how you prove the boundary held.

04 · Architecture

How it is built

Untrusted reasoning, trusted authority

The Guest kernel produces IR. It does not execute, persist, or talk to operators. Application authority lives only in the Host.

Three-phase gatekeeper

Structural validation, semantic verification, and honesty oracle (intent vs effects vs traces, including test-vector simulation) before any proposal is adopted. Resource budgets and a capability manifest constrain Host execution.

WASM + worker isolation

QuickJS with fuel metering in WASM; 40 registered operators (text, math, image, audio, CV) behind a worker with no ambient capabilities and a FoldN cap of 1000.

Logic-as-data, not eval

Behavior is JSON schema, not generated source. Bidirectional lenses migrate state; failed runtime automatically reverts.

Model-agnostic guest

Provider interface for Gemini 2.5 Flash, Groq, and Bedrock-hosted Claude, Llama, and Mistral. Swap the synthesizer without rewriting the Host.

This site cannot host the runtime

Vite + React app with a model key. GitHub is the public source until a keyed host exists.

05 · Surfaces

What it looks like to operate

Trust boundary
Plate
Trust boundary

The old way let AI touch core logic directly. NeuroNote treats every proposal as untrusted logic-as-data until the host safety pipeline admits it.

06 · Standing

What this proves

Proves: I can design a governed agent runtime from first principles — Guest, Gatekeeper, and Host kernel.

A working dual-kernel control plane where AI proposes, the gatekeeper validates, and the host executes. Interactive app needs a model key and is not hosted on this static portfolio. Source: github.com/rubyrayjuntos/Neuronote.

PVA dual-kernel architecture with three-phase gatekeeper, QuickJS WASM sandbox, 40 registered operators, and model-agnostic provider routing.

01 / 06 · Problem