Files
boocode/openspec/changes/archived/2026-06-07-hybrid-workflow-engine/specs/library-api/spec.md
indifferentketchup c935687725 chore(openspec): drop 9 superseded proposals + 11 stub archive files
Drop 9 batch proposals that are superseded by the boocode-lift-analysis
(boocontext-audit, conductor upgrades, self-healing/verify-gate skills):
add-3tier-memory, import-llm-evaluator, import-pregel-engine, plugin-platform,
conductor-evolution, code-intelligence-upgrade, dev-workflow, ui-overhaul,
agent-reliability.

Delete 11 stub archive files (49-66B each, 'Status: Shipped. Archived.' only)
that provide zero documentation value over the existing CHANGELOG.md + git tags.
2026-06-07 22:15:38 +00:00

2.1 KiB

ADDED Requirements

Requirement: Programmatic execution

The engine SHALL export an executeWorkflow() function that accepts a workflow definition, store, and options.

Scenario: Execute workflow from code

  • WHEN a host application calls executeWorkflow(workflowDef, store, { userMessage: "..." })
  • THEN the workflow SHALL execute and return a WorkflowExecutionResult

Requirement: Workflow parsing

The engine SHALL export parseWorkflow(yaml: string): WorkflowDefinition and parseWorkflowFile(path: string): WorkflowDefinition functions.

Scenario: Parse YAML string

  • WHEN a host application calls parseWorkflow(yamlString)
  • THEN it SHALL return a validated WorkflowDefinition

Scenario: Parse YAML file

  • WHEN a host application calls parseWorkflowFile("./workflows/my-workflow.yaml")
  • THEN it SHALL read and parse the file, returning a validated WorkflowDefinition

Requirement: Workflow discovery

The engine SHALL export discoverWorkflows(cwd: string): WorkflowLoadResult for finding workflows in the filesystem.

Scenario: Discover workflows

  • WHEN a host application calls discoverWorkflows(cwd)
  • THEN it SHALL return all discovered workflows from the project's .archon/workflows/ directory

Requirement: Store constructors

The engine SHALL export store constructors for each backend: createFsStore(path), createSqliteStore(path), createPostgresStore(connectionString).

Scenario: Create filesystem store

  • WHEN a host application calls createFsStore("./data")
  • THEN it SHALL return an initialized IWorkflowStore using the filesystem backend

Scenario: Create SQLite store

  • WHEN a host application calls createSqliteStore("./ion.db")
  • THEN it SHALL return an initialized IWorkflowStore using SQLite

Requirement: TypeScript types

All public APIs SHALL export full TypeScript type definitions.

Scenario: Types available

  • WHEN a host application imports from the package
  • THEN WorkflowDefinition, DagNode, NodeOutput, WorkflowRun, WorkflowExecutionResult, IWorkflowStore types SHALL all be exported