The execution layer for
agentic workflow packages
Specorator Runtime turns typed WorkflowPackage definitions into running, observable,
in-memory sessions — and provides the harness that lets the Specorator Agent Orchestrator
dispatch automated agents reliably.
The problemWhy this exists
Knowledge work teams using the Specorator ecosystem can define workflows and configure agents, but nothing runs them reliably. Workflows sit as static definitions. Agents are invoked manually, without shared context, structured output capture, or quality controls.
There is no unified lifecycle, no session state to query, and no event stream for a UI to follow in real time. Specorator Runtime closes that gap.
It interprets typed workflow packages assembled from agentic-workflow, invokes
agents from agentonomous, and coordinates execution through a typed event bus.
Every step emits a lifecycle event. The result is a stateful, observable session that any
part of the ecosystem can subscribe to and query.
CapabilitiesWhat it does
WorkflowPackage. Query its state at any point via getSession. Stop cleanly and emit final lifecycle events.runCommand orchestrates the full agent dispatch chain with permission enforcement. runScript invokes typed TypeScript scripts with a narrow capability surface.spawnAgent instantiates an agentonomous agent as an ECS entity with provisioned capabilities (LLM, vault-read, workflow-reference). submitTask drives the agent loop with typed input.allowedSkills, allowedCommands, allowedScripts. Denied calls emit permission.denied events for full visibility.RuntimeEvent from any part of the system. Events carry traceId and parentId correlated across the plugin, runtime, and agent-internal buses.ArchitectureHow it fits in
agentic-workflow (workflow definitions) │ WorkflowPackage assembled by Specorator ▼ Specorator (Obsidian plugin) │ startSession · runCommand · submitTask · bus.subscribe ▼ specorator-runtime ← this package │ agent habitat · permission guard · event bus │ SAO: dispatches Claude CLI → worktrees → artifacts │ └─► agentonomous (agent library as ECS entities)
import RuntimeKernel from 'specorator-runtime';
import type WorkflowPackage from 'specorator-runtime';
const session = await kernel.startSession(workflowPackage, capabilities);
session.bus.subscribe(event => /* handle RuntimeEvent */);
await kernel.runCommand(session.id, '/spec:requirements', args); All public types are re-exported from a single barrel entry point. No deep or path-based imports required.
StatusDelivery plan
Every design decision — runtime kernel, data model, orchestrator engine, failure taxonomy, trace propagation — is being ratified before implementation begins. The v0.1.0 Hello World release follows once the architecture is locked and the engineering scaffold is in place.
Not in scope for V1: distributed execution, multi-user collaboration, cloud-native scaling, filesystem persistence, complex scheduling.