Releases: coredipper/operon
v0.25.1 — Evaluation Harness, Prompt Optimization, Workflow Generation
What's New
Evaluation Harness (Phase C6)
- 20 benchmark tasks across 7 configurations (single, pipeline, fan-out, fan-in, diamond, full, stress)
MockEvaluatorusing real structural analysis — compile→decompile round-trip through all 4 compilers- Structural variation analysis: measures how topology metrics change across task configurations
- Credit assignment: attributes evaluation outcomes to individual stage contributions
- Guided configs (Operon adaptive, Scion + Operon) have lower mean risk than unguided
Prompt Optimization + Workflow Generation (Phase C7)
PromptOptimizerprotocol withNoOpOptimizerreference implementation;EvolutionaryOptimizerextended protocolattach_optimizer— attach optimizer to any SkillStage for prompt-level tuningWorkflowGeneratorprotocol withHeuristicGeneratorreference implementation;ReasoningGeneratorextended protocolgenerate_and_register— generate workflow topology and register it in PatternLibrary
Documentation
- Fixed example filenames (105/106 _interface suffix)
- Corrected Protocol vs implementation descriptions
- Updated all docs, papers, and website
Numbers
- 22 convergence modules, 1,510 tests, 106 examples
- 6 external frameworks (Swarms, DeerFlow, AnimaWorks, Ralph, A-Evolve, Scion)
- 4 compilers, 5 adapters, 4 TLA+ specifications
Examples
- 104: Evaluation harness with MockEvaluator
- 105: Prompt optimization protocols
- 106: Workflow generation and registration
Install
pip install operon-ai==0.25.1
v0.25.0 — Production Runtime (Phase C5)
What's New
4 Compilers
organism_to_swarms()→ Swarms SequentialWorkflow/GraphWorkflow configorganism_to_deerflow()→ DeerFlow LangGraph session configorganism_to_ralph()→ Ralph event-driven hat/event configorganism_to_scion()→ Scion containerized grove with git worktrees
All compilers output serializable dicts — zero external framework imports.
Distributed Watcher
DistributedWatcherwithInMemoryTransport(single-process) andHttpTransport(webhooks)- Transport-agnostic signal publishing and consumption
LangGraph Integration
operon_watcher_node()— native LangGraph node for convergence detection- Cursor-based incremental processing, pre-intervention convergence check
- Lowercase action strings matching Operon's canonical
InterventionKind
Stats
- 103 examples (was 98)
- 1474 tests (was 1404)
- 20 convergence modules (was 14)
- 4 compilation targets (Swarms, DeerFlow, Ralph, Scion)
🤖 Generated with Claude Code
v0.24.1 — Ralph, A-Evolve, Convergence Paper
What's New
Ralph + A-Evolve Adapters
parse_ralph_config()— event-driven hat configs to ExternalTopologyparse_aevolve_workspace()— workspace manifests to ExternalTopologyseed_library_from_ralph/aevolve— catalog seedingEvolutionGating.tla— TLA+ spec for evolution loop
Convergence Paper
- Standalone paper: "Convergence by Composition" (
article/paper2/main.tex) - Whitepaper section 13: convergence summary with TikZ 5-layer diagram
- Both papers build cleanly with tectonic
5-Layer Architecture
A-Evolve (evolution) → AnimaWorks (cognitive) → AsyncThink (thinking)
→ Ralph/DeerFlow/Swarms (orchestration) → Operon (structural)
Stats
- 98 examples, 1404 tests, 4 TLA+ specs, 5 orchestration targets
🤖 Generated with Claude Code
v0.24.0 — Convergence Package (C1-C4)
What's New
Phase C1 — Foundation Adapters
operon_ai.convergencepackage with type-level bridges to Swarms, DeerFlow, and AnimaWorksExternalTopologyabstraction: all adapters produce it,analyze_external_topology()consumes it- Epistemic theorems applied as structural linter for external workflows
- Examples 86-88
Phase C2 — Template Exchange
seed_library_from_swarms/deerflow/acg_survey— seed PatternLibrary from external catalogs- Bidirectional DeerFlow Markdown skill ↔ PatternTemplate bridge
hybrid_skill_organism()— library-first + LLM generator fallback- Examples 89-91
Phase C3 — Memory + Thinking Convergence
PrimingView— multi-channel SubstrateView subclass (truly immutable via MappingProxyType)- Memory bridge: AnimaWorks/DeerFlow → BiTemporalMemory
HeartbeatDaemon— idle-time consolidation via WatcherComponent extensionAsyncOrganizer— Fork/Join execution within stages with concurrency metricsprompt_optimizerhook on SkillStage (interface for future DSPy integration)- Examples 92-95
Phase C4 — Formal Verification + Co-Design
- 3 TLA+ specifications: TemplateExchangeProtocol, DevelopmentalGating, ConvergenceDetection
- Zardini co-design formalization:
DesignProblem,compose_series/parallel,feedback_fixed_point - Example 96
Also in this release
- Paper restructured per peer review (12 sections, proper theorem environments)
- 70+ roborev findings fixed across runtime, docs, and convergence code
- Watcher state leak fix, CLI handler improvements, UTC timestamp compatibility
Stats
- 96 examples (was 85)
- 1346 tests (was 1168)
- 12 convergence modules (new package)
- 3 TLA+ specs (new)
- Paper: 12 sections, all proofs verified, zero undefined references
🤖 Generated with Claude Code
v0.23.3
CLI Stage Handler — External Tool Integration
Shell out to any CLI tool as an organism stage. The full Operon stack works unchanged on CLI-backed agents.
cli_handler()
Factory wrapping CLI commands as SkillStage handlers:
input_mode: "arg" (append to command), "stdin" (pipe), "none"parse_output: optional callable for structured output (JSON, lines, custom)success_codes: configurable (default: only 0)- Timeout detection with
timed_outflag sanitize_taskstrips shell metacharacters by default
cli_organism()
Convenience for building a ManagedOrganism from a dict of {stage_name: command}.
_action_type convention
Handlers can now signal FAILURE to the organism by returning {"_action_type": "FAILURE"}, triggering halt_on_block and watcher RETRY interventions.
Example
from operon_ai import cli_handler, managed_organism, SkillStage
m = managed_organism(stages=[
SkillStage(name="generate", role="Coder", handler=cli_handler("claude --print")),
SkillStage(name="lint", role="Linter", handler=cli_handler("ruff check --fix")),
])
result = m.run("Fix the auth bug")10 new tests (1151 total). Example 83.
v0.23.2
Pattern-First Ergonomics Pass
Makes the v0.19-0.23 subsystems as accessible as skill_organism() made v0.18.
managed_organism()
One-call factory wiring the full stack: library + watcher + substrate + development + social learning. Returns ManagedOrganism with .run(), .consolidate(), .export_templates(), .import_from_peer(), .scaffold(), .status(). Everything opt-in — omit a parameter and that subsystem is simply not configured.
consolidate()
One-call sleep consolidation. Pass a PatternLibrary, get back a ConsolidationResult. Creates AutophagyDaemon + SleepConsolidation internally with sensible defaults.
advise_topology() v2
Now accepts optional library and fingerprint parameters. When provided, returns the best matching template from the library alongside structural advice.
Also included
- 11 new tests (1141 total)
- Example 82: full-stack managed_organism demo
v0.23.1
Release Integration + Publication Polish
Phase 8 — the capstone. Completes the 8-phase roadmap.
Memory Adapters
histone_to_bitemporal()— bridges HistoneStore markers into bi-temporal factsepisodic_to_bitemporal()— bridges EpisodicMemory entries into bi-temporal facts- One-way, non-destructive: source memory systems unchanged
Cross-Subsystem Integration Tests
- Substrate + watcher: facts recorded during organism run, watcher observes
- Adaptive assembly + consolidation: run → consolidate → promote templates
- Social learning + development: scaffold with developmental gating and critical periods
- Full lifecycle: telomere → development → library → adaptive → consolidation
- Memory adapters: histone/episodic → bi-temporal bridge with consolidation
Article Polish
- Abstract rewritten for full v0.19–v0.23 six-layer scope
- Conclusion updated with roadmap arc and future work
The Complete Arc
structure (v0.17–0.18) → memory (v0.19–0.20) → adaptation (v0.21) → cognition (v0.22) → development (v0.23) → integration (v0.23.1)
1130 tests. 81 examples. 8 HuggingFace Spaces. Roadmap complete.
v0.23.0
Developmental Staging + Critical Periods
Phase 7: the developmental layer.
DevelopmentController
DevelopmentalStageenum: EMBRYONIC → JUVENILE → ADOLESCENT → MATURE- Threshold-based transitions from telomere consumed fraction (configurable)
- Learning plasticity: 1.0 (EMBRYONIC) → 0.25 (MATURE)
CriticalPeriod— time-limited learning windows that close permanentlystage_reached()— ordinal comparison helper
Capability Gating
Plasmid.min_stage— tools require minimum developmental stageMitochondria.acquire()checks developmental stage before granting
Teacher-Learner Scaffolding
SocialLearning.scaffold_learner()— mature organisms guide younger onesScaffoldingResult— adoption + plasticity bonus + filtered template IDs
Also included
- 18 new tests (1119 total)
- Examples 80 (developmental staging) and 81 (critical periods)
- Developmental Staging Space
- Article: critical periods (§6), developmental staging implementation (§8)
v0.22.1
Social Learning + Curiosity Signals
Phase 6: agents that learn from peers and seek informative inputs.
SocialLearning
SocialLearning— cross-organism template exchange viaPeerExchangeTrustRegistry— EMA-based epistemic vigilance (trust increases on success, decreases on failure)export_templates()/import_from_peer()/record_adoption_outcome()- Provenance tracking:
get_provenance()traces which peer shared each template
Curiosity Signals
- Watcher emits
EPISTEMIC/curiositysignals whenEpiplexityMonitordetects EXPLORING status - New step 4.5 in intervention chain: high novelty on fast model → ESCALATE
curiosity_escalation_thresholdinWatcherConfig(default 0.6)- Refactored epiplexity measurement to avoid double-calling
measure()
Also included
- 30 new tests (1101 total)
- Examples 78 (social learning) and 79 (curiosity)
- Social Learning Space
- Article: social learning + epistemic vigilance (§6), implementation (§8)
v0.22.0
Cognitive Modes + Sleep Consolidation
Phase 5: the cognitive architecture layer.
CognitiveMode
OBSERVATIONAL(System A) /ACTION_ORIENTED(System B) enum onSkillStageresolve_cognitive_mode()infers frommodewhen not explicitly set- Watcher detects mode mismatches,
mode_balance()reports A/B distribution
SleepConsolidation
- 5-step post-batch cycle: prune → replay → compress → counterfactual → promote
- Replays successful
PatternRunRecords intoEpisodicMemorywith tier promotion - Compresses recurring high-success patterns into consolidated
PatternTemplates counterfactual_replay()diffs bi-temporal corrections to detect outcome-changing facts- Promotes frequently-accessed ACETYLATION histone marks to permanent METHYLATION
Also included
- 18 new tests (1071 total)
- Examples 76 (cognitive modes) and 77 (sleep consolidation)
- Consolidation Space
- Article: cognitive modes (§6), consolidation implementation (§8)