Pending: Where to document test conventions — vault/20_knowledge/tech/ or README?
User Tasks
FR-010: Testing Infrastructure
Summary
Set up pytest, test conventions, and test structure so every future feature can be properly tested.
Problem / Motivation
CLAUDE.md mandates “always test before presenting work as done” and coding-standards.md requires tests for every code change. But there’s no test framework, no test directory, no conventions. This makes the testing rules unenforceable.
Proposed Solution
Minimal pytest setup with clear conventions for writing and running tests.
Open Questions
No open questions.
Phase Overview
Phase
Description
Status
Phase 1
Pytest setup + conventions
—
Phase 2
CI integration
—
Phase 1: Pytest Setup —
Goal: Get pytest running with basic structure and conventions.
File / Feature
Details
Owner
Status
Install pytest
Add to dev dependencies in pyproject.toml
opus
—
tests/ directory
At project root, mirroring src/opus/ structure
opus
—
conftest.py
Shared fixtures (vault path, temp dirs, etc.)
opus
—
Test conventions
Document naming, structure, what to test
opus
—
First test
Smoke test proving the setup works
opus
—
pytest config
pyproject.toml [tool.pytest] section
opus
—
Phase 2: CI Integration —
Goal: Automated test execution on push/PR with coverage reporting.
File / Feature
Details
Owner
Status
GitHub Actions
Run tests on push/PR (pairs with FR-028 Phase 2)
opus
—
Coverage
pytest-cov for coverage reporting
opus
—
Acceptance Criteria:
pytest runs from project root and discovers tests
At least one passing test exists
Test conventions documented (in vault/20_knowledge/tech/ or README)
conftest.py with basic fixtures
Notes:
Depends on FR-009 (Python Project Scaffold) for pyproject.toml
Phase 2 pairs with FR-028 Phase 2 (GitHub Actions)
Keep conventions simple — they’ll evolve with the codebase
Prerequisites / Gap Analysis
Requirements
Requirement
Description
REQ-1
FR-009 (Python Project Scaffold) must be complete
Current State
Component
Status
Details
pytest
—
Not installed
tests/ directory
—
Does not exist
Test conventions
—
None documented
Gap (What’s missing?)
Gap
Effort
Blocker?
FR-009 scaffold
Med
Yes
Entire test infrastructure
Med
No (once FR-009 done)
Test
Manual tests
Test
Expected
Owner
Actual
Last
pytest from project root
Discovers and runs tests
opus
pending
-
Smoke test
Passes
opus
pending
-
AI-verified tests
Scenario
Expected behavior
Verification method
…
…
…
E2E tests
Scenario
Assertion
…
…
Integration tests
Component
Coverage
…
…
Unit tests
Component
Tests
Coverage
…
…
…
History
Date
Event
Details
2026-02-27
Created
2026-02-28
Reformatted
Aligned to feature-request template
References
FR-009 (Python Project Scaffold) — prerequisite
FR-028 (Feature Workflow Automation) — Phase 2 CI integration