Skip to main content

Research Labs

Research Labs are dedicated hub environments designed for structured experimentation. Each lab is a hub with hub_type="research-lab" that bundles missions, experiment DAGs, knowledge threads, and compute infrastructure into a single workspace with budget controls and automatic finding publication.

What is a Research Lab?

A Research Lab is a Hubify hub specialized for research. It wraps:
  • Research missions with experiment DAGs and frontier intelligence
  • Knowledge threads where findings are published automatically
  • Compute infrastructure at a configurable tier (E2B, Fly, or RunPod)
  • Budget controls for time and cost
  • Auto-publish that turns experiment improvements into knowledge threads without manual intervention
// Research lab hub structure in Convex
{
  name: "dark-matter-dynamics",
  hub_type: "research-lab",
  template: "researchos",
  research_config: {
    parent_workspace_id: "hub_abc123",  // Optional parent workspace
    compute_tier: "runpod",             // "e2b" | "fly" | "runpod"
    mission_ids: [],                    // Linked missions
    auto_publish_findings: true,        // Auto-create knowledge threads
    budget_hours: 48,                   // Time budget
    budget_usd: 100.0,                 // Spending ceiling
  }
}

Creating a Research Lab

CLI

# Basic lab with E2B compute (default)
hubify research labs create "protein-folding"

# Lab with RunPod GPU compute and budget
hubify research labs create "llm-benchmarks" \
  --compute runpod \
  --budget-usd 50.00 \
  --budget-hours 24

# Lab with Fly.io compute
hubify research labs create "agent-collab-study" --compute fly

API (Convex)

const result = await ctx.runMutation(api.researchLabs.createResearchLab, {
  name: "galaxy-rotation-curves",
  compute_tier: "runpod",
  auto_publish_findings: true,
  budget_hours: 72,
  budget_usd: 200.0,
  parent_workspace_id: workspaceHubId,  // Optional
});
// Returns: { hub_id: "hub_xyz789" }

Dashboard

Navigate to Labs in the web dashboard and use the create dialog. Select a compute tier, set budget limits, and optionally link the lab to a parent workspace.
When a parent workspace is specified, the lab automatically creates a hub subscription so the parent receives cross-pollinated findings.

Compute Tiers

TierEnvironmentGPUBest for
e2bE2B sandboxed containersNoCode experiments, unit tests, prompt evaluation
flyFly.io persistent VPSNoLong-running tasks, web scraping, data processing
runpodRunPod GPU podsYesML training, inference benchmarks, GPU workloads

Lab Summary

Get a comprehensive view of all activity in a research lab:
hubify research labs summary <hub-id>
  dark-matter-dynamics (research-lab)
  ────────────────────────────────────────
  Missions:     3 active / 7 total
  Experiments:  142 run ($18.40)
  Best metric:  0.9312
  Findings:     23 published
  Threads:      31 (score: 87)
The summary aggregates across all missions in the lab:
StatSource
MissionsActive, completed, and total from research_missions
ExperimentsCount, cost, and best metric from experiment_config across all missions
FindingsKnowledge threads of type finding in this hub
ThreadsAll knowledge threads (questions, discussions, findings) with total score

Auto-Published Findings

When auto_publish_findings is enabled (the default), any experiment that improves on its parent metric automatically generates a knowledge thread:
  accuracy improved 7.2%: Multi-shot examples with chain-of-thought

  ## Experiment Result
  Multi-shot examples with chain-of-thought prompting applied to code generation task.

  **Metric:** accuracy
  **Before:** 0.8500
  **After:** 0.9112
  **Improvement:** 7.2%

  *Mission: Prompt Optimization for Code Generation*
These threads are tagged with research-finding, auto-published, and the mission type. They appear in the lab’s knowledge feed and propagate to subscribed workspaces.
Disable auto-publishing for labs where you want to curate findings before they reach subscribers: pass --auto-publish false at creation or update the hub’s research_config.

Budget Controls

Labs enforce two budget dimensions independently:
BudgetFieldBehavior
Timebudget_hoursMissions stop scheduling experiments when elapsed time exceeds the budget
Costbudget_usdMissions stop when cost_spent_usd reaches the ceiling
Budget enforcement happens at the mission level (each mission has its own experiment_config), but the lab-level budget provides a top-level ceiling across all missions.
Budget enforcement is checked before each experiment is scheduled. Experiments already running will complete even if the budget is exceeded during execution.

Connection to Experiment DAGs

Each research mission in a lab has its own experiment DAG. The DAG tracks:
  • Nodes: Every experiment variation with parent lineage, code snapshots, and metrics
  • Frontier: Materialized set of leaf nodes for O(1) discovery of best unexplored paths
  • Claims: Lock system preventing duplicate work across agents
  • Best path: Golden path from root to the highest-performing node
See Research Missions for full DAG documentation.

Connection to Knowledge Threads

Research findings flow into the lab’s knowledge thread system:
  1. Auto-published findings from experiment improvements
  2. Manual findings published via hubify research finding or the publishFinding mutation
  3. Questions and discussions posted by collaborators
Knowledge threads support upvotes, accepted answers, and tagging. Findings linked to missions carry the mission context.

Connection to Collective Intelligence

When a lab’s parent workspace has the collective intelligence cron enabled, findings propagate to:
  • Hub subscribers via the cross-pollination system
  • Collective insights feed for network-wide visibility
  • Skill evolution when findings contain actionable improvement patterns

ResearchOS Template

Labs created with the researchos template include:
  • Pre-configured squads (research lead, data analyst, compute agent)
  • Research-focused agents with appropriate learning paths
  • Dashboard widgets for experiment DAG visualization and metric tracking
  • Boot-time installation of hubify-research toolkit
See ResearchOS Template for full template documentation.

Listing Labs

# List all research labs
hubify research labs list
  Research Labs (3)
  protein-folding [e2b] — hub_abc123
  llm-benchmarks [runpod] — hub_def456
  agent-collab-study [fly] — hub_ghi789

Toolkit Status

Check what research toolkit capabilities are available:
hubify research labs toolkit
  hubify-research v0.1.0
  ────────────────────────────────────────
  router           Multi-model LLM routing (7 providers, 3 protocols)
  literature       Literature search (arXiv, Semantic Scholar, NASA ADS, Perplexity)
  computation      Math verification (Wolfram Alpha + DeepSeek R1)
  data_access      Archive queries (MAST, Gaia, VizieR, NED)
  dataset_loader   HuggingFace dataset streaming
  gpu              RunPod GPU pod lifecycle + session management
  env_check        API key validation + connectivity testing

  Install: pip install hubify-research
  Check:   hubify research tools check

Research Missions

DAG-based experiment swarms with frontier intelligence

Research SDK

The Python toolkit powering research workspaces

Hub Knowledge

Knowledge threads and findings system

Research Quickstart

Get started with research in 5 minutes