3.2 KiB
3.2 KiB
Collaboration Framework
Status: ACTIVE
Mission: Accelerate yaze development through strategic division of labor between Architecture and Automation specialists.
See also: personas.md for detailed role definitions.
Team Structure
Architecture Team (System Specialists)
Focus: Core C++, Emulator logic, UI systems, Build architecture.
Active Personas:
backend-infra-engineer: CMake, packaging, CI plumbing.snes-emulator-expert: Emulator core, CPU/PPU logic, debugging.imgui-frontend-engineer: UI rendering, ImGui widgets.zelda3-hacking-expert: ROM data, gameplay logic.
Responsibilities:
- Diagnosing complex C++ compilation/linker errors.
- Designing system architecture and refactoring.
- Implementing core emulator features.
- Resolving symbol conflicts and ODR violations.
Automation Team (Tooling Specialists)
Focus: Scripts, CI Optimization, CLI tools, Test Harness.
Active Personas:
ai-infra-architect: Agent infrastructure, CLI/TUI, Network layer.test-infrastructure-expert: Test harness, flake triage, gMock.GEMINI_AUTOM: General scripting, log analysis, quick prototyping.
Responsibilities:
- Creating helper scripts (
scripts/). - Optimizing CI/CD pipelines (speed, caching).
- Building CLI tools (
z3ed). - Automating repetitive tasks (formatting, linting).
Collaboration Protocol
1. Work Division Guidelines
For Build Failures:
| Failure Type | Primary Owner | Support Role |
|---|---|---|
| Compiler errors (Logic) | Architecture | Automation (log analysis) |
| Linker errors (Symbols) | Architecture | Automation (tracking scripts) |
| CMake configuration | Architecture | Automation (preset validation) |
| CI Infrastructure | Automation | Architecture (requirements) |
For Code Quality:
| Issue Type | Primary Owner | Support Role |
|---|---|---|
| Formatting/Linting | Automation | Architecture (complex cases) |
| Logic/Security | Architecture | Automation (scanning tools) |
2. Handoff Process
When passing work between roles:
- Generate Context: Use
z3ed agent handoffto package your current state. - Log Intent: Post to coordination-board.md.
- Specify Deliverables: Clearly state what was done and what is next.
Example Handoff:
### 2025-11-20 snes-emulator-expert – handoff
- TASK: PPU Sprite Rendering (Phase 1)
- HANDOFF TO: test-infrastructure-expert
- DELIVERABLES:
- Implemented 8x8 sprite fetching in `ppu.cc`
- Added unit tests in `ppu_test.cc`
- REQUESTS:
- REQUEST → test-infrastructure-expert: Add regression tests for sprite priority flipping.
Anti-Patterns to Avoid
For Architecture Agents
- ❌ Ignoring Automation: Don't manually do what a script could do forever. Request tooling from the Automation team.
- ❌ Siloing: Don't keep architectural decisions in your head; document them.
For Automation Agents
- ❌ Over-Engineering: Don't build a complex tool for a one-off task.
- ❌ Masking Issues: Don't script around a root cause; request a proper fix from Architecture.