Interface LoopManifest

Which loops a deployment runs.

interface LoopManifest {
    manifestVersion: 1;
    surface: "gmi" | "custom" | "runtime";
    profile: LearningProfile;
    mode: LearningMode;
    modeSetBy: "config" | "AGENTOS_LEARNING_OFF" | "AGENTOS_LEARNING_FREEZE";
    loops: Record<LoopName, LoopState>;
    guardrails: {
        complete: boolean;
        detail: string;
    };
    turns: {
        prepared: number;
        bound: number;
        none: Partial<Record<NoLearnerReason, number>>;
    };
    forgetUnreached?: string[];
    notes?: string[];
}

Properties

manifestVersion: 1
surface: "gmi" | "custom" | "runtime"

The host that built the layer; custom is a product that calls the layer around its own turn loop.

The mode in effect: the configured mode with the process switches applied.

modeSetBy: "config" | "AGENTOS_LEARNING_OFF" | "AGENTOS_LEARNING_FREEZE"

What set the mode: the host's option, or the environment variable that overrides it.

loops: Record<LoopName, LoopState>
guardrails: {
    complete: boolean;
    detail: string;
}

Whether the guardrails the self-change kinds wait for are in place.

Type declaration

  • complete: boolean
  • detail: string
turns: {
    prepared: number;
    bound: number;
    none: Partial<Record<NoLearnerReason, number>>;
}

The turns the layer prepared since it was built, and how many had no learner, by reason.

Type declaration

  • prepared: number
  • bound: number
  • none: Partial<Record<NoLearnerReason, number>>
forgetUnreached?: string[]

The stores forgetUser does not reach, by name and why.

notes?: string[]

What a host must do itself for the loops to hold (a host that registers the memory tools itself).