iw-ai-core-testinglisted
Install: claude install-skill innovation-ways/iw-ai-core
# IW AI Core — Testing Standards
**This skill is mandatory reading for any agent or session that writes, reviews, or designs tests for IW AI Core.** It supplements the generic `tests-impl` / `backend-impl` / `tests-review` agents with project-specific rules.
- Full strategy: [`docs/IW_AI_Core_Testing_Strategy.md`](../../docs/IW_AI_Core_Testing_Strategy.md)
- Test-suite conventions & gotchas: [`tests/CLAUDE.md`](../../tests/CLAUDE.md)
- Enhancement roadmap: [`ai-dev/work/TESTS_ENHANCEMENT.md`](../../ai-dev/work/TESTS_ENHANCEMENT.md)
- Research basis: [`docs/research/R-00068-ai-core-test-quality-strategy.md`](../../docs/research/R-00068-ai-core-test-quality-strategy.md)
---
## 0. The one rule that matters
**Nearly all of IW AI Core's production *and* test code is written by LLM agents.** AI-generated tests frequently *pass while catching nothing*. Before writing each assertion, ask:
> **"If I change the production code to return a different value, flip this comparison, or delete this line — will this test fail?"**
If the answer is *no*, the assertion is worthless. Strengthen it or delete the test. Every assertion must be one a future mutation-testing run would expect to kill a mutant with.
---
## 1. Assertion strength (NON-NEGOTIABLE)
### Anti-patterns to NEVER write
```python
# BAD — tautological; survives every mutation
assert result is not None
assert isinstance(result, dict)
assert len(result) > 0
assert "status" in result
assert result # truthiness
```
```pyth