Files
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

1.7 KiB

ADDED Requirements

Requirement: Pregel execution engine

The system SHALL implement a Pregel-style superstep execution engine where:

  • Each "superstep" executes all ready nodes concurrently
  • Nodes communicate through typed channels (not direct function calls)
  • Channel writes from one superstep are visible as reads in the next
  • The engine supports PULL (edge-triggered) and PUSH (dynamic Send) task scheduling

Scenario: Nodes execute in dependency order

  • WHEN node B subscribes to channel A
  • THEN node B SHALL execute in the superstep after node A writes to channel A

Scenario: Concurrent nodes run in parallel

  • WHEN two nodes have no dependencies between them
  • THEN they SHALL execute concurrently within the same superstep

Scenario: Dynamic Send spawns new node executions

  • WHEN a node calls send("node_c", { ... }) via Command
  • THEN node_c SHALL be scheduled for execution in the current or next superstep

Requirement: Graph compilation

The system SHALL provide graph.compile() that produces a runnable compiled graph.

Parameters:

  • checkpointer?: Checkpointer — optional persistence
  • interruptBefore?: string[] — nodes to pause before
  • interruptAfter?: string[] — nodes to pause after
  • name?: string — graph name

Scenario: Compiled graph can be invoked

  • WHEN compiled_graph.invoke({ messages: [] }) is called
  • THEN it SHALL execute all nodes and return the final state

Requirement: Recursion limit

The system SHALL enforce a configurable recursion limit to prevent infinite loops.

Scenario: Exceeding recursion limit throws

  • WHEN a graph exceeds the recursion limit
  • THEN a GraphRecursionError SHALL be thrown