Interface SelfImprovementConfig

Configuration for bounded autonomous self-improvement.

Controls four self-improvement capabilities:

  • Personality: HEXACO trait mutation with per-session budgets and decay.
  • Skills: Runtime skill enable/disable with allowlist gating.
  • Workflows: Tool composition with step limits and tool allowlists.
  • Self-evaluation: LLM-based self-scoring with parameter adjustment.

All capabilities require enabled: true as a master switch. Individual sub-system settings provide additional fine-grained control.

interface SelfImprovementConfig {
    enabled: boolean;
    personality: {
        maxDeltaPerSession: number;
        persistWithDecay: boolean;
        decayRate: number;
    };
    skills: {
        allowlist: string[];
        requireApprovalForNewCategories: boolean;
    };
    workflows: {
        maxSteps: number;
        allowedTools: string[];
    };
    selfEval: {
        autoAdjust: boolean;
        adjustableParams: string[];
        maxEvaluationsPerSession: number;
        evaluationModel?: string;
    };
}

Properties

enabled: boolean

Master switch for all self-improvement tools. When false, no self-improvement tools are registered with the engine.

Default

false
personality: {
    maxDeltaPerSession: number;
    persistWithDecay: boolean;
    decayRate: number;
}

Configuration for bounded personality trait mutation.

Personality mutations modify HEXACO dimensions at runtime, subject to per-session delta budgets and Ebbinghaus-style decay toward baseline values during consolidation cycles.

Type declaration

  • maxDeltaPerSession: number

    Maximum absolute delta per trait per session.

    Limits how far any single HEXACO dimension can shift in a single agent session. Deltas exceeding this budget are clamped.

    Default

    0.15
    
  • persistWithDecay: boolean

    Whether to persist mutations across sessions with strength decay.

    When true, mutations are written to the PersonalityMutationStore and gradually decay toward baseline via the ConsolidationLoop. When false, mutations are session-scoped only.

    Default

    true
    
  • decayRate: number

    Decay rate toward baseline per consolidation cycle.

    Each consolidation cycle reduces every mutation's strength by this amount. Mutations whose strength falls below 0.1 are pruned.

    Default

    0.05
    
skills: {
    allowlist: string[];
    requireApprovalForNewCategories: boolean;
}

Configuration for runtime skill management.

Controls which skills the agent can enable/disable at runtime and whether human-in-the-loop approval is required for new skill categories.

Type declaration

  • allowlist: string[]

    Skill IDs or patterns the agent is allowed to enable.

    Supports three matching modes:

    • ['*'] — All skills are allowed (default).
    • ['category:X'] — Skills in category X are allowed.
    • ['skillId'] — Exact skill ID match.

    Default

    ['*']
    
  • requireApprovalForNewCategories: boolean

    Whether to require HITL approval for skills in new categories.

    When true, enabling a skill whose category is not yet represented among active skills returns a requires_approval status instead of enabling immediately.

    Default

    true
    
workflows: {
    maxSteps: number;
    allowedTools: string[];
}

Configuration for runtime workflow composition.

Workflows are multi-step tool pipelines created by the agent at runtime. Steps execute sequentially with reference resolution ($input, $prev, $steps[N]) between them.

Type declaration

  • maxSteps: number

    Maximum number of steps per composed workflow.

    Prevents unbounded pipeline creation. Workflows exceeding this limit are rejected at creation time.

    Default

    10
    
  • allowedTools: string[]

    Tool names or patterns the agent may compose into workflows.

    • ['*'] — All registered tools are allowed (default).
    • ['toolName'] — Only the listed tools may appear as workflow steps.

    The create_workflow tool is always excluded to prevent recursion.

    Default

    ['*']
    
selfEval: {
    autoAdjust: boolean;
    adjustableParams: string[];
    maxEvaluationsPerSession: number;
    evaluationModel?: string;
}

Configuration for self-evaluation and strategy adjustment.

The agent can evaluate its own responses, score them on multiple criteria, and adjust operational parameters (temperature, verbosity, personality) based on the evaluation results.

Type declaration

  • autoAdjust: boolean

    Whether to auto-apply suggested adjustments after evaluation.

    When true, the self-evaluate tool applies parameter adjustments immediately. When false, adjustments are returned as suggestions only and require explicit confirmation.

    Default

    true
    
  • adjustableParams: string[]

    Parameters the agent is permitted to adjust via self-evaluation.

    Common adjustable parameters:

    • 'temperature' — LLM sampling temperature.
    • 'verbosity' — Response length preference.
    • 'personality' — Any HEXACO trait delta via a { trait, delta } payload.
    • explicit trait names such as 'openness' or 'agreeableness'.

    Default

    ['temperature', 'verbosity', 'personality']
    
  • maxEvaluationsPerSession: number

    Maximum number of self-evaluations allowed per session.

    Prevents excessive LLM calls for self-scoring. Further evaluation requests beyond this limit are rejected.

    Default

    10
    
  • Optional evaluationModel?: string

    Optional model override for the evaluation judge.

    When omitted, the tool auto-detects the current text runtime and uses its cheapest configured text model when available, falling back to openai:gpt-4o-mini.

    Default

    auto-detected cheap text model