Project Plan¶
Day-to-day tracking lives on the public GitHub Projects board at github.com/orgs/PacketFive/projects/7. The roadmap below is rendered from that board, one lane per epic, one card per task, coloured by status. Drag to pan, scroll to zoom, and click a card to open its issue.
How the graphic is produced¶
scripts/roadmap/export_project_plan.py reads the board through the gh CLI
and writes three files that the page and the download share:
| File | Purpose |
|---|---|
docs/assets/roadmap/cnuas-project-plan.svg |
The graphic embedded above |
docs/assets/roadmap/cnuas-project-plan.pdf |
The download, converted from the same SVG |
docs/assets/roadmap/cnuas-project-plan.json |
Timestamp, source and per-status counts |
Because the PDF is a conversion of the embedded SVG rather than a second drawing, the download and the graphic on screen cannot drift apart. The timestamp is the moment the data was last exported, not the moment the site was built, so it means what it says.
# Refresh from the board
python scripts/roadmap/export_project_plan.py --owner PacketFive
# Refresh from the checked-in CSV, no network
python scripts/roadmap/export_project_plan.py --offline
If the board cannot be reached, the exporter falls back to
scripts/roadmap/roadmap.csv, which is the checked-in source of truth that
seeds the board in the first place, and it records which of the two it used in
the JSON and in the caption on the graphic. A documentation build therefore
never requires network access, and a throttled API can never be mistaken for an
empty roadmap.
Status vocabulary¶
| Board column | Roadmap status | Meaning |
|---|---|---|
| Done | Available | Implemented and exercised |
| In Progress | In Progress | Being worked on now |
| Todo | Planned | Specified, not implemented |
| Todo | Blocked | Waiting on another task |
The Cnuas Roadmap carries the same tasks as prose, with the reasoning behind each epic and the milestones the tasks belong to.