UA Node Runtime - base container image for the UA mesh fleet. Provides EventBus, RoutingHub, ModuleLoader, TypeRegistry, MeshModule. All mesh nodes (UA, pete-device, memory-db, sensors) compose on top of this image.
Find a file
2026-05-24 19:42:05 -05:00
cosign.pub chore: add cosign public key for image verification 2026-05-24 19:42:05 -05:00
README.md docs: Phase 0 README pointing to architecture docs 2026-05-24 19:41:49 -05:00

ua-node

Base container runtime for the UA mesh fleet.

This repository will hold the ua-node:runtime base image — the shared foundation that every node in the UA mesh (UA itself, pete-device, memory-db, future sensor nodes) composes on top of via Docker layer stacking.

Status: Phase 0 (Planted Flag)

2026-05-24 — Empty repo. Architecture documents committed to agents/unified-assistant.

This is a stub. The runtime extraction lands in Phase 3 of the migration plan (see below). Phase 0 exists to:

  1. Reserve the repo name in the agents org
  2. Hold the Cosign public key for image verification
  3. Anchor the design docs

What This Will Be

A minimal Python 3.11 container providing:

  • EventBus — typed in-process pub/sub
  • RoutingHub — module registration + dependency-ordered startup
  • ModuleLoader — filesystem discovery of /app/modules/*/module.py
  • TypeRegistry — schema-extensible storage and sync
  • MeshModule — capability JWT auth, routing table, multi-modal transport
  • ServiceRegistry — DI container
  • HTTP server/health, /metrics, /api/mesh/* endpoints
  • Cosign verifier — image signature check on update

What This Won't Be

  • No business logic. No LLM, no Frigate, no Home Assistant, no sensor code.
  • Those live in deployment-specific module layers that COPY into the final image.

Deployment Pattern

FROM ua-node:latest
COPY modules/sensor/ modules/audio/ /app/modules/
ENV MESH_NODE_ID=pete-device

Three lines. Identity, routing, sync, and updates are all handled by the runtime.

Design Documents

The full target architecture and migration roadmap live in agents/unified-assistant:

Image Verification

All published ua-node images are signed with Cosign. The public key is committed at cosign.pub in this repo and embedded in the base image at /etc/ua-node/cosign.pub.

Verify any image:

cosign verify --key cosign.pub git.lab.lostsource.net/agents/ua-node:latest

Phase Roadmap

Phase Status What Happens Here
0 Done Repo created, Cosign keys generated, ACLs locked
1 Pending BaseModule contract formalized in unified-assistant
2 Pending Services + gateway promoted to modules in unified-assistant
3 Pending Runtime code lands HERE; first ua-node:runtime image published
4 Pending MeshModule (JWT identity + capability routing)
5 Pending pete-device migrates onto ua-node:latest
6 Pending memory-db migrates onto ua-node:latest
7 Pending Sensor PoC validates ~50-line module + 3-line Dockerfile
8 Pending SDK docs published, runbooks written