Status: Docs plus targeted code/manifest spot-checks, updated with runtime research 2026-05-22; three provenance loops runtime-verified 2026-05-30 and merged to VisionClaw main (see Recently Resolved). Register reconciled against code 2026-07-03.
Date: 2026-05-22, register reconciled 2026-07-03
Scope: Repositories mounted under /home/devuser/workspace
Superseded by the closeout. This Gap Register (G1–G8) is retained for history but is superseded by
docs/closeout/final-design.md(2026-07-03), which re-audited all nine repo slices against code and found this register stale in both directions. Where a gap here disagrees with the closeout, the closeout wins. The 2026-07-03 pass corrected the merged-provenance, mesh-tally, beam/dispatcher and open-question entries below.
This document maps the VisionFlow ecosystem from repository documentation, with targeted implementation checks for the integration claims that affect cross-repo alignment. When a gap is listed, it means the docs or spot-checked code/manifests identify an absent, deferred, or inconsistent counterpart.
| Path | Interpreted repository | Documentation used |
|---|---|---|
../VisionFlow |
VisionFlow | README, website PRD/ADR/DDD |
../project |
VisionClaw mount | README, PRD-010/014/015, ADRs, DDD/integration research docs |
../project/agentbox |
agentbox | README, developer ecosystem/identity/sovereign mesh docs, relay/pod bridge code |
../solid-pod-rs |
solid-pod-rs | README, ecosystem integration, parity/gap analysis |
../nostr-rust-forum |
nostr-rust-forum | README, architecture, consumer surface map, ADR-086/087/089/093 |
../dreamlab-ai-website |
DreamLab deployment | README, deployment and forum-consumer docs |
VisionFlow is not a single executable. It is a coordination architecture that emerges from five product substrates and one branded deployment:
| Substrate | Primary responsibility | Boundary |
|---|---|---|
| VisionFlow | Ecosystem narrative, public positioning, repository map, shared coordination model | Documentation and website surface |
| VisionClaw | Knowledge engineering: OWL 2 EL reasoning, GPU graph physics (82 CUDA kernels / 9 .cu files / 5,854 LOC), XR, native MCP ontology tools, IS-Envelope spec owner (ADR-075), governance (main runs the inline decide/inbox handler + ADR-110 ElevationActor; the distributed BrokerActor lives on the unmerged crashbug branch), embodied agent-loop renderer (beam shipped over /wss/agent-events, ADR-059; gluon deferred) |
GPU host / graph backend / semantic workbench / embodiment surface |
| agentbox | Reproducible sovereign agent runtime with Nix, 90+ skills, 180+ MCP tools, 12-tool ontology bridge to VisionClaw SPARQL, browser setup wizard, privacy filtering, Nostr/Solid identity | Agent container and harness |
| solid-pod-rs | Solid/JSS foundation: LDP, WAC, NIP-98, DID:Nostr, WebID, OIDC, git pods | Shared protocol library and native pod server |
| nostr-rust-forum | Governance UI and relay kit: passkey auth, Cloudflare Workers, Agent Control Surface events | Human decision surface and Nostr relay edge |
| dreamlab-ai-website | Branded DreamLab deployment and operator overlay for the forum kit | Public site and Cloudflare deployment config |
The common primitive is did:nostr:<hex-pubkey>. Docs consistently describe it as the identity used for relay authentication, HTTP request signing, WAC ACL subjects, provenance, and cross-substrate routing.
- An agent in agentbox publishes an Agent Control Surface event, normally one of kinds
31400-31405. - The Nostr relay mesh routes that event to the forum.
- The forum renders the event as a governance panel or action request.
- A human signs an approval/rejection response.
- VisionClaw's governance and related enrichment/write-back flows use the decision as the control point before mutation. The write-back endpoint
POST /api/enrichment-proposals/{id}/decideis merged to main (023c847b0, gated72bd6ec05, hardenedbed156583): on an attributed approval it performs a real fenced Oxigraph write (append_derived_summary) and flipswriteback_committed. Agent-side application of forum-originated decisions is implemented (handleGovernanceDecision); the residual gaps are agentbox-originated cases (closeout GOV-3) and the missingConceptElevatedclosing event (GOV-2).
- A user or agent signs an HTTP request using NIP-98.
- A pod tier verifies the signature against the same secp256k1 pubkey used by
did:nostr. - WAC evaluates access against that identity.
- The resource is served from either Cloudflare Workers storage or a native
solid-pod-rsserver.
- VisionClaw ingests knowledge from Logseq/GitHub and pod-backed sources.
- OWL reasoning and graph physics derive semantic structure.
- Agents propose enrichments or actions.
- Human decisions gate mutation.
- Provenance beads and URNs preserve attribution.
The flagship cross-substrate journey, formerly absent from this canon. A human speaks, an agent forms intent and acts on a sovereign Solid pod and personal knowledge graph, the action is visibly embodied in the VisionClaw GPU/XR graph, the KG mutates, and high-value personal concepts are elevated into the shared ontology under governance — all federated over the private Nostr relay mesh. Substrate roles: agentbox runs the agents; VisionClaw renders the embodiment; solid-pod-rs stores sovereignly; the forum and website provide governance/operator surfaces; VisionFlow is the canon.
- Voice → selected actor (VisionClaw). A push-to-talk command (PTT → Whisper STT → Kokoro TTS) captures the currently-selected agent node and dispatches a scoped agent command rather than a generic swarm intent.
- Intent → agentbox. The scoped command is published as a signed ACSP
ActionRequest(kind 31402) addressed to the target agent'sdid:nostr. - Action on the pod (solid-pod-rs). The agent writes the personal KG to the user's pod as
itself, under a scoped, revocable WAC
acl:agentmandate (urn:agentbox:mandate), with a per-request signed NIP-98 header — never by holding the user's nsec. - Embodiment (VisionClaw). The agent's action crosses the federation boundary as a canonical
notifications/agent_actionevent over the/wss/agent-eventsWebSocket and renders as a beam (transient coloured edge, agent → target). The beam actor is shipped and wired at boot (AgentBeamActor, ADR-059 Phase 2b). The gluon (the attractive spring force that same transient edge would exert) is deferred — a documented no-op today (gluon_deferral_note()); no incremental GPU transient-edge path exists yet. - Elevation under governance. A BC22 extractor reads the pod KG and proposes candidate
concepts through VisionClaw's governed pipeline: human approval (policy) → GitHub PR. The
documented terminus
→ merge → ConceptElevatedis not yet implemented:ElevationActoropens the PR at creation and emits noConceptElevatedevent (grep returns zero across every repo), and the Whelk EL++ consistency gate is not invoked before the human-approval case is opened (closeout GOV-2/GOV-7). The ungoverned/api/ontology/loadbackdoor is closed. - Continuous provenance. Identity is preserved end to end by the BC20 anti-corruption layer
(
urn:agentbox:activity⇄urn:visionclaw:execution,agent⇄did:nostr), withowner_didconstant at every hop.
Contracts: agentbox ADR-014 + VisionClaw ADR-059 (the /wss/agent-events channel),
agentbox ADR-026 (cross-substrate seams), agentbox PRD-014 (driving spec). As of
2026-05-29 the action-signal seam is wired and verified end-to-end (Phase 2a): canonical producer
on the agentbox side, authenticated ingest + broadcast hub on the VisionClaw side. The Phase-2b
beam render actor is shipped and wired at boot; the gluon force remains deferred. As of
2026-05-30 the VisionClaw-side ingest is runtime-verified (WS-probed live over /wss/agent-events,
with BC20 provenance stamped on the hot path), upgrading this seam from cargo-verified to
runtime-verified, and these commits are now merged to main (see Recently Resolved). Identity rides the JSON ingest envelope (the 0x23 binary frame
is identity-blind by design). The legacy MCP-TCP :9500 path carries agent state snapshots, a
payload distinct from the agent action push, and is retired in favour of the one socket.
Resolved (2026-07-03). The referenced entry-point docs now exist in the checkout: docs/architecture/repository-map.md, docs/protocol/identity-spine.md, docs/roadmap.md and docs/releases/README.md are all present. The original premise (canonical technical reference missing) is stale.
Residual: a maintenance/cross-linking concern only — keep this document, the repository map, and the identity spine cross-linked as the top-level docs entry points.
Corrected (2026-07-03). The earlier tally was wrong. Three of four runtime substrates default standalone (agentbox [mesh] mode="standalone", solid-pod-rs standalone with an embedded NIP-01 relay, and nostr-rust-forum — forum.example.toml and wrangler.toml both default standalone/d1). Only dreamlab-ai-website fans out. The federated-by-default tally is 1/4, not 2/4.
The forum's nostr-bbs-mesh crate is scaffold-only (no MeshTransport implementation, not even a dependency of the relay-worker; lands Sprint v12+). The relay advertises auth_required:false and gates by pubkey whitelist — the claimed NIP-42 gate is false. IS-Envelope routing (ADR-075) is unimplemented in every substrate (only conformance vectors exist). solid-pod-rs "native mesh in alpha.15" is not a real feature.
Closeout decision (FREEZE): declare standalone-first as the supported deployment mode. Mesh federation (ADR-073/PRD-010, the forum-kit convergence cluster, IS-Envelope routing) is designed, not shipped and parked. The IS-Envelope spec and vectors remain canonical.
Next action: the compatibility matrix records mesh as "designed, not shipped". Do not list peer discovery, NIP-42 gate, or IS-Envelope routing as operational until a MeshTransport impl is wired into relay_do.
VisionClaw PRD-015 identifies cross-substrate duplication in NIP-98 auth, Solid pod clients, DID:Nostr resolution, WAC/ACL evaluation, Nostr key management, and URN minting.
Impact: Security fixes and protocol behavior can diverge across repos. This is especially risky for auth, replay protection, and DID verification.
Next action: Promote shared crates/contracts for NIP-98, DID:Nostr, WAC/pod client behavior, and ecosystem event types.
VisionClaw docs identify several still-important risks: URI resolver redirects to missing routes, historical multi-keypair drift, missing or incomplete NIP-42 support, auth hardening gaps, dead/stub code, and parallel service implementations.
BC20 update (2026-05-29): the BC20 anti-corruption layer was flagged "paper-only" in PRD-010.
That is now resolved — BC20 is real, owned, bidirectional code. The executable contract lives
in agentbox (management-api/lib/bc20-provenance-bridge.js, 20 tests) with a closed kind map
(activity ⇄ execution, agent ⇄ did:nostr, thing ⇄ kg, memory ⇄ concept) and a
durable UrnMapping that round-trips identity with zero loss; VisionClaw mirrors the canonical
ingest schema (src/agent_events/schema.rs) and consumes the pushed events over the authenticated
/wss/agent-events socket (Phase 2a, cargo-verified). See agentbox ADR-026 D1 and the Embodied
Agent Loop core flow above.
Merged to main (verified 2026-05-30, merged since): the urn:visionclaw minter (src/uri/mod.rs,
afb072cfa) now exists and runs — it was previously absent on main, blocking native minting of
crossed URNs; and the broker write-back endpoint (POST /api/enrichment-proposals/{id}/decide,
023c847b0) is live (HTTP 200, PROV-O provenance), closing the 404 that made the resolver redirect
to a missing route. WS ingest provenance (src/agent_events/ingest.rs, 2d94cd2fc) is
runtime-verified on the hot path (see Recently Resolved). All three are on main with clean working trees.
Resolved since (2026-07-03 reconciliation):
- Beam render actor — shipped.
AgentBeamActor(ADR-059 Phase 2b) is started at boot (app_state.rs:577) and fans out0x23frames. Only the gluon attractive-force sub-feature remains a deferred no-op. - ACSP 31402 dispatcher — shipped.
AcspClientsigns and publishes kind-31402 requests, wired viaElevationActor. The framing thatAgentActionEnvelope"is to be retired" was incorrect: ACSP governance panels (31400–31403) and the binaryAgentActionEnvelopeembodiment frame are distinct concerns and coexist by design. - Agent-side decision application — implemented.
handleGovernanceDecisionapplies forum-originated decisions with PROV-O URNs; the decide endpoint performs a real Oxigraph write.
Still open in VisionClaw: the gluon force + despawn reaper (ADR-059 §4/2b), did:nostr-keying
of agent-actor nodes (now live-polled from the management API — an improvement over "mock-polled"
— but keyed by task_id, not did:nostr, so a node cannot yet be addressed by ACSP 31402), the
ConceptElevated closing event, the personal-vs-shared (owner) node distinction (owner_did exists at
the URN/enrichment layer but not on the render-layer graph Node), agent-side application of
agentbox-originated cases (closeout GOV-3), and the Whelk EL++ consistency gate before elevation
(GOV-7). Tracked in agentbox PRD-014 §3 Seam E and the closeout register.
Impact: VisionClaw is the semantic center of the ecosystem, so gaps there block end-to-end provenance and governance flows.
Next action: Reconcile PRD-010/014/015 status against current code and update docs with completed versus open items.
Resolved for pure-logic surfaces (2026-07-03). The decision is made and the extraction has happened: solid-pod-rs ships a no-Tokio core feature (Cargo.toml core=[std, dep:js-sys, did-nostr-types]), and nostr-rust-forum consumes the published solid-pod-rs 0.5.0-alpha.3 with default-features=false, features=[core] (Cargo.lock pinned). The wac/webid/did pure-logic surfaces are shared, not reimplemented.
Still open: NIP-98 remains triplicated (solid-pod-rs, nostr-bbs-core which adds D1 replay, and the forum client) — the D1 replay store keeps the forum verifier edge-local, so a single shared NIP-98 verifier is not yet achieved (G3). Server-framework-bound surfaces stay two-tier.
Next action: move the replay-store abstraction into solid-pod-rs core so all tiers can share one NIP-98 verifier, or accept the documented edge-local exception.
nostr-rust-forum ADR-093 defines a hybrid pod architecture: Cloudflare Workers pods for edge LDP/R2 and native agentbox-hosted solid-pod-rs-server pods for git/app capabilities.
Impact: Users can land on different pod tiers with different capabilities. Operators must manage native provisioning, Cloudflare Tunnel, PSK rotation, and tier-aware WebID routing.
Next action: Maintain a pod tier matrix and a migration story for users moving from CF-tier pods to native git-capable pods.
agentbox docs describe the sovereign relay, pod inbox bridge, identity root, and Solid pod integration as core architecture. Spot checks found concrete implementation surfaces, including mcp/nostr-bridge/relay-consumer.js, management-api/adapters/pods/local-solid-rs.js, management-api/routes/broker-bridge.js, and manifest settings for governance kinds 31400-31405. VisionClaw PRD-010 and earlier ecosystem audits still call out relay exposure, boot wiring, allowlist, and identity bootstrap issues as historical or unresolved gaps depending on deployment mode.
Impact: agentbox is not merely aspirational, but the docs still need a single status table that distinguishes shipped loopback/private-mesh behavior from full federated operation.
Next action: Add an agentbox mesh status table: embedded relay exposure, bridge boot wiring, NIP-42 support, allowed pubkey source, DID document relay endpoint, and multi-agent identity status.
dreamlab-ai-website owns branding, static React pages, Cloudflare config, and forum operator overlay. It consumes nostr-rust-forum rather than owning forum source.
Impact: Deployment behavior depends on kit pinning, workflow clone behavior, Cloudflare resource mapping, and config compatibility.
Next action: Pin and publish a kit compatibility record for every production deployment.
| Priority | Work | Why |
|---|---|---|
| P0 | Security/auth status reconciliation across PRD-014 gaps | Prevents publishing an architecture that implies stronger guarantees than deployed systems provide |
| P0 | Cross-substrate compatibility matrix | Makes mesh readiness explicit and testable; see Compatibility Matrix |
| P1 | Shared protocol contracts for NIP-98, DID:Nostr, WAC, IS-Envelope | Reduces drift and duplicated security-sensitive logic |
| P1 | End-to-end governance smoke test: agentbox -> relay -> forum -> VisionClaw -> pod/provenance | Validates the central VisionFlow claim |
| P1 | End-to-end embodied-loop smoke test: voice (VisionClaw) -> ACSP ActionRequest -> agentbox actor -> signed NIP-98 pod write -> personal-KG node -> ACSP elevation prompt -> governed PR -> ConceptElevated, with one continuous urn:agentbox:activity ⇄ urn:visionclaw provenance chain |
Validates the flagship cross-substrate journey (PRD-014 §7) |
| P1 | solid-pod-rs CF Workers portability decision | Determines whether duplication is temporary or permanent |
| P2 | Coordinated release/version policy | Lets consumers know which repo versions work together; see Roadmap |
| P2 | Unified operations docs: health, backup, DR, pod tiers, relay status | Moves the ecosystem from impressive components to operable system |
- Three provenance loops merged to main (verified 2026-05-30, merged since). Three
previously paper/cargo-only seams were exercised against a running VisionClaw backend and are now
merged to VisionClaw main with clean working trees (no longer "local/pending"):
urn:visionclawminter (src/uri/mod.rs,afb072cfa, +13 tests) — was absent on main; now mints typedconcept/kg/bead/execution/groupURNs +did:nostr. Runtime mint observed:urn:visionclaw:execution:sha256-12-44ec4693df02(sha256-12 byte-equal to the agentbox minter).- Broker write-back endpoint
POST /api/enrichment-proposals/{id}/decide(src/handlers/enrichment_proposals_handler.rs,023c847b0, gated72bd6ec05, hardenedbed156583) — was 404; now returns HTTP 200, and on an attributed approval performs a real fenced Oxigraph write (append_derived_summary) and flipswriteback_committed, in addition to minting PROV-O provenance and broadcasting anenrichment_decisionWS event. Unattributed (non-hex pubkey) payloads →attributed:false(recorded, not written). - WS ingest BC20 provenance on the hot path (
src/agent_events/ingest.rs+provenance.rs,2d94cd2fc, +12 tests) —process_frame()now records provenance, crosses foreignurn:agentbox:*viauri::cross_from_agentbox, and stamps Signed/Malformed/Anonymous onIngestOutcome::Published. (Note: "Signed" is stamped from a structural pubkey-hex check, not a signature verification — closeout T4/security; treat as "asserted" until NIP-26 verification lands.)
- Beam render actor + ACSP 31402 dispatcher shipped (2026-07-03 reconciliation):
AgentBeamActor(ADR-059 Phase 2b) is wired at boot and theAcspClient31402 dispatcher is live viaElevationActor. Gluon force remains deferred;AgentActionEnvelopecoexists with ACSP by design (not retired). - did:nostr canonicalisation answered by ADR-125: VisionClaw ADR-125 (
a579bf353, 2026-06-15) ratifies a single canonical Multikey/publicKeyMultibaseDID-document form re-converging forum/agentbox/VisionClaw/solid-pod-rs — resolving Open Question 1 (see below). - IS-Envelope canonical ownership: Resolved. VisionClaw owns the spec (ADR-075, JSON Schema, test vectors). Runtime consumers: agentbox, solid-pod-rs, nostr-rust-forum consume the vectors, but envelope routing over a mesh transport is not implemented in any substrate. Event kind registry remains unowned (agentbox federates 38300–38304; the forum relay drops everything above 38100).
- BC20 anti-corruption layer (2026-05-29): Resolved from "paper-only" to real, owned, bidirectional code. Agentbox holds the executable contract (
bc20-provenance-bridge.js); VisionClaw mirrors the ingest schema and consumes pushedagent_actionevents over the authenticated/wss/agent-eventssocket (Phase 2a, cargo-verified). The beam+gluon render is the remaining Phase-2b increment. See agentbox ADR-026 D1 / PRD-014. - Embodied agent-loop documentation (2026-05-29): Resolved the canon silence on voice ingress and personal→shared elevation flagged in earlier audits (PRD-014 X7) — the Embodied Agent Loop core flow is now documented above, and the BC20 namespace grammar is in agentbox's
CLAUDE.mdand ecosystem docs.
IsAnswered (ADR-125).did:nostrresolution canonicalized in solid-pod-rs, forum core, or a new shared crate?did:nostris canonicalised on the Multikey form across all four substrates by VisionClaw ADR-125 (a579bf353, 2026-06-15), correcting the earlier ADR-074 2019-suite target. Residual: solid-pod-rs owns DID-document rendering, but VisionClaw and the forum still have independent handling paths — promotesolid_pod_rs::did_nostr_types(or ano_stdshared crate) as the single resolver/minter (closeout contract:identity).- Are Cloudflare Workers pods and native pods expected to converge, or remain separate tiers?
- What is the minimum supported deployment: single operator, team, or cross-organization federation?
- What exact repo/version set defines the current production DreamLab deployment?