Development Guide

Setup

  1. Fork and clone the repository.
  2. Install in editable mode: pip install -e '.[test,dev]'
  3. 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.