Problem to Fix
CodeCannon has no automated test suite. The sync engine is the core of the project, but there are no tests verifying that template processing, placeholder substitution, and adapter output work correctly.
Why it Matters
Without tests, regressions can slip through unnoticed — a change to sync.py or a skill template could silently break output for one or more agents. A test suite also unlocks a code coverage badge, further improving project credibility.
General Approach
Use Python's built-in unittest module to create a test suite covering sync correctness (golden-file snapshot tests), placeholder substitution, conditional block processing, per-adapter output, idempotency, dry-run drift detection, and error handling for edge cases like missing config or invalid YAML. This keeps the project on stdlib only — no pip install needed.
Complexity
Verification / QA effort: significant
Requires creating test fixtures (sample configs, skill templates, expected outputs) and verifying correct behavior across multiple adapters and scenarios.
Acceptance Criteria
- A test suite exists using Python's
unittest (stdlib) with tests covering the sync engine
- Tests cover: sync correctness with snapshot comparisons, placeholder substitution, conditional blocks, adapter-specific output, idempotency, dry-run mode, and error cases
- Tests can be run with a single command (e.g.
make test)
- A CI workflow runs the tests on push/PR
- Add a coverage-shield badge (or appropriate alternative)
Problem to Fix
CodeCannon has no automated test suite. The sync engine is the core of the project, but there are no tests verifying that template processing, placeholder substitution, and adapter output work correctly.
Why it Matters
Without tests, regressions can slip through unnoticed — a change to sync.py or a skill template could silently break output for one or more agents. A test suite also unlocks a code coverage badge, further improving project credibility.
General Approach
Use Python's built-in
unittestmodule to create a test suite covering sync correctness (golden-file snapshot tests), placeholder substitution, conditional block processing, per-adapter output, idempotency, dry-run drift detection, and error handling for edge cases like missing config or invalid YAML. This keeps the project on stdlib only — no pip install needed.Complexity
Verification / QA effort: significant
Requires creating test fixtures (sample configs, skill templates, expected outputs) and verifying correct behavior across multiple adapters and scenarios.
Acceptance Criteria
unittest(stdlib) with tests covering the sync enginemake test)