polyphony-harness

Validate Conductor SDLC workflow paths by executing scripted harness scenarios.

Updated Apr 29, 2026
One-click install
npx skills add https://github.com/PolyphonyRequiem/polyphony --skill polyphony-harness
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: polyphony-harness
Source: https://github.com/PolyphonyRequiem/polyphony/tree/main/.github/skills/polyphony-harness
Command: npx skills add https://github.com/PolyphonyRequiem/polyphony --skill polyphony-harness

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It makes it practical to validate Conductor workflow path behavior end-to-end without relying on real LLM calls, real Azure DevOps state, or nondeterministic external systems—so regressions are caught early in CI.

Core Features & Use Cases

  • Workflow path coverage for scenarios: Runs scenarios defined under tests/harness/scenarios/<name>/scenario.yaml and asserts the workflow reaches the expected terminal node.
  • Deterministic LLM boundary via FakeProvider: Replays scripted agent outputs in the exact call order the workflow expects, including both structured JSON and regex-matched unstructured text.
  • Deterministic script interception via .NET shim: Matches script node calls (scripted commands like polyphony/twig/gh with argv prefix rules) and returns scenario-defined stdout/exit codes.
  • Gate-seam simplification for repeatability: Uses --skip-gates to auto-select the first human gate option, enabling stable scenario routing while gate API work is pending.

Quick Start

Ask the AI to “run and debug scenario close_out_happy_path in the polyphony workflow harness using the Python driver with verbose output so I can see why the workflow did not reach workflow_completed.”

Frequently Asked Questions about polyphony-harness

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test Conductor workflow routing without using real LLMs?▼

Workflow path testing without real LLMs uses a FakeProvider to replay scripted agent outputs in exact call order and a .NET shim to intercept script node calls, ensuring deterministic end-to-end path coverage in CI.

How does deterministic LLM boundary testing work for scenario harnesses?▼

Deterministic LLM boundary testing works by configuring a FakeProvider that replays scripted agent outputs in the exact call order the workflow expects. It handles both structured JSON and regex-matched unstructured text to validate routing paths.

Do I need a scenario.yaml file to run workflow testing scenarios?▼

Yes, you need a scenario.yaml file to define the workflow path, FakeProvider agent_outputs playback order, and optional cli_scripts interception rules. It must be placed under tests/harness/scenarios/<name>/ to run correctly.

What is the best way to automate human gate selections during CI workflow testing?▼

The best way to automate human gate selections during CI workflow testing is to run the harness with the --skip-gates flag. This auto-selects the first human gate option, enabling stable scenario routing while the gate API work is pending.

Why does my workflow testing scenario not reach the expected terminal node?▼

A workflow testing scenario might not reach the expected terminal node if the FakeProvider agent_outputs playback order is incorrect or the cli_scripts argv prefix matching fails. Running the Python driver with verbose output helps debug the routing failure.