Phase 1 — Formalize the blueprint schema
Turn the existing blueprint design into a real schema with step IDs, dependencies, retry policy, timeout, allowed tool profile, network mode, and output contracts.
This brief explains what the original GitHub project is, which parts are genuinely valuable for Agent Soul System, which parts conflict with the current architecture, and the exact path to adopt the good parts without importing the bad runtime.
open-multi-agent is a lightweight TypeScript orchestration engine for short-lived agent teams. Its pitch is simple: define a team, pass a goal, let a coordinator decompose the goal into a task DAG, run independent tasks in parallel, then synthesize a result.
The useful parts are almost all about execution structure, not identity, memory, or system ownership.
Agent Soul System is a persistent autobiographical memory architecture. The original repo is not. That mismatch is the whole point.
The right call is: do not adopt open-multi-agent as the system. Use it as a reference for building a cleaner executor inside the existing stack.
The implementation plan is straightforward if the scope stays disciplined: port the orchestration ideas, keep the current source of truth, and enforce your runtime rules.
Turn the existing blueprint design into a real schema with step IDs, dependencies, retry policy, timeout, allowed tool profile, network mode, and output contracts.
Add a DAG scheduler and step runners to the existing SDK runner so agent steps, code steps, and gate steps can execute under one audited runtime.
Use the generated tool manifest and permission policy as the executor’s source of truth so shell, file, browser, and network access stay constrained.
Write node-level start, success, failure, retry, and artifact events to Convex and provenance logs so runs are visible and auditable.
Start with research fan-out, review pipelines, and disposable worker tasks. Do not let it own autobiographical memory, agent identity, or long-lived project state.
sdk-runner/
├── blueprint_runner.py
├── dag.py
├── scheduler.py
├── tool_policy.py
├── run_store.py
└── step_runners/
├── agent_step.py
├── code_step.py
└── gate_step.py