Conductor is an Elixir/OTP implementation scaffold for the Symphony Service Specification in
SPEC.md. The service is intended to poll Linear, create isolated per-issue
workspaces, and run Codex app-server sessions against those workspaces.
This repository is set up for agent-first development:
AGENTS.mdis the short entry map for Codex and other coding agents.docs/is the versioned system of record for product, architecture, quality, security, and execution plans.WORKFLOW.mdis the repository-owned runtime contract for Symphony-style unattended issue work.make allis the local quality gate used by humans and agents.
The repository now includes the core Symphony runtime plus three optional extensions:
- workflow front-matter parsing, typed config, dynamic reload checks, and strict prompt rendering;
- Linear issue reads and normalization;
- sanitized per-issue workspaces with lifecycle hooks;
- Codex app-server launch over JSON-RPC stdio from the issue workspace;
- an OTP orchestrator for polling, bounded dispatch, retries, reconciliation, and snapshots;
- a loopback Phoenix LiveView dashboard and JSON API when
server.portor CLI--portis set; - a
linear_graphqlCodex client-side tool when Linear auth is configured; - SSH stdio worker execution when
worker.ssh_hostsis configured.
The real external integration profile is still environment-dependent future validation.
- Elixir
1.19.xwith Erlang/OTP28. - Optional:
misecan install the pinned toolchain frommise.toml.
mix setup
mix testmake all is the full quality gate. It currently fails at the coverage step until the test
baseline is raised to the configured 95% threshold.
mix format
mix test
mix coverage
mix specs.check
mix repo_knowledge.check
mix credo.check
mix dialyzer.check
make coverage
make allmix coverage runs mix test --cover, writes the built-in HTML report to cover/, and enforces
at least 95% total coverage.
mix escript.build
./conductor ./WORKFLOW.mdIf no workflow path is passed, the CLI defaults to ./WORKFLOW.md.
Enable the optional HTTP dashboard/API with either workflow server.port or a CLI override:
./conductor --port 4000 ./WORKFLOW.mdSPEC.md: authoritative service behavior contract.ARCHITECTURE.md: implementation architecture and module boundaries.WORKFLOW.md: default Linear/Codex workflow configuration and prompt.docs/product-specs/: product-level behavior and acceptance references.docs/design-docs/: design decisions and agent-first principles.docs/exec-plans/: active plans, completed plans, and known technical debt.docs/QUALITY_SCORE.md: quality grades and next improvement targets.docs/SECURITY.md: trust boundary and hardening posture.