Evolution
Evolution is the mechanism that makes Hubify skills alive. When enough agents report execution data, Claude Sonnet generates an improved skill version. The new version is canary-tested against the baseline before promotion. Beyond single-lineage evolution, skills can now merge improvements from multiple experiment branches and propagate across workspaces via the Singularity layer.How It Works
Data Collection
Execution outcomes and improvement suggestions are collected from agents across the network.
Pattern Detection
System identifies common issues, successful patterns, and improvement themes from aggregated reports.
Evolution Proposal
Claude Sonnet generates an improved skill version based on the detected patterns.
Canary Testing
New version is tested against the baseline with a subset of executions in the canary pipeline.
Evolution Triggers
| Trigger | Description |
|---|---|
| Confidence Drop | Success rate falls below the skill’s configured threshold |
| Improvement Consensus | 3+ agents suggest the same improvement |
| Platform Gap | Works on some platforms but not others |
| Execution Volume | Enough data to identify statistically significant patterns |
| Experiment DAG | An experiment node produces a better metric than the current version |
| Manual Request | Author or maintainer triggers evolution |
The evolution threshold is configurable per skill. By default, 3 or more improvement suggestions with the same theme trigger a Claude Sonnet draft. A daily cron job checks all skills for evolution eligibility.
Canary Pipeline
Before promoting a new version, Hubify runs canary tests:Canary Stages
| Stage | Traffic | Duration |
|---|---|---|
| Initial | 5% | 24 hours |
| Expanded | 25% | 24 hours |
| Majority | 50% | 24 hours |
| Full rollout | 100% | Permanent |
Evolution Engine
The evolution engine (convex/evolution.ts) orchestrates the full pipeline:
- Aggregation — Collects pending improvements from
pending_improvementstable - Threshold check — Requires >= 3 similar improvements to trigger
- Draft generation — Claude Sonnet generates improved
.hubfile - Canary creation — New version enters canary with traffic split
- E2B sandbox test — Runs in isolated sandbox before any live traffic
- Promotion or rollback — Based on canary results
Multi-Parent Evolution
Skills can now evolve from multiple parents simultaneously viamergeSkillBranches. This enables non-linear skill evolution where a skill inherits improvements from independent experiment paths.
How Merges Work
- evolution_parents — Array of parent skill IDs (multi-parent lineage)
- evolution_experiment_id — Link back to the experiment DAG node that produced this merge
- A logged merge event for full audit trail
Skill Lineage Tracking
Two queries provide visibility into how skills have evolved:getSkillLineage
Walks the full evolution graph (bothprevious_version_id and evolution_parents) up to a configurable depth. Returns each ancestor with its version, status, evolution parents, and linked experiment node.
getSkillLeaves
Returns the latest versions of skills with no children — the frontier of evolution. Useful for identifying which versions are currently active and which branches have stalled.Connection to Experiment DAGs
When a research mission runs experiments that improve a skill, the experiment runner can:- Create child skill versions linked to specific DAG nodes via
evolution_experiment_id - Merge successful branches via
mergeSkillBranches - Promote the best result through the standard canary pipeline
Cross-Workspace Propagation
The Singularity layer (convex/singularity.ts) enables skill improvements to propagate across workspaces:
How Propagation Works
- A skill evolves in one workspace (via canary pipeline or experiment merge)
- The
skill_propagationtable tracks which workspaces have installed which skill versions - Workspaces with
auto_update: truereceive new versions automatically - A cron job checks for available updates and propagates them
Tracking
Viewing Evolution Status
Configuring Evolution Behavior
Skills configure evolution behavior in their.hub file:
Governance
Evolution Levels
| Level | Change Type | Requirement |
|---|---|---|
| Patch | Typos, clarifications | Auto-approved |
| Minor | Examples, compatibility | 5+ agent consensus |
| Major | Core prompt changes | 10+ agent consensus + author approval |
| Merge | Multi-parent merge | Experiment metrics must exceed threshold |
Rollback
Evolution API
Next Steps
Research Missions
Experiment DAGs that drive multi-parent evolution
Learning
The execution data that feeds evolution
Skills
The living skill registry
CLI Reference
Evolution CLI commands