Files
klubhaus-doorbell/libraries/FastLED/BACKGROUND_AGENT_TESTING_REQUIREMENTS.md
2026-02-12 00:45:31 -08:00

169 lines
4.8 KiB
Markdown

# 🚨🚨🚨 **CRITICAL REQUIREMENTS FOR BACKGROUND AGENTS** 🚨🚨🚨
# ⚠️ **STOP! READ THIS FIRST!** ⚠️
## **MANDATORY TESTING REQUIREMENT - NO EXCEPTIONS!**
### 🔥 **RULE #1: ALWAYS RUN `bash test` BEFORE COMPLETION** 🔥
**THIS IS THE MOST IMPORTANT RULE FOR BACKGROUND AGENTS:**
- **🚨 EVERY BACKGROUND AGENT MUST RUN `bash test` BEFORE SAYING THEY ARE DONE**
- **🚨 NO EXCEPTIONS - THIS IS MANDATORY AND NON-NEGOTIABLE**
- **🚨 IF YOU DON'T RUN `bash test`, YOUR WORK IS INCOMPLETE**
- **🚨 SAYING "DONE" WITHOUT RUNNING `bash test` IS BREAKING THE RULES**
### **WHY THIS IS CRITICAL:**
- The `bash test` command runs the full test suite including unit tests and compilation checks
- It catches breaking changes, compilation errors, and regressions
- It ensures the codebase remains stable and functional
- **WITHOUT THIS, YOU WILL BREAK THE PROJECT**
### **WHAT `bash test` DOES:**
- Runs all C++ unit tests
- Runs Python linting and formatting checks
- Validates code compilation across platforms
- Checks for syntax errors and warnings
- Ensures all examples still compile
### 🚨 **MANDATORY STEPS FOR COMPLETION - FOLLOW EXACTLY:** 🚨
1. **🔥 RUN `bash test` COMMAND**
- Execute: `bash test`
- Wait for ALL tests to complete
- Check that ALL tests PASS
2. **🔥 VERIFY TEST RESULTS**
- If ANY test fails, you MUST fix the issues
- Do NOT ignore warnings or errors
- Do NOT proceed until ALL tests pass
3. **🔥 USE MCP SERVER VALIDATION (RECOMMENDED)**
- Use the `validate_completion` tool from MCP server: `uv run mcp_server.py`
- This tool runs `bash test` and validates results
- Only indicate completion if this tool returns SUCCESS
4. **🔥 ZERO TOLERANCE FOR FAILURES**
- If ANY test fails, the background agent MUST fix the issues
- Do NOT indicate completion with failing tests
- Do NOT ignore test errors or warnings
- Fix the code and re-run `bash test` until ALL tests pass
### **COMPLETION CHECKLIST - MUST COMPLETE ALL ITEMS:**
- [ ] ✅ All code changes have been made
- [ ]**`bash test` has been run and ALL tests PASS**
- [ ] ✅ No compilation errors or warnings remain
- [ ] ✅ MCP server `validate_completion` tool shows SUCCESS (if used)
- [ ] ✅ All test output has been reviewed for any issues
- [ ]**ONLY THEN** indicate task completion
### 🔥 **CONSEQUENCES OF NOT FOLLOWING THIS RULE:** 🔥
- **YOUR CHANGES WILL BREAK THE PROJECT**
- **OTHER DEVELOPERS WILL HAVE TO FIX YOUR MISTAKES**
- **THE CONTINUOUS INTEGRATION SYSTEM WILL FAIL**
- **YOU WILL CAUSE REGRESSIONS AND BUGS**
### 🚨 **FINAL WARNING:** 🚨
**IF YOU ARE A BACKGROUND AGENT AND YOU INDICATE COMPLETION WITHOUT RUNNING `bash test`, YOU HAVE FAILED TO FOLLOW THE MOST BASIC REQUIREMENT OF THIS PROJECT.**
**NO EXCEPTIONS. NO SHORTCUTS. ALWAYS RUN `bash test` FIRST.**
---
## **Examples of CORRECT Background Agent Behavior:**
### ✅ **GOOD Example:**
```
1. Made code changes
2. Ran `bash test`
3. All tests passed
4. Indicated completion: "Task completed successfully. All tests pass."
```
### ❌ **BAD Example:**
```
1. Made code changes
2. Skipped running tests
3. Indicated completion: "Task completed successfully."
```
**^ THIS IS WRONG AND BREAKS THE PROJECT**
### ✅ **GOOD Example with Test Failures:**
```
1. Made code changes
2. Ran `bash test`
3. Some tests failed
4. Fixed the failing code
5. Ran `bash test` again
6. All tests passed
7. Indicated completion: "Task completed successfully. All tests pass."
```
### ❌ **BAD Example with Test Failures:**
```
1. Made code changes
2. Ran `bash test`
3. Some tests failed
4. Ignored failures and indicated completion anyway
```
**^ THIS IS WRONG AND BREAKS THE PROJECT**
---
## **HOW TO RUN `bash test`:**
### **Command:**
```bash
bash test
```
### **Expected Output (Success):**
```
Running C++ tests...
All C++ tests passed ✅
Running Python linting...
All Python checks passed ✅
Running compilation checks...
All compilation checks passed ✅
```
### **What to do if tests fail:**
1. **READ THE ERROR MESSAGES CAREFULLY**
2. **FIX THE CODE THAT'S CAUSING THE FAILURES**
3. **RUN `bash test` AGAIN**
4. **REPEAT UNTIL ALL TESTS PASS**
5. **ONLY THEN INDICATE COMPLETION**
---
## **MCP SERVER VALIDATION TOOL:**
### **How to use:**
```bash
# Start MCP server
uv run mcp_server.py
# Use the validate_completion tool
# This automatically runs `bash test` and validates results
```
### **Benefits:**
- Automatically runs `bash test`
- Provides clear pass/fail results
- Ensures you don't forget to run tests
- **RECOMMENDED FOR ALL BACKGROUND AGENTS**
---
## 🚨 **REMEMBER: THIS IS NOT OPTIONAL** 🚨
**EVERY BACKGROUND AGENT WORKING ON THIS PROJECT MUST:**
1. **RUN `bash test` BEFORE COMPLETION**
2. **ENSURE ALL TESTS PASS**
3. **FIX ANY FAILURES**
4. **ONLY THEN INDICATE COMPLETION**
**NO SHORTCUTS. NO EXCEPTIONS. ALWAYS TEST FIRST.**