Development Guide
Setup
- Fork and clone the repository.
- Install in editable mode:
pip install -e '.[test,dev]' - Run the test suite:
pytest tests/ -q
Gates
The harness enforces several code-level gates:
goatcs-harness verify <graph.json>— validates graph topology against the schema: node types, edge types, gate conditions, wave assignments.goatcs-harness wiring-check <skill-dir>/ --contract wiring-contract.yaml— verifies that every node declared in the graph has a corresponding module file and that the wiring matches the contract.- pytest — unit and integration tests.
Test tiers
| Tier | What it checks | Speed |
|---|---|---|
| Unit | Individual modules, gate evaluation, graph parsing | Fast (seconds) |
| Integration | Full graph execution with mock providers | Medium (minutes) |
| Smoke | End-to-end skill run with stub inputs | Slow (minutes) |
| Regression | Mutation testing, known-answer tests | Slow |
Branch model
The harness skill uses a feature-branch workflow. The working tree IS the deployed skill; commits are the terminal step. No push to a remote is needed for deployment.