Loop Engine

Packages

@loop-engine/observability

@loop-engine/observability converts instance + transition data into metrics and replayable timelines.

Install

1npm install @loop-engine/observability

Metrics

1computeMetrics(
2 instances: LoopInstance[],
3 history: TransitionRecord[],
4 period: { from: string; to: string }
5): LoopMetrics

LoopMetrics includes completionRate, avgDurationMs, medianDurationMs, p95DurationMs, aiActorRate, humanActorRate, and avgTransitionCount.

1import { computeMetrics } from "@loop-engine/observability"
2 
3const metrics = computeMetrics(instances, history, {
4 from: "2026-03-01T00:00:00.000Z",
5 to: "2026-03-31T23:59:59.999Z"
6})

Timeline

1buildTimeline(instance: LoopInstance, history: TransitionRecord[]): LoopTimeline
2getStateResidency(timeline: LoopTimeline): StateResidency[]

Use timeline output to power audit UIs and state-duration debugging.

Replay

1replayLoop(
2 definition: LoopDefinition,
3 history: TransitionRecord[]
4): { valid: boolean; errors: string[] }

Replay verifies that recorded transitions are valid against the current loop definition.