This document tracks all errors encountered during development, their root causes, and solutions applied.
Last Updated: 2026-01-05 Total Errors Resolved: 5 Active Errors: 0
When encountering an error, copy this template and fill in the details:
### ERR-XXX: [Brief Error Title]
**Date:** YYYY-MM-DD
**Status:** Active | Resolved
**Severity:** Critical | High | Medium | Low
**Phase:** Phase X.X - [Task Name]
#### Error Message
\`\`\`
[Paste exact error message here]
\`\`\`
#### Context
- **File(s) Affected:** [file paths]
- **Command/Action:** [what triggered the error]
- **Environment:** [local/staging/production]
#### Root Cause Analysis
[Explain why this error occurred]
#### Solution Applied
[Step-by-step solution that fixed the error]
#### Prevention
[How to prevent this error in the future]
#### Related Errors
- [Link to related errors if any]
---Errors related to development environment setup, dependencies, and configuration.
Date: 2026-01-04 Status: Resolved Severity: Medium Phase: Phase 1.1 - Development Environment Setup
Installing Poetry (2.2.1): Creating environment
Traceback (most recent call last):
File "<stdin>", line 959, in <module>
...
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/venv/__init__.py", line 31, in should_use_symlinks
raise Exception("This build of python cannot create venvs without using symlinks")
Exception: This build of python cannot create venvs without using symlinks
- File(s) Affected: Poetry installation
- Command/Action:
curl -sSL https://install.python-poetry.org | python3 - - Environment: Local macOS
The system Python 3.9 that comes with macOS Command Line Tools has a limitation that prevents it from creating virtual environments without using symlinks. The Poetry installer was trying to use this system Python.
- Installed Python 3.11 via Homebrew:
brew install python@3.11 - Used Python 3.11 specifically for Poetry installation:
curl -sSL https://install.python-poetry.org | python3.11 - - Added Poetry to PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc source ~/.zshrc
- Always use Homebrew-installed Python (3.11+) for development
- Avoid using macOS system Python for anything beyond basic scripting
- Document the specific Python version requirement in setup instructions
Errors during compilation, bundling, or build processes.
Date: 2026-01-04 Status: Resolved Severity: Low Phase: Phase 1.3 - Docker Development Environment
WARN[0000] /Users/.../codewarden/docker-compose.yml: the attribute `version` is obsolete
- File(s) Affected: docker-compose.yml
- Command/Action: docker compose up
- Environment: Local
Docker Compose V2 no longer requires the version attribute at the top of compose files. It's now considered obsolete.
Removed the version: '3.8' line from docker-compose.yml.
Use modern Docker Compose syntax without version specification.
Date: 2026-01-04 Status: Resolved Severity: Medium Phase: Phase 1.3 - Docker Development Environment
Readme path `/app/README.md` does not exist.
- File(s) Affected: packages/api/pyproject.toml
- Command/Action: docker compose build api
- Environment: Local Docker build
The API package's pyproject.toml referenced a README.md file that didn't exist, causing Poetry to fail during package installation in Docker.
Created /packages/api/README.md with basic package documentation.
Always create README.md when initializing Python packages that reference it in pyproject.toml.
Date: 2026-01-04 Status: Resolved Severity: Low Phase: Phase 1.3 - Docker Development Environment
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3000 -> 0.0.0.0:0: listen tcp 0.0.0.0:3000: bind: address already in use
- File(s) Affected: docker-compose.yml (dashboard service)
- Command/Action: docker compose up
- Environment: Local
Another process was already using port 3000 on the host machine.
Killed the process using port 3000:
lsof -ti:3000 | xargs kill -9Check for port conflicts before starting Docker services or use dynamic port allocation.
Errors that occur during application execution.
No errors logged yet.
Errors related to Supabase, migrations, or data operations.
No errors logged yet.
Errors in the FastAPI backend or endpoint handling.
Date: 2026-01-05 Status: Resolved Severity: Medium Phase: Phase 2.6 - API Server Core Endpoints
AssertionError: Status code 204 must not have a response body
- File(s) Affected: packages/api/src/api/routers/projects.py
- Command/Action: Starting API server
- Environment: Local Docker
The delete_project endpoint was defined with status_code=status.HTTP_204_NO_CONTENT but the function had a return type annotation that FastAPI interpreted as expecting a response body. HTTP 204 responses must not have a body.
Changed the return type annotation from -> None to -> Response:
async def delete_project(...) -> Response:- Always use
-> Responsereturn type for 204 endpoints - Alternatively, don't specify response_model for 204 endpoints
Errors in Python or JavaScript SDK development.
No errors logged yet.
Errors during deployment to Railway, Vercel, or other platforms.
No errors logged yet.
Errors with third-party service integrations (OpenObserve, LiteLLM, etc.).
No errors logged yet.
# Reset virtual environment
rm -rf .venv
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"# Clear cache and reinstall
rm -rf node_modules
pnpm store prune
pnpm install# Full reset
docker-compose down -v
docker system prune -af
docker-compose up --build# Check environment variables
echo $SUPABASE_URL
echo $SUPABASE_ANON_KEY
# Test connection
curl -X GET "$SUPABASE_URL/rest/v1/" \
-H "apikey: $SUPABASE_ANON_KEY"# Test Redis connection
redis-cli ping
# Check Upstash credentials
curl -X POST "$UPSTASH_REDIS_REST_URL" \
-H "Authorization: Bearer $UPSTASH_REDIS_REST_TOKEN" \
-d '["PING"]'| Category | Total | Resolved | Active |
|---|---|---|---|
| ENV | 1 | 1 | 0 |
| BUILD | 3 | 3 | 0 |
| RUNTIME | 0 | 0 | 0 |
| DB | 0 | 0 | 0 |
| API | 1 | 1 | 0 |
| SDK | 0 | 0 | 0 |
| DEPLOY | 0 | 0 | 0 |
| INT | 0 | 0 | 0 |
| Total | 5 | 5 | 0 |
- Always log errors immediately when encountered
- Include full stack traces when available
- Document the solution even if it seems obvious
- Update the audit.md file when errors impact task progress