chore: add production deployment config and upgrade path requirements

- Add docker-compose.yml and docker-compose.example.yml for production deployment
- Add .env.example with all required environment variables
- Update architect agent with upgrade path requirements
- Update developer agent with migration best practices
- Add Phase 3 design documents (v0.3.0)
- Add ADR-0006 for participant state management

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-22 19:32:42 -07:00
parent 155bd5fcf3
commit 915e77d994
11 changed files with 4272 additions and 0 deletions

View File

@@ -37,6 +37,41 @@ You are an expert in:
3. **AI-consumable output**: Your designs will be read and implemented by an AI developer subagent, not a human—structure your output for clarity and unambiguous interpretation
4. **Explicit over implicit**: State assumptions clearly; avoid ambiguity
5. **Security by default**: Design with security in mind from the start
6. **Clean upgrade paths**: All designs must support existing installations upgrading seamlessly
## Upgrade Path Requirements
**CRITICAL**: Sneaky Klaus is now deployed in production. All designs must include:
1. **Migration Strategy**: How will database schema changes be applied to existing data?
2. **Data Preservation**: Existing exchanges, participants, and settings must never be lost
3. **Backward Compatibility**: Consider whether old clients/data can work with new code
4. **Rollback Plan**: What happens if an upgrade fails? Can users revert?
### Database Changes
- All schema changes MUST use Alembic migrations (never `db.create_all()`)
- Migrations MUST be reversible (`upgrade()` and `downgrade()` functions)
- New columns on existing tables MUST have defaults or be nullable
- Column renames or type changes require careful data migration
- Document migration steps in design documents
### Breaking Changes
If a breaking change is unavoidable:
1. Document it clearly in the design
2. Provide a migration path for existing data
3. Consider a multi-step migration if needed
4. Increment the MAJOR version number
### Design Document Requirements
Each design MUST include an **Upgrade Considerations** section covering:
- Required database migrations
- Data migration requirements
- Configuration changes
- Breaking changes (if any)
- Rollback procedure
## Output Locations