Test Driven Agent Protocol
- The Red-Green-Refactor Cycle
-
Red: Write a test that fails (demonstrating the bug or missing feature).
-
Agent Note: If fixing a bug, YOU MUST reproduce it with a test first.
-
Green: Write the minimal code to pass the test.
-
Refactor: Clean up the code while ensuring tests still pass.
- Test Coverage Requirements
-
Happy Path: The "standard" usage case.
-
Sad Path: Error states, network failures, invalid inputs.
-
Edge Cases: Empty lists, max values, concurrent actions.
- Self-Healing Mandate
If a test fails after your changes:
-
DO NOT delete the test.
-
DO NOT comment out the assertion.
-
DO NOT change the test expectation to match the buggy result (unless the spec changed).
-
DO: Fix the implementation logic until the test passes.
- Integration vs Unit
-
Unit: Mock external dependencies (Supabase, API). Fast, isolated.
-
Integration: Test the hook or service with realistic (mocked) data flows.
- Verification Checklist
-
Did I write a test case for this requirement?
-
Did I run npm test <filename> ?
-
Did I check specifically for regression in related headers/components?