2.1 Architecture and Flowcharts
2.1.1 Overall Development Process
flowchart TD
A[Phase 0: Project Initialization] --> B[Phase A: Parallel Development]
B --> B1[ui-dev: HTML/CSS Skeleton]
B --> B2[logic-dev: Calculation Engine Pure Functions]
B1 --> C[Phase B: Integration Build]
B2 --> C
C --> C1[ui-dev: UI Interaction + a11y Styles]
C --> C2[logic-dev: DOM Events + Keyboard + localStorage]
C1 --> D[Phase C: Testing]
C2 --> D
D --> D1[qa-engineer: Unit + Integration Tests]
D1 --> E[Phase D: Acceptance]
E --> E1[qa-engineer: E2E + Accessibility + Requirement Acceptance]
style A fill:#e1f5fe
style B fill:#c8e6c9
style C fill:#fff9c4
style D fill:#ffe0b2
style E fill:#f8bbd02.1.2 Teams Communication Architecture
flowchart LR
subgraph "tmux session: calc-dev"
TL[team-lead
Pane 0]
UD[ui-dev
Pane 1]
LD[logic-dev
Pane 2]
end
subgraph "tmux session: (auto-created)"
QA[qa-engineer
Auto Pane]
end
TL -->|"SendMessage
task assignment"| UD
TL -->|"SendMessage
task assignment"| LD
UD -->|"SendMessage
completion notify"| TL
LD -->|"SendMessage
completion notify"| TL
QA -->|"SendMessage
test results"| TL
TASKS["~/.claude/tasks/calc-dev/
Shared Task List"]
INBOX["~/.claude/teams/calc-dev/
inboxes/*.json"]
UD -.->|TaskUpdate| TASKS
LD -.->|TaskUpdate| TASKS
QA -.->|TaskUpdate| TASKS
QA -.->|write message| INBOX
TL -.->|read inbox| INBOX2.1.3 Agent Execution Lifecycle
stateDiagram-v2
[*] --> Spawned: Agent() spawn
Spawned --> ReadingContext: Read CLAUDE.md + requirement.md
ReadingContext --> ClaimingTask: TaskGet + TaskUpdate(in_progress)
ClaimingTask --> Working: Write Code / Write Tests
Working --> Testing: Run Tests
Testing --> Working: Test Failed β Fix
Testing --> CompletingTask: Test Passed
CompletingTask --> NotifyingLead: TaskUpdate(completed)
NotifyingLead --> CheckingNext: SendMessage(team-lead)
CheckingNext --> ClaimingTask: More tasks available
CheckingNext --> Idle: No more tasks
Idle --> [*]: shutdown
note right of NotifyingLead: Message written to inbox file
but UI notification is not guaranteed to be real-time