Reaktor DocsWorkbenchClaude

Workbench · Claude

Workbench Feature Gap Analysis

Prototype gap analysis covering screen-level gaps, differentiators, and implementation priorities.

Use whenUse when prioritizing visible workbench functionality.
SourceClaude
Route/docs/reaktor-architecture-analysis

Cross-referencing the 14,284-line Reaktor specification against the v2.1 web prototype · May 2025

38
Entities modeled
6,102
Lines of prototype code
~35%
Spec coverage
5
Critical architectural gaps

What the Prototype Gets Right

Layout & Information Architecture

5 screens (Graph, Run, DevTools, Deploy, Insights), type-aware inspector with 13 entity types, left sidebar with entity browser + component tree, bottom drawer with 7 tabs, breadcrumb navigation, floating graph-link card. All correct per spec.

Interactive Controls

Cmd+K search palette, graph pan/zoom/fit, edge type overlay filters, cross-mode navigation (14+ buttons wired), device mode/theme/network controls, sidebar search filtering, deploy env switching, arrow key navigation.

Data Model

38 entities across 10 types, 35 typed edges with 8 edge types, an active path trace (10-node causal chain), command bundle with 7 commands and code diffs. Reasonable for a prototype facade.

Visual Design

Dark theme with proper design tokens, type hierarchy, color-coding per entity type, graph node cards with port pins and metrics, SVG bezier edges with animation, sparklines, pipe bars, CI pipeline visualization.

! Critical Architectural Gaps

These are not missing features — they are architectural mismatches between the prototype and Reaktor's core design. Each gap means the prototype misrepresents how Reaktor actually works.

Gap 1: Graph Model Missing Core Node Types

The spec defines 8 node types with distinct behaviors forming a hierarchy. The prototype has a flat type system with 10 ad-hoc types (route, screen, ui, action, container, interactor, service, edge, db, topic) that don't map to the real hierarchy.

Spec Node TypePrototypeStatus
BasicNodeNo equivalentMissing
ControllerNodeinteractor (partial)Partial
ComposeNodescreen (partial)Partial
ContainerNodecontainerGood
RouteNoderouteGood
ActorNodeNo equivalentMissing
ServiceNodeservice (partial)Partial
NativeNodeNo equivalentMissing

Impact: Viewers think Reaktor is a screen→service→database chain, not a typed actor graph with supervision trees.

Gap 2: Port System is Absent

The entire ConsumerPort<T> / ProviderPort<T> system — the core of Reaktor — is not modeled. Edges connect node-to-node, not port-to-port. Port pins on graph nodes are decorative.

The spec says: "every architectural edge is typed" and "autoWire() matches by Key + Type". The prototype has untyped string connections.

Missing: typed port connections, autoWire visualization, port data flow animation, PortInvocationEvent concept, interactive port pins.

Gap 3: No Live Runtime Connection Model

The spec describes two modes: In-Process Mode (direct object access, zero latency) and Remote Mode (WebSocket debug protocol). The prototype has neither — all data is hardcoded.

Missing: connecting to running apps, live state observation, live edge animation from PortInvocationEvents, state/port data injection, node pause/resume/kill, edge breakpoints.

Gap 4: GraphCommand System Partially Represented

The command queue is well-designed but only shows SetProperty operations. Missing: AddNode, ConnectPorts, CreateSubgraph structural mutations. No ManifestDelta concept, no bidirectional code generation flow, no compilation self-healing loop.

Gap 5: Agent-as-Visitor Model Not Represented

The spec says agents are Visitors with LLM-powered decision-making, not chat interfaces. The prototype's "Code Agent" tab is a chat log. Missing: agent traversal visualization (colored overlays on graph), multiple agent types (Code/Schema/Performance/Deployment), RBAC permission model, Planning→Reasoning→Acting→Reflecting lifecycle.

Screen-Level Feature Gaps

Graph Screen

Feature (from spec)StatusNotes
Semantic lane layout (services left, routes center, screens right)DoneApproximate column layout
Pan / zoom / fitDoneWheel, buttons, fit-to-view
Edge type filteringDone8 edge types with overlay dropdown
Node hover tooltipDoneType, title, source, metrics
Container node renderingDoneDashed border style
Focus modes (selected/blast/trace/tests)DoneOpacity dimming for non-focus nodes
MinimapDoneScaled projection with viewport rect
Port-to-port edge routingMissingEdges connect node centers, not typed ports
Live edge animation (PortInvocationEvent)MissingOne hardcoded animated edge only
Node color by deployment runtimeMissingColor by type, not by Kotlin/JVM/Worker/Hermes target
Dead code overlay (zero incoming edges)Missing
Agent traversal overlayMissingNo visualization of agent visitors walking the graph
Mesh network overlayMissingPeers, connections, RTT, packet loss
Data tier overlay (T0-T4)MissingCache layers, hit rates, replication lag
Actor mesh overlayMissingActors, in-flight messages, supervision trees
Edge breakpointsMissingPause graph on specific edge data flow
Container sub-graph nestingMissingContainers are flat, no visual nesting with DI scope

Run Screen (WYSIWYG)

FeatureStatusNotes
Component → graph entity selectionDoneAppleButton + GoogleButton
Selection overlay with dimensionsDoneCorner handles, dp labels
Floating graph link cardDoneAction chain, trace, 6 buttons wired
Device mode switching (phone/tablet/desktop)Done
Theme toggle (light/dark)Done
Network simulation overlayDoneOffline / Slow 3G bars
Multiple previewable screensMissingOnly OnboardingScreen; can't switch routes
Style editing (inspector → preview updates)MissingInspector values not bound to preview
ActionRef dispatch visualizationMissingCan't see action chains fire
Bridge edge visualization (React/RSD)Missing

DevTools / Drilldown

FeatureStatusNotes
Causal trace with duration barsDoneWaterfall timing per step
Cross-mode navigation from stepsDoneGraph / Deploy buttons
Dynamic blast radius from graphDone3-hop walk, counts nodes/modules/targets
Multiple traces / trace pickerMissingSingle hardcoded trace
State injectionMissing
Port data injectionMissing
Navigation simulation (fire NavCommands)Missing

Deploy Screen

FeatureStatusNotes
Partition topology visualizationDone6 partitions with items
Environment switching (Local/Staging/Production)DoneDifferent CI status per env
Partition item → entity selectionDone6 items mapped
CI pipeline visualizationDone11 steps with progress bars
GraphManifest diff driving deploymentMissing"Graph diff" badge is static text
Proxy node insertion visualizationMissing
JS bundle adoption % trackingMissing
Rollback orchestrationMissingButton exists, no-op

Insights Screen

FeatureStatusNotes
Timeline with deploy markersDonep95 + CVR series, deploy/spike markers
Metric cards with sparklinesDone6 metrics, up/down coding
Graph heatmap (p95 by entity)Done4 lanes, color-coded cells
Time range switchingDone1h/24h/7d/30d with axis label updates
Distinct sub-tab content (7 tabs)MissingAll 7 tabs render identical Performance content
Navigation heatmaps (user paths)Missing
Bus metrics panel (DLQ, outbox age)Missing
Per-RouteNode Web/App VitalsMissing
Flamegraph overlay (heat on nodes)MissingHeatmap exists but not linked to profiling

The Five Differentiators

These are the properties that make Reaktor Desktop not another app builder. Every demo, screenshot, and prototype should make these visible:

1
The graph is typed
Port-to-port connections, not node-to-node arrows
2
The graph is live
Data flows through edges in real-time
3
The graph spans runtimes
Same graph, color-coded by deploy target
4
Agents are visitors
They walk the graph, not chat with you
5
Code is truth
GraphCommand → CodeDiff, not diagram → code

Key insight: The prototype currently looks like a nice dashboard. Making these 5 differentiators visible — even with mock data — turns it into "this is the future of app development".

Prioritized Implementation Plan

Tier 1 Makes the Vision Click — High Visual Impact
1Port-to-port edges — Change edge model to connect typed port slots. Render port slots on nodes. Makes graph look like Unreal Blueprints.CriticalMedium
2Live edge animation — Simulated PortInvocationEvent flow. Edges pulse with data. Even fake data transforms static diagram into living system.CriticalMedium
3Runtime color-coding — Nodes colored by deployment target (Kotlin=gray, JVM=blue, Worker=orange, Web=cyan, Hermes=green). Communicates multi-runtime story instantly.HighSmall
4Insights sub-tab content — Each of 7 tabs shows distinct content (errors list, trace waterfall, cost breakdown, etc.).HighMedium
5Inspector data binding — Connect inspector fields to actual entity data. Different entities show different schemas/ports/metrics.HighMedium
Tier 2 Differentiators — What Makes This NOT FlutterFlow
6Agent traversal overlay — Show simulated agent walking the graph. Colored path lights up nodes. Most unique Reaktor concept.HighMedium
7Data tier overlay — T0 (SQLite) → T1 (Durable Objects) → T2 (Postgres) → T3 (Memgraph) → T4 (R2). Cache hit rates per tier.MediumMedium
8GraphCommand diversity — Show AddNode, ConnectPorts, CreateSubgraph operations in command queue, not just SetProperty.MediumSmall
9Multiple previewable screens — Run screen route switching (/onboarding, /chats, /chats/{id}) with different preview per route.MediumLarge
10Navigation simulation — Fire NavCommand from graph → Run screen navigates. "The graph IS the runtime."MediumLarge
Tier 3 Completeness — Demo Day Polish
11IDE deep links — Open in IntelliJ/VS Code via URL protocol (idea:// / vscode://)LowSmall
12Multiple traces in DevTools — Trace picker dropdown, not single hardcoded traceLowSmall
13Actor node type — Add ActorNode entities with mailbox depth, address, supervision strategy to data modelMediumMedium
14GraphManifest diff in deploy — Compute and display actual node/edge additions/removals/changesLowSmall
15Bus metrics in insights — publish/consume latency, DLQ depth, outbox age gaugesLowSmall
16Notification flow visualizationLowMedium

Node Type Coverage

Spec Node TypeRolePrototype TypeInspectorGraph RenderingRuntime Color
BasicNodeStateless logicMissing---
ControllerNodeStateful ViewModelinteractorServiceInspectorStandard nodeNo
ComposeNodeUI + ControllerscreenScreenInspectorStandard nodeNo
ContainerNodeSub-graph groupcontainerContainerInspectorDashed borderNo
RouteNodeNavigation destrouteRouteInspectorStandard nodeNo
ActorNodeMailbox + addressMissing---
ServiceNodeRequest handlersserviceServiceInspectorStandard nodeNo
NativeNodeFFI bridge proxyMissing---

Inspector Coverage by Entity Type

InspectorTabsData BindingNavigationKey Gaps
RouteInspector5 tabsPartialWiredSparkline seeded data; IdeLinks no-op
ScreenInspector6 tabsPartialWiredRecompose count hardcoded; source snippet always OnboardingScreen
UiInspector9 tabsPartialWiredPropInput not bound to entity; layout box hardcoded; CVR hardcoded
ActionInspector4 tabsStaticWiredSignature always shows loginWithApple; invocation list hardcoded
ContainerInspector3 tabsDynamic-Members computed from edges (good); source section empty
ServiceInspector6 tabsPartialWiredSchema always SessionPayload; RBAC hardcoded; missing transport type
EdgeInspector4 tabsPartialWiredDeploy status hardcoded (always v4.2.1)
DbInspector4 tabsStatic-Schema SQL always d1.sessions; migration hardcoded
TopicInspector3 tabsStatic-Schema hardcoded EventEnvelope
TelemetryInspector2 tabsStatic-Schema section empty
TestInspector2 tabsStatic-Only identity + framework
ReleaseInspector5 tabsPartialWiredAffected targets and gates hardcoded; cost estimates static

Graph Overlay / Mode Coverage

Overlay (from spec)StatusDescription
Default graph viewImplementedNodes, edges, type badges, metrics
Focus modes (selected/blast/trace/tests)ImplementedDim non-focus nodes
Edge type filteringImplemented8 types with checkboxes
Runtime color overlayMissingNodes colored by Kotlin/JVM/Worker/Web/Hermes target
Agent traversal overlayMissingColored paths showing active agent visits
Mesh network overlayMissingPeers as nodes, WebRTC connections, RTT, packet loss
Data tier overlay (T0-T4)MissingCache layers, projection paths, hit rates
Actor mesh overlayMissingActors, mailboxes, supervision trees, in-flight messages
Bus topology overlayMissingPub/Sub kinds, routing, DLQ entries
Flamegraph heat overlayMissingBlue/yellow/red heat indicators on nodes from profiler data
Dead code overlayMissingZero-incoming-edge nodes grayed out
Navigation heatmap overlayMissingUser path frequency, drop-off rates
Lifecycle state overlayMissingNodes colored by Created/Restoring/Attaching/Active/Destroying
Generated from analysis of Reaktor specification (14,284 lines) vs prototype codebase (6,102 lines) · reaktor.build