openskynet / src /omega /executive-runtime.test.ts
Darochin's picture
Mirror OpenSkyNet workspace snapshot from Git HEAD
fc93158 verified
import { describe, expect, it } from "vitest";
import { observeOmegaExecutiveState } from "./executive-arbitration.js";
import {
deriveNextOmegaExecutiveDispatchAccounting,
deriveOmegaExecutiveDispatchPlan,
} from "./executive-runtime.js";
import type { OmegaMemoryOrchestratorSummary } from "./memory-orchestrator.js";
import type { OmegaSessionAuthority } from "./session-context.js";
import type { OmegaWorldModelSnapshot } from "./world-model.js";
function makeSnapshot(overrides: Partial<OmegaWorldModelSnapshot> = {}): OmegaWorldModelSnapshot {
return {
sessionKey: "agent:test:main",
sessionAuthority: {
timeline: [],
transactions: [],
} satisfies OmegaSessionAuthority,
timelineLength: 0,
relevantMemories: [],
operationalSignals: [],
problemAgenda: [],
degradedComponents: [],
...overrides,
};
}
function makeMemory(
overrides: Partial<OmegaMemoryOrchestratorSummary> = {},
): OmegaMemoryOrchestratorSummary {
return {
health: "stable",
promotionCandidates: 0,
revalidationCandidates: 0,
repeatedFailurePatterns: [],
recentUsefulSuccesses: 0,
...overrides,
};
}
describe("deriveOmegaExecutiveDispatchPlan", () => {
it("dispatches recovery work immediately", () => {
const observer = observeOmegaExecutiveState({
snapshot: makeSnapshot({
kernel: {
revision: 2,
sessionKey: "agent:test:main",
turnCount: 2,
identity: { continuityId: "c1", firstSeenAt: 1, lastSeenAt: 2 },
world: { lastObservedChangedFiles: [] },
goals: [
{
id: "goal-1",
task: "repair app",
targets: ["src/app.ts"],
requiredKeys: [],
status: "active",
createdAt: 1,
updatedAt: 2,
createdTurn: 1,
updatedTurn: 2,
failureCount: 2,
successCount: 0,
observedChangedFiles: [],
},
],
tension: {
openGoalCount: 1,
staleGoalCount: 0,
failureStreak: 2,
repeatedFailureKinds: ["target_not_touched"],
pendingCorrection: true,
},
causalGraph: { files: [], edges: [] },
updatedAt: 2,
},
}),
memory: makeMemory(),
});
const plan = deriveOmegaExecutiveDispatchPlan({ observer });
expect(plan.shouldDispatchLlmTurn).toBe(true);
expect(plan.selectedAction).toBe("recover");
expect(plan.queueKind).toBe("anomaly");
expect(plan.nextWakeDelayMs).toBe(1000);
expect(plan.queueDepths.goals).toBe(1);
expect(observer.decision.selectedWorkItemId).toBe("anomaly:repeated_failure");
expect(plan.selectedWorkItemId).toBe("anomaly:repeated_failure");
expect(plan.dispatchedWorkItemId).toBe("anomaly:repeated_failure");
expect(plan.expectedUtility).toBeGreaterThan(0);
expect(plan.estimatedDispatchCostMs).toBe(0);
expect(plan.scheduledItems.some((item) => item.queueKind === "anomaly")).toBe(true);
});
it("defers maintenance-only work without dispatching an LLM turn", () => {
const observer = observeOmegaExecutiveState({
snapshot: makeSnapshot(),
memory: makeMemory({
revalidationCandidates: 2,
health: "needs_revalidation",
}),
});
const plan = deriveOmegaExecutiveDispatchPlan({ observer });
expect(plan.shouldDispatchLlmTurn).toBe(false);
expect(plan.selectedAction).toBe("maintain");
expect(plan.queueKind).toBe("maintenance");
expect(observer.decision.selectedWorkItemId).toBe("maintenance:memory:revalidate");
expect(plan.deferReason).toBe("maintenance_only");
});
it("tracks dispatch accounting across cycles", () => {
const observer = observeOmegaExecutiveState({
snapshot: makeSnapshot({
kernel: {
revision: 2,
sessionKey: "agent:test:main",
turnCount: 1,
identity: { continuityId: "c1", firstSeenAt: 1, lastSeenAt: 1 },
world: { lastObservedChangedFiles: [] },
goals: [
{
id: "goal-1",
task: "repair app",
targets: ["src/app.ts"],
requiredKeys: [],
status: "active",
createdAt: 1,
updatedAt: 1,
createdTurn: 1,
updatedTurn: 1,
failureCount: 0,
successCount: 0,
observedChangedFiles: [],
},
],
tension: {
openGoalCount: 1,
staleGoalCount: 0,
failureStreak: 0,
repeatedFailureKinds: [],
pendingCorrection: true,
},
causalGraph: { files: [], edges: [] },
updatedAt: 1,
},
}),
memory: makeMemory(),
});
const plan = deriveOmegaExecutiveDispatchPlan({ observer });
const accounting = deriveNextOmegaExecutiveDispatchAccounting({ plan });
expect(accounting.totalCycles).toBe(1);
expect(accounting.llmDispatches).toBe(1);
expect(accounting.queueDispatchCounts.goal).toBe(1);
expect(accounting.recentSelectedWorkItemIds[0]).toBe(plan.selectedWorkItemId);
expect(accounting.recentDispatchedWorkItemIds[0]).toBe(plan.dispatchedWorkItemId);
expect(accounting.workItemLedger[0]?.state).toBe("dispatched");
expect(accounting.workItemLedger[0]?.llmCalls).toBe(1);
expect(accounting.workItemLedger[0]?.cumulativeExpectedUtility).toBeGreaterThan(0);
});
it("marks vanished work items as completed when they leave the schedule", () => {
const activeObserver = observeOmegaExecutiveState({
snapshot: makeSnapshot({
kernel: {
revision: 2,
sessionKey: "agent:test:main",
turnCount: 1,
identity: { continuityId: "c1", firstSeenAt: 1, lastSeenAt: 1 },
world: { lastObservedChangedFiles: [] },
goals: [
{
id: "goal-1",
task: "repair app",
targets: ["src/app.ts"],
requiredKeys: [],
status: "active",
createdAt: 1,
updatedAt: 1,
createdTurn: 1,
updatedTurn: 1,
failureCount: 0,
successCount: 0,
observedChangedFiles: [],
},
],
tension: {
openGoalCount: 1,
staleGoalCount: 0,
failureStreak: 0,
repeatedFailureKinds: [],
pendingCorrection: true,
},
causalGraph: { files: [], edges: [] },
updatedAt: 1,
},
}),
memory: makeMemory(),
});
const activePlan = deriveOmegaExecutiveDispatchPlan({ observer: activeObserver });
const firstAccounting = deriveNextOmegaExecutiveDispatchAccounting({ plan: activePlan });
const idleObserver = observeOmegaExecutiveState({
snapshot: makeSnapshot(),
memory: makeMemory(),
});
const idlePlan = deriveOmegaExecutiveDispatchPlan({
observer: idleObserver,
previousAccounting: firstAccounting,
});
const secondAccounting = deriveNextOmegaExecutiveDispatchAccounting({
previousAccounting: firstAccounting,
plan: idlePlan,
});
const goalLedger = secondAccounting.workItemLedger.find(
(entry) => entry.itemId === "goal:goal-1",
);
expect(goalLedger?.state).toBe("completed");
expect(goalLedger?.lastCompletedAtCycle).toBe(2);
});
it("escalates repeated low-yield direct execution into recovery when a stalled anomaly is present", () => {
const observer = observeOmegaExecutiveState({
snapshot: makeSnapshot({
kernel: {
revision: 2,
sessionKey: "agent:test:main",
turnCount: 4,
identity: { continuityId: "c1", firstSeenAt: 1, lastSeenAt: 4 },
world: { lastObservedChangedFiles: [] },
goals: [
{
id: "goal-1",
task: "repair app",
targets: ["src/app.ts"],
requiredKeys: [],
status: "active",
createdAt: 1,
updatedAt: 4,
createdTurn: 1,
updatedTurn: 4,
failureCount: 1,
successCount: 0,
observedChangedFiles: [],
},
],
tension: {
openGoalCount: 1,
staleGoalCount: 0,
failureStreak: 0,
repeatedFailureKinds: [],
pendingCorrection: true,
},
causalGraph: { files: [], edges: [] },
updatedAt: 4,
},
operationalSignals: [
{
id: "turn-1",
recordedAt: 1,
iteration: 1,
terminationReason: "continue",
turnHealth: "stalled",
progressObserved: false,
timelineDelta: 0,
kernelUpdated: false,
latencyBreakdown: {
sendAgentTurnMs: 10,
loadSnapshotMs: 10,
readLatestReplyMs: 0,
totalMs: 20,
},
},
{
id: "turn-2",
recordedAt: 2,
iteration: 2,
terminationReason: "continue",
turnHealth: "stalled",
progressObserved: false,
timelineDelta: 0,
kernelUpdated: false,
latencyBreakdown: {
sendAgentTurnMs: 10,
loadSnapshotMs: 10,
readLatestReplyMs: 0,
totalMs: 20,
},
},
],
}),
memory: makeMemory({ health: "stalled" }),
});
const plan = deriveOmegaExecutiveDispatchPlan({
observer,
previousAccounting: {
totalCycles: 3,
llmDispatches: 2,
deferredCycles: 1,
queueDispatchCounts: { goal: 2, maintenance: 0, anomaly: 0 },
recentSelectedWorkItemIds: [
"goal:goal-1",
"goal:goal-1",
"maintenance:self_repair:stalled_progress",
],
recentDispatchedWorkItemIds: ["goal:goal-1", "goal:goal-1"],
workItemLedger: [
{
itemId: "goal:goal-1",
queueKind: "goal",
state: "dispatched",
selectedCount: 2,
dispatchCount: 2,
deferCount: 0,
llmCalls: 2,
observedWallTimeMs: 4000,
cumulativeExpectedUtility: 1.1,
cumulativeRealizedUtility: 0.3,
averageBudgetPressure: 0.4,
firstSeenAtCycle: 1,
lastSelectedAtCycle: 3,
lastDispatchedAtCycle: 3,
},
],
},
});
expect(plan.shouldDispatchLlmTurn).toBe(true);
expect(plan.selectedAction).toBe("recover");
expect(plan.queueKind).toBe("anomaly");
expect(plan.selectedWorkItemId).toBe("anomaly:stalled_progress");
expect(plan.dispatchedWorkItemId).toBe("anomaly:stalled_progress");
});
it("backs off repeated low-yield direct execution and prefers maintenance when available", () => {
const observer = observeOmegaExecutiveState({
snapshot: makeSnapshot({
kernel: {
revision: 2,
sessionKey: "agent:test:main",
turnCount: 4,
identity: { continuityId: "c1", firstSeenAt: 1, lastSeenAt: 4 },
world: { lastObservedChangedFiles: [] },
goals: [
{
id: "goal-1",
task: "repair app",
targets: ["src/app.ts"],
requiredKeys: [],
status: "active",
createdAt: 1,
updatedAt: 4,
createdTurn: 1,
updatedTurn: 4,
failureCount: 1,
successCount: 0,
observedChangedFiles: [],
},
],
tension: {
openGoalCount: 1,
staleGoalCount: 0,
failureStreak: 0,
repeatedFailureKinds: [],
pendingCorrection: true,
},
causalGraph: { files: [], edges: [] },
updatedAt: 4,
},
}),
memory: makeMemory({ revalidationCandidates: 2, health: "needs_revalidation" }),
});
const plan = deriveOmegaExecutiveDispatchPlan({
observer,
previousAccounting: {
totalCycles: 3,
llmDispatches: 2,
deferredCycles: 1,
queueDispatchCounts: { goal: 2, maintenance: 0, anomaly: 0 },
recentSelectedWorkItemIds: [
"goal:goal-1",
"goal:goal-1",
"maintenance:self_repair:stalled_progress",
],
recentDispatchedWorkItemIds: ["goal:goal-1", "goal:goal-1"],
workItemLedger: [
{
itemId: "goal:goal-1",
queueKind: "goal",
state: "dispatched",
selectedCount: 2,
dispatchCount: 2,
deferCount: 0,
llmCalls: 2,
observedWallTimeMs: 4000,
cumulativeExpectedUtility: 1.1,
cumulativeRealizedUtility: 0.3,
averageBudgetPressure: 0.4,
firstSeenAtCycle: 1,
lastSelectedAtCycle: 3,
lastDispatchedAtCycle: 3,
},
],
},
});
expect(plan.shouldDispatchLlmTurn).toBe(false);
expect(plan.deferReason).toBe("repeat_low_yield");
expect(plan.selectedAction).toBe("maintain");
expect(plan.queueKind).toBe("maintenance");
expect(plan.selectedWorkItemId).toBe("maintenance:memory:revalidate");
});
it("accumulates budget ledger details per dispatched work item", () => {
const observer = observeOmegaExecutiveState({
snapshot: makeSnapshot({
operationalSignals: [
{
id: "turn-1",
recordedAt: 1,
iteration: 1,
terminationReason: "continue",
turnHealth: "progressing",
progressObserved: true,
timelineDelta: 1,
kernelUpdated: true,
latencyBreakdown: {
sendAgentTurnMs: 10,
loadSnapshotMs: 20,
readLatestReplyMs: 5,
totalMs: 60,
},
},
],
kernel: {
revision: 2,
sessionKey: "agent:test:main",
turnCount: 1,
identity: { continuityId: "c1", firstSeenAt: 1, lastSeenAt: 1 },
world: { lastObservedChangedFiles: [] },
goals: [
{
id: "goal-2",
task: "ship fix",
targets: ["src/fix.ts"],
requiredKeys: [],
status: "active",
createdAt: 1,
updatedAt: 1,
createdTurn: 1,
updatedTurn: 1,
failureCount: 1,
successCount: 0,
observedChangedFiles: [],
},
],
tension: {
openGoalCount: 1,
staleGoalCount: 0,
failureStreak: 0,
repeatedFailureKinds: [],
pendingCorrection: true,
},
causalGraph: { files: [], edges: [] },
updatedAt: 1,
},
}),
memory: makeMemory(),
});
const plan = deriveOmegaExecutiveDispatchPlan({ observer });
const accounting = deriveNextOmegaExecutiveDispatchAccounting({ plan });
const ledger = accounting.workItemLedger.find(
(entry) => entry.itemId === plan.dispatchedWorkItemId,
);
expect(plan.estimatedDispatchCostMs).toBe(60);
expect(ledger?.observedWallTimeMs).toBe(60);
expect(ledger?.llmCalls).toBe(1);
expect(ledger?.averageBudgetPressure).toBeGreaterThanOrEqual(0);
expect(ledger?.cumulativeRealizedUtility).toBeGreaterThanOrEqual(0);
});
});