Real-time live speech processing service: raw audio → windowing → transcription → mind map graph construction
- Always write tests first - One test per core behavior
- Implement to fail - Then make tests pass with simplest code
- Incremental iterations - Stop when tests pass
- Think about concrete data flows: Input → Processing → Output
- Scoped, targeted implementations - Clean, purposeful data movement
- Focus on core logic - No unnecessary complexity
- Solve exactly what's asked - Nothing more, nothing less
- No premature optimization - Logging, error handling, extras come later
- Edit don't create - Prefer modifying existing files
- Periodic commits: Make git commits for your incremental code changes.
- Meaningful messages: Semantically meaningful commit messages that build a complete, accurate history of the app's state.
- Leverage git history: Periodically check the commit history to keep changes incremental and well-scoped.
- Define the ask - Write exact requested behavior in one sentence
- Map territory - Use
Grep,Globto find relevant code - Identify patterns - How does this codebase solve similar problems?
- Define boundaries - What's the MINIMAL change needed?
TodosWrite with an ideal structure for Phase 3: IMPLEMENT.
Data Flow Checklist:
- What data flows in?
- What data flows out?
- What's the simplest transformation between them?
- What existing pattern am I following?
Phase 3: IMPLEMENT stage below for your work.
- Write tests - Test exact behavior requested
- Simple implementations - Direct, minimal functionality to pass tests, nothing more
- Verify with
uv run python -m pytest tests/...- Run tests - Iterate solutions - Scoped, isolated refactors until tests pass
- Commit changes -
git add . && git commit -m "meaningful message" - Stop when main task done - Resist urges to improve and over-engineer
- Write minimal test for exact behavior in the
tests/folder. - Implement simplest passing code
- Run tests with
uv run python -m pytest tests/ ...as pipe the output intotests/output/* - Stop immediately when tests pass
- One behavior per task - "and also..." means you've gone too far
- Follow don't lead - Use existing patterns, don't invent new ones
- No helpful additions - Don't add unrequested features
- Edit existing files - Avoid creating new files
- Creating multiple new files
- Adding unrequested features
- Implementing complex abstractions
- Deviating from existing patterns
- Can't explain the data transformation simply
uv run python -m pytest tests/...
- Glob - Map codebase structure
- Read - Understand specific implementations
- Grep - Find patterns and conventions
- Edit - Minimal changes to existing files
- Write - Only when no existing file fits
- MultiEdit - Related changes to same file
- Bash - Run tests and checks
- Read - Verify changes look correct
- ✅ Specific requested behavior works
- ✅ Tests pass
- ✅ No over-engineering or scope creep
- ✅ Data flows cleanly through the system