- Keep one orchestrator-centered control plane for issue intake, workspace prep, agent execution, review, merge, and cleanup.
- Keep Telegram as the primary operator conversation surface, with runtime API, SSE, web UI, Runtime Deck, and Mini App views as control and diagnostic surfaces over the same state.
- Route every issue through explicit
WORKFLOW.md -> repositories.routingconfiguration keyed by Linearproject_slug. - Prefer the bundled Claude-compatible runtime for dev, review, and repo-understanding work, with SymHarix owning orchestration, policy, evidence, and post-processing.
- Keep the preferred bundled runtime entrypoint as
claude-code/bin/claude-symharix; legacy runtime names are compatibility fallbacks only.
WORKFLOW.mdis the global orchestration and routing truth source..symphony-repo.yamldefines repo-local execution and verification contracts..symphony/change-pack/stays private execution state and does not ship in final business commits.- Orchestrator owns PR lifecycle, review execution, merge, issue closure, branch cleanup, and session cleanup.
- Telegram, Runtime Deck, and Mini App surfaces may explain, stop, retry, or create work, but they must not bypass orchestrator policy.
- The self-hosted server path should stay operable through
bun run setup,bun run start, health endpoints, and the systemd service packaging.
- Strengthen evidence-based completion rather than relying on agent tone or hand-written summaries.
- Keep simple issues lightweight and biased toward one clean turn when evidence is satisfied.
- Expose runtime state in user-facing surfaces with the same DTOs, timeline semantics, token usage, active PR context, and delivery-blocker language.
- Consolidate compatibility layers when a new main path becomes stable.
- Accumulate governance signals that help the system suggest cleanup, consolidation, or constitution updates.
- Preserve a clean publishable clone path: do not require local-only state, generated logs, databases, or secrets for normal setup.
- Introduce a second control plane that re-derives live state from logs or stderr parsing.
- Reintroduce implicit repository guessing from project names instead of explicit project-slug routing.
- Let bots, web handlers, or adapters bypass orchestrator ownership for review, merge, close, or tracker mutations.
- Commit
.symphony/change-pack/, transient handover artifacts, or process chatter into final product output by default. - Add new one-off side paths that duplicate existing runtime, bot, or orchestration responsibilities.
- Expand new chat surfaces before the Telegram-first Supervisor path, Runtime Deck, Mini App, and delivery evidence paths are stable.
- Governed harnessed execution with formal repo contracts and shadow harness fallback.
- Stable review completion driven by canonical artifacts and precise runtime evidence.
- Runtime visibility that explains why work is running, blocked, retrying, incomplete, merge-blocked, or ready to ship.
- Server deployment hygiene: verified runtime entrypoint, simple setup/start commands, health checks, and service-managed long-running operation.
- Repeated review churn or merge-blocked loops on the same area.
- Duplicate entrypoints or adapter layers that expose overlapping behavior.
- Frequent retries on the same issue class without new evidence.
- Hotspot directories that absorb repeated unrelated changes.
- Provisional harness or constitution knowledge that is stable enough to formalize.
- Documentation, package scripts, and runtime contracts drifting out of sync.