Work Packages
A work package (WP) is a self-contained brief that one agent session can execute and deliver as a pull request. Briefs follow TEMPLATE.md. How to hand one off, review it and mark it done is described in plan/06-agent-workflow.md.
Identifiers are stable: CORE-, LAB- (Fidelity Lab, in bayan-core), DESK-, WEB-, SRV-, DOCS-, and X- (cross-repository). Numbers 001–099 were planned for Phase 0, 101–199 for Phase 1, and so on; a WP keeps its number if it moves.
Status values: Draft · Ready · In progress · In review · Done · Blocked. The reviewer session updates this table after each merge.
Phase 0 — Bedrock
| ID | Title | Repo | Size | Depends on | Wave | Status |
|---|---|---|---|---|---|---|
| X-001 | Repository baseline: governance files, PR template, DCO, REUSE check | all | M | — | 1 | Done |
| DOCS-001 | Knowledge-base site (mdBook) and docs CI | docs | S | — | 1 | Done |
| CORE-001 | Core workspace scaffold and verification gate | core | M | — | 1 | Done |
| DESK-001 | Desktop scaffold and CI | desktop | M | — | 1 | Done |
| WEB-001 | Web scaffold and CI | web | M | — | 1 | Done |
| SRV-001 | Server scaffold, container and CI | server | M | — | 1 | Done |
| X-002 | CI security baseline | all | S | scaffolds | 2 | Done |
| X-003 | Supply-chain enforcement and update runbook | all code repos | M | CORE-001, SRV-001, WEB-001, DESK-001 | 2 | Done |
| CORE-002 | bayan-units | core | S | CORE-001 | 2 | Done |
| CORE-004 | Spike: document model on Loro | core | L | CORE-001 | 2 | Done |
| CORE-005 | bayan-opc | core | M | CORE-001 | 2 | Done |
| CORE-006 | bayan-xml | core | M | CORE-001 | 2 | Done |
| CORE-007 | Engine skeleton: protocol v0, C ABI, WebAssembly | core | L | CORE-001 | 2 | Done |
| LAB-001 | Corpus infrastructure and public corpus v1 | core | M | CORE-001 | 2 | Done |
| LAB-003 | Layout JSON schema and PDF glyph extraction | core | M | CORE-001 | 2 | Ready |
| SRV-002 | Spike: MLS for CRDT updates | server | L | SRV-001 | 2 | Done |
| CORE-009 | Lint exceptions that nobody wrote: check what the compiler silenced | core | M | CORE-001 | 2 | Ready |
| CORE-003 | Spike: deterministic text pipeline | core | L | CORE-002 | 3 | Done |
| LAB-002 | Word ground-truth harness | core | M | LAB-001; reference machine | 3 | Ready (needs owner hardware) |
| LAB-004 | Comparison metrics and fidelity report | core | M | LAB-003 | 3 | Ready |
| DESK-002 | Spike: Qt Quick canvas, input, accessibility | desktop | L | DESK-001, CORE-007 | 3 | Done |
| WEB-002 | Spike: worker canvas, input bridge, accessibility mirror | web | L | WEB-001, CORE-007 | 3 | Done |
| CORE-010 | Fuzz targets for the engine boundary and CRDT updates | core | M | CORE-004, CORE-005, CORE-006, CORE-007; the follow-up that keeps fuzzing failures private | 3 | Ready |
| CORE-011 | Retire the interim parsers: bayan-opc’s metadata on bayan-xml, the lab’s scanner on bayan-opc and bayan-xml | core | M | CORE-005, CORE-006, LAB-001 | 3 | Ready |
| CORE-012 | The outside world, part 2: the rest of std, the build environment, exemptions per item | core | M | CORE-009 | 3 | Ready |
| X-004 | CodeQL without write access: analysis and upload in separate jobs | all | S | X-002 | 3 | Ready |
| CORE-008 | Font audit and bundled-library proposal | core + docs | M | CORE-003, LAB-002 | 4 | Ready |
| LAB-005 | Probe generator and first Word study | core + docs | L | LAB-002, LAB-003, CORE-003 | 4 | Ready |
| SRV-003 | Threat model v1 | docs | M | SRV-002, CORE-007 | 4 | Done |
| DOCS-002 | Contributor onboarding guides | docs | S | Wave-1 scaffolds | 4 | Ready |
| DESK-003 | The desktop’s tests and sanitizers against the real engine boundary | desktop | M | DESK-002, CORE-007 | 4 | Ready |
| WEB-003 | Automated accessibility rules (axe) in the end-to-end tests | web | S | WEB-002 | 4 | Ready |
Phase 1 — Faithful Viewer (drafts)
Draft briefs, grouped by stream, to be split into individual Ready briefs at the Phase-0 gate:
| File | Work packages |
|---|---|
| phase-1/core.md | CORE-101 … CORE-130 |
| phase-1/lab.md | LAB-101 … LAB-109 |
| phase-1/desktop.md | DESK-101 … DESK-104 |
| phase-1/web.md | WEB-101 … WEB-103 |
| phase-1/server.md | SRV-101 … SRV-105 |
| phase-1/docs.md | DOCS-101 … DOCS-103 |
| phase-1/cross-cutting.md | X-101, X-102 |
Later phases
Epics for Phases 2–6 are listed in plan/05-work-breakdown.md and are broken into work packages at each gate review.