Making Changes to Theater
This document outlines the process for making changes to the Theater project. We use a structured approach to document our changes, making it easier for team members to understand what's happening and why.
Change Process
- 
Create a Proposal
- All significant changes start with a proposal
 - Create a new markdown file in 
/changes/proposals/ - Use the format: 
YYYY-MM-DD-brief-description.md - Follow the proposal template structure (see below)
 
 - 
Update In-Progress List
- Add your proposal to 
/changes/in-progress.md - Include the proposal file name and a brief description
 
 - Add your proposal to 
 - 
Work on the Change
- Document your progress in the "Working Notes" section
 - Update as you encounter challenges or make decisions
 - Keep notes about what worked and what didn't
 
 - 
Complete the Change
- Fill out the "Final Notes" section
 - Document the final implementation details
 - Note any future considerations or follow-up work
 - Update 
in-progress.mdto mark as complete 
 
Proposal Template
# [Brief Description of Change]
## Description
- What is being changed
- Why this change is necessary
- Expected benefits and potential risks
- Any alternatives considered
## Working Notes
- Ongoing notes about the implementation
- Challenges encountered
- Decisions made and their reasoning
- References to relevant commits or discussions
## Final Notes
- Final implementation details
- What was actually changed
- Any deviations from the original plan
- Lessons learned
- Future considerations
Example
See /changes/proposals/2025-01-29-random-id-system.md for an example of a completed change proposal.
Tips for Good Change Documentation
- Be explicit about your reasoning
 - Document both successful and unsuccessful approaches
 - Include relevant code examples or diagrams
 - Reference related issues or discussions
 - Update regularly during the change process
 
Benefits
- Makes project evolution more transparent
 - Helps new team members understand the codebase
 - Creates a knowledge base for future reference
 - Facilitates code review and discussion
 - Provides context for future changes