summaryrefslogtreecommitdiffhomepage
path: root/tasks.md
blob: 14c6e808a178196f541dd692d52167d666f3b3a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# tasks.md — live progress checklist

> Updated by the orchestrator after each milestone. One line per completed wave.

---

## WAVE 0 — Orchestrator + build system agent

- [ ] Orchestrator: write `src/types.h` (shared types, constants)
- [ ] Orchestrator: pre-author `src/player.h` (audio playback contract)
- [ ] Orchestrator: pre-author `src/study.h` (study mode contract)
- [ ] Orchestrator: pre-author `src/ui.h` (rendering + input contract)
- [ ] Orchestrator: write TASK prompts in `prompts/`
- [ ] Build agent: update `Makefile` (Linux native + Windows cross-compile targets)
- [ ] Build agent: update `.gitignore` (add `prompts/`, `reports/`)

## WAVE 1 — All `.c` implementations (parallel)

- [ ] Agent A: implement `src/player.c` from `player.h` contract
- [ ] Agent B: implement `src/study.c` from `study.h` contract
- [ ] Agent C: implement `src/ui.c` from `ui.h` contract
- [ ] Agent D: implement `src/main.c` (composition root)

## WAVE 2 — Integration fixes (if needed)

- [ ] Fix any link errors or behavioral regressions

## Post-milestone

- [ ] `make clean && make -j$(nproc)` exits 0, zero warnings (Linux)
- [ ] `make windows -j$(nproc)` exits 0, zero warnings (Windows cross-compile)
- [ ] Functional test: play an MP3, test all keyboard shortcuts, study mode, UI
- [ ] Commit: `refactor: split src/main.c into modular .h/.c files`

---

## Open items (future)

- [ ] `bin/build` and `bin/build-web` scripts can be retired or simplified
- [ ] Test coverage (unit tests for study module?)
- [ ] Volume control
- [ ] Playlist support
- [ ] Config file / persistence