**DO TDD** There is a TDD skill, and we always want to test drive any code that we write. The only exception is strictly explorator code when you are trying to understand how something worse. Any code intended to be part of the system should follow TDD and having a failing test **FIRST**

**TESTS MUST ALWAYS PASS: You MUST always make sure the tests all pass when you complete your work. NEVER assume they were already failing. ALWAYS assume it is your job to get ALL tests passing. If you are unable, and you are ABSOLUTELY CONVINCED it is not the result of your work that a test fails, ask the user**

**TEST CONCISENESS: Keep tests clear and concise, just like the rest of the codebase. Avoid overly verbose test cases - a single well-written test that covers the essential functionality is better than multiple redundant tests. Focus on clarity and readability while ensuring comprehensive coverage.**

**IMPORTANT: When fixing bugs or issues, ALWAYS create a test that reproduces the bug first (to verify it exists), then fix the issue, then verify the test passes. This ensures the bug is properly fixed and won't regress in the future.**
