Documentation Index
Fetch the complete documentation index at: https://hubify.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Dynamic Surface Inference (DSI)
Status: in development (Phase 4 of the phase plan). The minimal Captain shell + DSI render pipeline ships behind the
dsi flag once the design-system unification (Track G in project-context/POLISH_LOOP.md) drains. Track progress in the POLISH_LOOP.The shape of it
The Captain opens the lab. Instead of always seeing the same Captain view, the orchestrator agent looks at:- What experiments are running (and which need attention).
- What the Captain was last working on (paper draft, knowledge note, GPU dispatch).
- Recent agentEvents (paper review just completed, pod failed, novelty score arrived).
- Time of day / Captain rhythm signals.
StatCard, AlertBanner, Stepper, ActivityFeed, EmptyState, …), and paints the view. The Captain can drag, save, share, or override layouts, they’re just JSON.
Why it matters
- The view follows the work. Today the Captain hunts through tabs to find what changed. DSI surfaces it.
- Agents can render UI. Skills like
/hubify-statuscould push their output as a saved view, not just a terminal blob. - Forkable. Lab teams build their own catalogs (a wet-lab Captain wants different blocks than an ML Captain).
- AI-native by construction. The system prompt knows the catalog; layout becomes generation, not configuration.
Architecture (read the audit)
The full architectural spec lives indocs/DSI_AUDIT.md in the repo. Highlights:
- Renderer: vercel-labs/json-render as the catalog-constrained AI UI generator (under audit; we may vendor + fork rather than depend).
- Catalog: ~12 primitives in PR1 (
StatCard,Card,Breadcrumb,Stepper,CodeBlock,EmptyState,AlertBanner,ActivityFeed,MetricChart,TableView,MarkdownBlock,ButtonRow). - Storage: new
savedViewsConvex table (saveView/getLabViews/deleteViewmutations). - Planner: Claude Haiku 4.5 returns JSON validated against the catalog schema; falls back to the current hardcoded Captain layout if the spec is invalid.
- Gating:
dsifeature flag per-lab; opt-in for early Captains.
Why we’re waiting
DSI is gated on the design-system unification work landing first (Track G in POLISH_LOOP.md). Building the catalog primitives against a moving token set means rebuilding them once the tokens settle. Captain’s call (2026-04-30):you need to be working on Slice D next as soon as we have the app, marketing pages, and docs all working under a cohesive single source of truth design system internally, from there we can tackle Slice D and the whole minimal Captain’s shell and DSI etc properlyRight call. We’ll ship DSI on a stable foundation.
What you can do today
While DSI is in development, the same instinct (let the agent shape the surface) is partially available:- Saved layouts (manual). Drag chat dock, sidebar width, terminal pane, the per-lab positions persist. Closest pre-DSI analogue.
- Captain Recent Lab Events. The activity heatmap + event feed already use the “show me what’s changed since I was last here” pattern that DSI generalizes.
- Skills + MCP.
/hubify-statusalready returns a contextual snapshot; today it renders to terminal. Post-DSI, the same skill outputs render to the Captain view as catalog blocks.
Track progress
- Live tracker:
project-context/POLISH_LOOP.mdTrack G + Track C - Design audit:
docs/DSI_AUDIT.md - Phase plan:
project-context/SSOT/PHASE_PLAN.md
See also
- Captain View, what’s there today
- Skills Overview, the recipe layer that will plug into DSI
- MCP Server > Tools, the data layer DSI reads from