diff options
Diffstat (limited to 'AGENTS.md')
| -rw-r--r-- | AGENTS.md | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -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 | |
