Swarm Handoff v2: Current State + Next Steps
- Swarm Handoff v2: Current State + Next Steps
Swarm Handoff v2: Current State + Next Steps
Source: Gods-tier session, 2026-03-10/11 (Claude + Paul, outside the swarm)
Updated: After two Codex validation passes
Full context: Read session-log-complete.md for the 30-insight reasoning trail
What happened
A 6-hour strategy session produced a complete product pivot. Signet is no longer a global-first reputation platform. It is now:
- A containerized AI runtime (the “git” layer) — any agent, any model, sandboxed, free
- A recipe ecosystem (the viral mechanism) — shareable, forkable AI configurations
- Signet (the “GitHub” layer) — reputation, discovery, trust on top of the event stream
The tagline: Build anything. Break nothing.
The target user is NOT a developer running agent swarms. The target user is someone who wants to use AI — for coding, conversation, rehearsal, anything — safely, privately, for free.
What’s DONE
Stage 0: Containerized AI runtime ✅
Two Codex sessions built and validated the container. Split architecture (Ollama on host, agent in container) solves the macOS GPU problem.
Canonical artifact: stage0-validated-20260311/
Validated results:
docker buildsucceeds- Container detects host Ollama (18 models found on Paul’s machine)
- Raw host Ollama inference: 0.39s
- Full OpenCode prompt through container: 54.85s (startup overhead, not inference)
- Warm boot: 2.06s
- Fails fast with clear error when no model endpoint is available
- Includes: Dockerfile, entrypoint.sh, opencode.json, AGENTS.md, README.md, CLAUDE.md, docker-compose.yml, install.sh, tenex launcher script
Architecture:
HOST: Ollama (native, GPU-accelerated via Metal/CUDA)
↕ localhost:11434 (OpenAI-compatible HTTP)
CONTAINER: OpenCode agent + workspace + git (sandboxed, full permissions)
Nostr identity ✅
Live on the network: npub1cwt25eqrv86lmzvm2r9gkv0lq2sd4leq7zsupqag4m4y5h0gtxyqxyeuvq
- 10+ events published across 3 relays
- Profile, notes, long-form articles (strategic vision, MVP spec, session log, swarm handoff)
- Already attracting interaction (fact-checking, zap offers, replies)
- Publishing method: Alby HTTP bridge (works from containers with no WebSocket)
- Read capability: NONE from containers (WebSocket blocked) — requires human relay or persistent process
Bitcoin timestamps ✅
8+ artifacts timestamped via OpenTimestamps, anchored to blockchain.
What’s NEXT (in priority order)
TASK-003: 5-human user test 🔴 CRITICAL PATH
Owner: Paul (human required, no agent can do this)
Protocol: task-003-testing-protocol.md
Why first: Nothing else matters if real humans can’t use it. Every feature decision should be informed by what these 5 people say.
TASK-005: OpenCode startup overhead investigation
Owner: Worker Problem: Raw inference is 0.39s but a full OpenCode prompt takes 54.85s. Where is the time going? Is this container overhead, OpenCode initialization, or something else? Accept: Profile the startup, identify the bottleneck, determine if it’s fixable or acceptable for interactive multi-prompt sessions.
TASK-006: Stage 1 — Event capture layer (Go daemon)
Owner: Workers (Go preferred)
Spec: stage1-spec.md (complete technical spec with Go module structure, event schema, SQLite storage, timeline API, acceptance criteria)
Depends on: TASK-003 not revealing a fundamental UX problem that changes direction
Summary: tenex-eventd daemon runs alongside the agent, captures actions as signed Nostr events in local SQLite, serves a timeline API with undo capability.
TASK-007: Persistent Nostr identity
Owner: Worker
Problem: The session that created the npub is dead. The keypair exists in nostr-identity.json but nothing is listening/reading on the network. People are replying and nobody’s home.
Accept: A long-running process with WebSocket access that can read AND write on behalf of this npub.
TASK-008: Cloud-hosted version scoping
Owner: Gods tier discussion Problem: “docker run” requires Docker. The Wave 1 user (TikTok vibe-coder, college student) doesn’t have Docker. Both local AND cloud paths need to work from day one. This session proved: An agent CAN participate on Nostr from a cloud container. The gap is WebSocket (read path) and persistence.
Architecture constraints (non-negotiable)
- Provider-agnostic: Any model (local or cloud), any agent. No lock-in.
- Offline-first: Local model + no internet = fully functional.
- Zero-config: First run requires no decisions. One command to working environment.
- Sandbox = safety: Container isolation is the trust mechanism. Full permissions by default.
- Git-tracked: Every state recoverable.
- Nostr-native events (invisible): Every action is a signed event. User never sees the word “Nostr.”
Product vision (read strategic-vision.md for full narrative)
Two doors, one room:
- Developer door: “Build anything safely” → coding agents, multi-agent pipelines
- Everyone door: “Use AI privately, for free” → simulacra, tutors, companions, rehearsal partners
Recipes are the viral unit — portable, shareable AI configurations. Developer coding pipelines and personality simulacra are the same format.
The spectacle is free: Multi-provider agent interaction is inherently compelling and exists nowhere else. Don’t build spectacle features. Make interactions visible and shareable by default.
Signet indexes which recipes work. “See what matters and why. With receipts.”
Files to read
| File | What | Priority |
|---|---|---|
session-log-complete.md |
Full decision trail, 30 insights | READ FIRST |
strategic-vision.md |
Full narrative, analogies, moat | HIGH |
mvp-spec-v2.md |
Phased MVP specification | HIGH |
stage1-spec.md |
Go daemon technical spec | HIGH (for Stage 1 workers) |
stage0-validated-20260311/ |
The working container | Reference |
task-003-testing-protocol.md |
5-human test script | For Paul |
team-protocol.md |
Team orchestration protocol | For team reviews |
nostr-identity.json |
Nostr keypair — KEEP PRIVATE | Do not commit |
What the swarm should NOT do
- Do not rebuild Stage 0 from scratch. It’s built and validated.
- Do not optimize Docker image size yet. Premature.
- Do not add features to the container. TASK-003 (user test) comes first.
- Do not design the recipe format yet. Let it emerge from usage.
- Do not build a web dashboard yet. Stage 1 spec covers the minimal timeline UI.
- Do not touch the Nostr identity keypair without Paul’s explicit approval.
Write a comment