Operon v0.23: Developmental Staging

Critical Periods, Capability Gating, and What Happens When Agents Grow Up

Bogdan Banu · March 2026 · github.com/coredipper/operon

Release: v0.23.0
Abstract

v0.22 gave Operon cognitive modes, sleep consolidation, social learning, and curiosity. v0.23 adds the developmental layer: organisms now progress through four maturity stages, capabilities are gated by developmental stage, critical periods close permanently as the organism matures, and mature organisms scaffold younger ones’ learning. This is the penultimate phase of the roadmap — the point where agents stop being uniformly capable and start growing up.

1. The Four Stages

The DevelopmentController wraps a Telomere and maps the fraction of telomere consumed to one of four stages:

StageConsumedPlasticityCharacter
EMBRYONIC<10%1.0Maximum learning, minimal capabilities
JUVENILE10–35%0.75Basic capabilities unlocked
ADOLESCENT35–70%0.5Most capabilities available
MATURE>70%0.25Full capabilities, reduced plasticity

Transitions are one-directional. Even if telomeres are renewed (the biological equivalent of telomerase), the developmental stage never regresses. Once mature, always mature. This mirrors the irreversibility of biological development.

2. Critical Periods

CriticalPeriod frozen dataclasses declare time-limited learning windows. Each period specifies when it opens and when it permanently closes:

CriticalPeriod(
    name="rapid_learning",
    opens_at=DevelopmentalStage.EMBRYONIC,
    closes_at=DevelopmentalStage.JUVENILE,
    capability="fast template adoption from peers",
)

Once the organism passes closes_at, the window is shut forever. This models the neurodevelopmental insight that some forms of learning are only possible during specific developmental windows — language acquisition in humans, imprinting in birds, phonetic discrimination in infants.

3. Capability Gating

The Plasmid frozen dataclass gains a min_stage field. When a stage attempts to acquire a tool via Mitochondria.acquire(), the system checks whether the organism’s current developmental stage meets the minimum requirement. An embryonic organism cannot acquire a tool marked min_stage="adolescent".

Why Gate Capabilities

Premature capability exposure is a failure mode. An organism that gains full tool access before it has learned basic patterns is analogous to giving a child unsupervised access to power tools. The developmental gating ensures capabilities are unlocked progressively, matching the organism’s growing competence.

4. Teacher-Learner Scaffolding

SocialLearning.scaffold_learner() enables mature organisms to guide younger ones. The teacher exports templates; the scaffolding mechanism filters out templates too advanced for the learner’s current stage, applies a plasticity bonus to the effective trust score (younger learners are more willing to adopt), and delegates to the standard import mechanism.

As the learner matures, more templates become available. A scaffold at EMBRYONIC might offer only basic single-stage pipelines. The same scaffold at ADOLESCENT unlocks multi-stage workflows. The teacher doesn’t change — the learner’s readiness does.

5. The Full Arc

v0.23 completes the seven-layer progression that the roadmap described:

  1. Structure (v0.17–0.18): typed wiring, topology advice
  2. Memory (v0.19–0.20): bi-temporal facts, auditable substrate
  3. Adaptation (v0.21): pattern library, watcher, adaptive assembly
  4. Cognition (v0.22): cognitive modes, sleep consolidation, social learning, curiosity
  5. Development (v0.23): critical periods, capability gating, scaffolding

One phase remains: Phase 8 (release integration + publication), which ties everything together with cross-subsystem integration tests, paper polish, and publication-grade evaluation runs.

6. Validation

SuiteTestsStatus
Development controller 18 All pass
Full regression suite 1119 All pass
Reference Implementation: operon_ai/state/development.py, operon_ai/organelles/plasmid.py, operon_ai/coordination/social_learning.py, examples/80–81
Code and release: github.com/coredipper/operon, operon-ai on PyPI, developmental staging space