Skip to content

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.

100% Updated see the PDF PDF
Loading the roadmap graphic.

Planned interconnect priority

The Interconnect Research: CXL before UALink lane sequences planned CXL specification/profile and QEMU/Linux reuse assessment, scoped guest enumeration and memory-interaction prototyping, and reproducible acceptance evidence ahead of UALink accelerator-peer attachment research. This is development priority, not a technical dependency or a delivery-date commitment. CXL host/device coherent-memory interconnect work and UALink are both outside the current implemented Cnuas surface and distinct from the existing CnuasLink fabric. See the roadmap scope and acceptance gates for the revision/profile decision and unsupported coherence/physical-fidelity boundaries.

Berkeley UCCL integration gates

Berkeley UCCL is tracked in the CnuasNIC lane using the existing P2P #25 and AllReduce #26 tasks on Project 7. Both remain Blocked in the roadmap and Todo on the board. Their initial issue records did not specify a failure or dependency; the expanded checklists now require a pinned upstream/provider compatibility assessment, a bounded RoCEv2 RC host-memory P2P smoke, then host-memory AllReduce correctness and reproducible evidence. Assessment stays within these tasks; there is no new epic or schedule.

See the UCCL scope and acceptance gates for the pinned assessment baseline, required verbs, GPU-oriented upstream harness constraints and unsupported surfaces. UCCL is not implemented CnuasCCL or CnuasLink: neither existing component proves UCCL support, GPU compatibility, or real-hardware performance from emulation.

How the graphic is produced

scripts/roadmap/export_project_plan.py reads the board through the gh CLI for statuses and issue links, and reads scripts/roadmap/roadmap.csv for task membership, epic lanes and reading order. It 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.