summaryrefslogtreecommitdiff
path: root/AGENTS.md
diff options
context:
space:
mode:
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 8bb175a..8f80242 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -36,7 +36,14 @@ No piece of code is considered "done" until it has passed the full verification
If any of these tools report an error or warning, the code must be corrected before the task is marked as complete.
-### 2. Testing Strategy
+### 2. Testing & Stubbing Conventions
+To maintain a high-velocity development cycle without sacrificing correctness, we follow these rules for incomplete code:
+
+- **Code Stubs**: Any unimplemented logic path must be explicitly marked with a `// TODO` comment and return a descriptive error (e.g., `fmt.Errorf("feature X not yet implemented")`).
+- **Test Stubs**: Any test that is planned but not yet implementable must use `t.Skip("not implemented")` and include a comment describing the specific scenario the test is intended to verify.
+- **Hermetic Configuration**: Tests involving profiles, settings, or filesystem state must not touch the actual user home directory. Use the `ConfigDir` injection pattern in the `App` struct combined with `t.TempDir()` to create isolated, temporary test environments.
+
+### 3. Testing Strategy
We employ a three-tier testing approach to balance speed and reliability:
| Tier | Location | Type | Scope | Requirement |