Orion is a portfolio-scale orchestrator demo built by a University of Maryland student studying Information Science and Electrical Engineering with a Business minor. It demonstrates how a backend can coordinate specialized agents over a workflow graph while keeping execution traceable in both API responses and UI views.
Orion currently uses stub-based agents and deterministic tools. The planner, worker, and reviewer roles are implemented in code, but they do not call external LLM APIs in the default flow. This repository is focused on orchestration design patterns, reliability controls, and observability for a student portfolio demo.
- Multi-agent role separation (planner, worker, reviewer).
- Typed workflow decomposition into dependency-aware DAG steps.
- Retry + fallback controls for failed steps.
- Approval-gated sensitive actions that pause and resume runs.
- Audit logs and usage-style metrics for replay and walkthroughs.
For full details, see docs/architecture.md.
High-level flow:
- Planner Agent decomposes a user goal into ordered steps and dependencies.
- Execution Engine starts dependency-ready steps.
- Worker Agent executes each step via the tool registry.
- Reviewer Agent records review decisions and can support approval-gated steps.
- Run Store + Audit persist state transitions, events, and metrics.
Agent responsibilities:
- Planner Agent: produces deterministic plan structures from goal text.
- Worker Agent: dispatches named tool calls and records step outcomes.
- Reviewer Agent: captures review traces and approval outcomes.
- Tools: deterministic stubs (search/math/http/code/etc.) used to simulate orchestration behavior.
- Architecture guide:
docs/architecture.md - API surface summary:
docs/api.md - Codebase map:
docs/codebase-overview.md
make setupBackend API
make dev-backendFrontend UI (new terminal)
make dev-frontendOptional full stack via containers:
make upWith backend running on http://localhost:8000:
make run-orchestrator-demoA typical demo sequence:
- Open API docs at
http://localhost:8000/docs. - Run
make run-orchestrator-demoto submit a goal-driven workflow. - Inspect run state, step transitions, retries, and approval gating in API/UI.
- Review screenshots in
docs/screenshots/README.md. - Open the design page at
docs/preview/index.html.
- Screenshot index:
docs/screenshots/README.md - Portfolio/UI preview:
docs/preview/index.html
No API key is required for the default demo because the implementation is stub-based and deterministic.
If you later add an LLM-backed planner/router, store secrets in local environment variables (for example via .env) and never commit API keys.
This project is licensed under LICENSE.