Ray Swan_

Tokyo Eye

2025 · Platform · Architect, Engineer & Technical Product Lead

AI as lab partner, not oracle — hyperbolic GNN + provenance that makes every inference retraceable, not plausible.

01 · Problem

The constraint

Scientific assistants fail when they sit next to the work instead of in it — inventing plausible chemistry, ignoring the open structure, and leaving no provenance. Tokyo Eye had to bind agents to the current graph, selected residues, and preregistered metric gates, and keep geometry, data, and session state on one governed write path.

02 · Built

What shipped

Built the platform in tokyo-eye-agenticpoincare. Science extra: PyTorch/PyG, geoopt Poincaré, e3nn SE(3), GUDHI TDA, MoE routing, evidential heads, RDKit, OpenMM, PDB/dehydron ingestion. Agent: FastAPI, JWT, rate-limited sessions, WebSocket viewport directives, 20-tool coordinator, Bedrock → Anthropic → Mock, hypothesis + literature tools. Data: pgvector hyperbolic similarity, 30-schema migrations local↔Aurora, dimensional model, single-write-path normalizer, provenance_run. Infra: Terraform Aurora+S3, MLflow+Optuna, property-gate CI (corpus/smoke/curv). Visualizer: three XState machines (viewport, discovery phase, hypothesis lifecycle).

03 · Decisions

The path

  1. 01
    Put AI in the scientist’s actual context

    Rejected chatbot-beside-the-work. The agent must see current structures, selected residues, workflow stage, and visual state before it is allowed to speak.

  2. 02
    Hyperbolic geometry as the spatial prior

    Poincaré / geoopt embeddings so hierarchical residue, fragment, and pocket structure stay continuous instead of flattening into a Euclidean bag of atoms.

  3. 03
    Three architectures, not three version bumps

    v2 was a dual-head GNN. v3–v6.6 rebuilt it end-to-end hyperbolic — MoE routing, hyperbolic graphs persisted to a purpose-adapted Postgres. v8 moved to an equivariant, atomic-hyperbolic architecture (Equiformer), with the full training lifecycle governed by MLflow CI/CD, not a notebook.

  4. 04
    One write path, then the agent

    All data writes go through the normalizer. provenance_run is recorded before results. The 20-tool coordinator cannot skip that contract.

  5. 05
    Session machine vs training-run output

    XState owns the full React Poincaré dashboard in the platform repo. The split viewer embedded below is autonomous diagnostic output the pipeline emits every training run, not built for this page — real structure, real checkpoint, no live session state.

04 · Architecture

How it is built

Context-bound scientific agents

FastAPI coordinator with JWT, rate limits, and a WebSocket viewport. XState in the visualizer plus the open structure constrain what the LLM may say.

Hyperbolic GNN + MoE science

PyTorch, geoopt Poincaré, e3nn SE(3), GUDHI persistence, MoE routing, evidential (epistemic + aleatoric) heads, RDKit/OpenMM, PDB/dehydron ingestion. Agent container stays lightweight — no PyTorch on the API image.

Governed data plane

PostgreSQL 16 / pgvector hyperbolic similarity, 30-schema migrations local↔Aurora, dimensional model, single-write-path normalizer, provenance_run lineage, Terraform Aurora + S3.

MLflow as a contract

MLflow + Optuna. Mandatory training schema in mlflow_governance.py. Smoke proves field emission. Multi-stage parent/child lineage is documented as not yet proved. Property-gate CI: corpus / smoke / curv.

Property gates and honest findings

gates.yml property tests (corpus / smoke / curvature). Findings markdown records abandoned claims (λ₂ as cancer discriminator) alongside surviving dehydron physics.

05 · Surfaces

What it looks like to operate

Live
4OBE — structure + Poincaré disc, live

Autonomous training-run output, not a demo built for this page — Tokyo Eye emits one of these self-contained files every run so the model's own geometry stays inspectable. Real run: GDP-bound human KRAS (PDB 4OBE), 169 residues, checkpoint tokyoeye_best.pt. Click a residue in either panel — 3D structure or Poincaré disc — and it highlights in both; the dropdown recolors by MoE routing, dehydron ρ, τ flag, cone depth, or epistemic/aleatoric uncertainty.

Scientist control plane
Plate
Scientist control plane

Real screenshot, not a mockup. Molecular surface, Poincaré ball, and Poincaré disc in one session on KRAS G12C (4OBE) — mechanical architecture, allosteric topology, and uncertainty panels driven by v6 embeddings.

Oncogenic pathway traversal
Plate
Oncogenic pathway traversal

Click a node, it expands to real neighbors pulled live from STRING and MyGene — RAF1 to a 29-node RAS/MAPK neighborhood with real annotation text and expression data, not placeholder labels.

The audit that says "reject"
Plate
The audit that says "reject"

A real self-audit: one of my own routing-monopoly claims checked, found unproven, and marked Reject — then closed out two weeks later with measured ΔG across five PDB structures. This is what "unproven capability stays labeled unproven" looks like in practice.

06 · Standing

What this proves

Proves: I can bind scientific agents to a governed write path — hyperbolic geometry, provenance, and property gates in one platform.

Private source of truth is tokyo-eye-agenticpoincare. Public research showcase is hgnn-protein-ligand. Findings docs include abandoned claims as well as surviving physics; unproven capability stays labeled unproven.

FastAPI / pgvector control plane, 20-tool coordinator, Terraform Aurora+S3, MLflow property-gate CI, and Poincaré GNN + MoE science extra.

01 / 06 · Problem