polyphony

v2026.09.24

Multi-agent orchestration with container-isolated workspaces — each agent session runs in its own Docker container with independent git branches

GitHub
安装命令
npx skhub add alinaqi/polyphony
Markdown
SKILL.md

Polyphony — Multi-Agent Orchestration

Container-isolated workspaces for parallel agent execution. Each agent gets its own Docker container with a full git clone on its own branch. No conflicts, independent tests, clean PRs.


Architecture (6 Layers)

  1. Work Source — Tasks from GitHub Issues (gh api) or local SQLite queue
  2. Orchestrator — Supervisor loop: discover -> claim -> route -> provision -> run -> verify -> land
  3. Router — Pure function: Task x Policy -> RunSpec (5-dimension complexity scoring)
  4. Identity Broker — Resolves named credentials to volume mounts + env overlays
  5. Workspace Manager — Per-task git clone --reference, branch checkout, cleanup
  6. Worker Runtime — Docker container create/start/stop/logs lifecycle

Task Lifecycle

DISCOVERED -> CLAIMED -> ROUTED -> PROVISIONED -> RUNNING -> VERIFYING -> LANDED
                                                     |           |
                                                     v           v
                                                   FAILED --> BLOCKED
                                                     |
                                                     v
                                                   CLAIMED (retry)

Prerequisites

  • Docker or OrbStack installed and running
  • At least one agent CLI available (Claude, Codex, or Kimi)
  • CLI subscriptions configured (not API keys)

Check:

command -v docker &>/dev/null || command -v orbctl &>/dev/null

Configuration

All config lives in ~/.polyphony/:

FilePurpose
config.yamlWorkspace root, poll interval, max concurrency
identities.yamlNamed credential bundles with volume paths
agents.yamlAgent profiles (CLI commands, strengths)
routing.yamlRouting rules and fallback chains

Initialize with: polyphony init


Routing Rules

Rules are evaluated top-down; first match wins. Each rule has a match predicate and an agent target.

rules:
  - match: { task_type: docs, risk: low }
    agent: kimi
  - match: { task_type: bugfix }
    agent: codex
  - match: { risk: high }
    agent: claude
default:
  agent: claude
  fallback: [codex, kimi]

Complexity Scoring (5 Dimensions)

Each dimension scores 0-2. Total 0-10.

DimensionSource
Cyclomatic depthLOC + scope size
Fan-outNumber of callers
Security boundaryAuth/PII keywords
ConcurrencyLock/transaction keywords
Domain invariantsRisk level + task type

Routing thresholds:

  • 0-3: Delegate to Kimi solo
  • 4-6: Kimi + Codex review
  • 7-10: Claude direct

Container Isolation

Each task gets:

  • Its own Docker container from polyphony-worker:latest
  • A full git clone at /workspace (not a worktree)
  • Auth volumes mounted read-only (e.g., ~/.claude:/home/worker/.claude:ro)
  • Independent test execution
  • Its own branch for PRs

CLI Commands

polyphony init                    # Create ~/.polyphony/ with config templates
polyphony spawn "Fix auth bug"    # Create and route a task
polyphony status                  # Show task states
polyphony cleanup                 # Remove completed workspaces

Integration with Existing Skills

  • cross-agent-delegation: Uses Polyphony's complexity scoring for routing decisions
  • agent-teams: Uses Polyphony's workspace isolation instead of shared directories
  • spawn-team: Uses Polyphony's container provisioning for feature agents
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

skills/polyphony

默认分支

main

最新提交

72a456e

Tree SHA

d319307