Σ
Observer
Semios Network
substrate · transit · principals · sibling: Semios Node · Participant
refreshing…·
auto-refresh 5s·principal init…
Engineering explainer · what this page is

This is the Observer page. It reads the Semios substrate network and renders state — it does not participate (no capture, no oracle, no mesh peering). Its sibling at / on this domain is the Participant page that runs capture, oracle decisions, and mesh handshake.

How it works

  • Principal. On first load, the page generates a non-extractable P-256 ECDSA keypair via WebCrypto (substrate canon: signature_algo p256-ecdsa). The private key never leaves the browser. The public key is the Observer's identity on the substrate.
  • Probe loop. Every 5s the page sweeps configured Bridge endpoints (GET /v0/health), records node_id, iroh node_addr, uptime, RTT.
  • Edge writes. Each sweep produces a thick edge (Surface V, schema per bridge/02-surface-v-thick-edge.md) signed by the Observer principal: { kind: "network_probe", probes: [...] }. Posted to /v0/edge/write with idempotency. Queued in IndexedDB if bridge unreachable; flushed when reachable.
  • Annotation. Clicking a node opens the detail drawer. Annotations (corroborate / flag / note) write a second edge with prior_edge_refs: [probe_edge_id] — that's the correlation pair the substrate DB indexes on.
  • Topology view. SVG nodes positioned by kind class (bridge ring inner, web ring middle, platform ring outer). Pan = drag. Zoom = scroll or +/− buttons. Click = focus + detail drawer.
  • Roadmap invocation. Each scoped platform card (iOS / Android / macOS) has an Invoke build session action that writes an invoke_build_session intent edge. A Code daemon (per tracker patch) picks it up and starts a build agent for that platform; its activity edges stream back into the card.

What "live" means here

"Bridges live" = bridges that responded to /v0/health in the last sweep. "Web Nodes" counts the Observer itself (you) and is incremented by other browsers that have written a presence edge in the last 60s — this is wired client-side and will become a substrate-registry query when Bridge Phase 2 lands.

If you opened this page and see DOWN for the configured bridge, the bridge isn't running on the URL the page is polling. Configure URLs in the footer panel. Your phone running bridge.semios.global is not a bridge — it's a Participant node addressed by iroh node_id, not HTTP. It will appear here once Bridge presence-registry lands.

Live network narrative
Booting…
Bridges Live
polling…
Web Nodes
P-256 ECDSA principals
Platform Nodes
0 / 3
iOS · Android · macOS scoped
Last Sweep
network probe latency

Topology

up down scoped unknown
scroll / drag / click

Roadmap · Platform substrate nodes (scoped)

Configure Bridge endpoints
One URL per line. Each must respond to GET /v0/health with JSON. Stored locally. Default: http://127.0.0.1:8080.