ROS 2 / K8S LAB
Phase 3 · days 31–60

Package and document, with evidence for every claim

By this phase the lab should have a proven cross-worker path to describe. Now the job is to explain it truthfully: a clear README, benchmarks anyone can rerun, tutorials that stay correct as versions change, and a first release that comes only after validation.

Proposal · planning targets, not promisesIssues #17, #18, #19, #20Source: docs/ROADMAP-2026.md

Where this phase starts

The roadmap's audit (10 to 11 October 2026) found gaps that this phase exists to close. These are starting points, not results.

Gap

No proof-of-function demo yet

The root README has no central demo animation and no validated modern install profile. Its main example starts a CPU stress test (stress-ng), not a ROS 2 talker and listener.

Gap

No tagged release

At the audit the repository had no GitHub release. The plan holds the first one back until a clean install has been validated.

Historical

Old measurements exist

The DataAnalysis/ folder holds sample monitoring files from a single recording on 2024-04-20 on the historical Vagrant lab cluster. They stay labelled historical and are never quoted as modern results.

Every claim carries its evidence

This phase follows one rule: a statement the lab publishes must point to something that backs it. Step through the four artifacts and watch each claim get its evidence. The last row shows a claim with nothing behind it, which stays out.

No evidence, no shipping

Illustration · the rule, not progress
Claims linked to the evidence that backs them Two columns. On the left are claims: a README command, a benchmark figure, a tutorial page and a release tag. On the right is the evidence each needs: a test that ran, raw data with method, a checked link, and a clean install. One step at a time a line joins each claim to its evidence and the claim changes from cannot ship to can ship. A fifth claim, runs everywhere, has nothing attached and stays marked cannot ship. ClaimEvidence README commandIssue #17cannot shipcan ship A test that ranexit code and logmissingattached Benchmark figureIssue #18cannot shipcan ship Raw data, methodrepeats and limitsmissingattached Tutorial pageIssue #19cannot shipcan ship A checked linklinks and versionsmissingattached Release tagIssue #20cannot shipcan ship Clean installvalidated firstmissingattached Runs everywhereExample onlycannot ship Nothing to showthis claim stays outmissing
Step 1 of 4

The amber row at the bottom is an invented example of a claim with no evidence. The picture shows the rule the plan will follow. It does not report that any of this evidence exists yet.

The four issues and what finishes each

The completion gates below come straight from the roadmap. They describe what must be true before an issue counts as done. None is met yet.

Phase 3 issues, required outcomes and completion gates
IssueRequired outcomeCompletion gateStatus
#17 ↗Visual README and accurate quickstartEvery featured command and diagram matches checked-in, tested code.Planned
#18 ↗Reproducible DDS, autoscaling and monitoring benchmarksA runnable protocol, raw data, regenerated plots and stated limitations.Planned
#19 ↗Searchable, versioned tutorials and troubleshootingA built and published docs site, verified links and an honest support matrix.Planned
#20 ↗First verified release and a contributor-friendly workflowA versioned release with integration proof, and contribution guides.Planned

Three rules this phase keeps

Historical stays historical

New benchmarks come from controlled new runs. Old sample files are kept and clearly labelled as old. They never appear as results for the modern profile.

Release only after validation

The first tagged release follows the validation of a clean install. If that takes longer, the release waits. The plan holds a milestone rather than skip a gate.

Legacy steps are separated

The old Foxy steps stay available but are marked as historical, and the phase adds a migration note for people still on them.

Read the full list of checks in the release gates.