Skip to content

docs(roadmap): rewrite ROADMAP for v0.4.0 Done + v0.5.0 active - #71

Merged
github-actions[bot] merged 2 commits into
mainfrom
docs/v0.5.0-roadmap
Jul 15, 2026
Merged

docs(roadmap): rewrite ROADMAP for v0.4.0 Done + v0.5.0 active#71
github-actions[bot] merged 2 commits into
mainfrom
docs/v0.5.0-roadmap

Conversation

@ohgeeceee

Copy link
Copy Markdown
Owner

Summary

Companion PR to the v0.5.0 cycle plan (docs/v0.5.0_plan.md,
PR #70). Doc-only. Auto-merge eligible per CLAUDE.md rule 2.

Rewrites ROADMAP.md so v0.4.0 shows Shipped and v0.5.0 is the
active cycle. No code, no workflow, no protected paths touched.

What changes

v0.3.0 Decode Functions table — fix u8_enum status

The prior version's table had Add u8_enum as 🟡 with a note
saying "spec'd in § 8; needs real-car validation" — that was
the state at v0.3.0 cut. u8_enum actually shipped in v0.4.0
(PR #60 + frontend wiring PRs #64#66). The table now reflects
the shipped state: ✅ Done (v0.4.0) with a cross-reference.

v0.4.0 "Tuner Friendly" — Shipped

v0.5.0 "Ground Truth" — Active cycle (new section)

The three-PR spine from docs/v0.5.0_plan.md lands as 🟢
Ready items:

The 🟡 items carry forward from v0.4.0 — some (knock viz,
fuel-trim polish) overlap with the spine but in different forms;
some (OBDLink MX+, ENET/DoIP auto-detection, trigger-based
logging) are real v0.5.0+ candidates but out of cycle scope.

Deferred-to-v0.5.0+ → Deferred-to-v0.6.0+

The items the v0.5.0 cycle picks up now live in the v0.5.0 block.
The "Deferred to v0.5.0+" section renamed to "Deferred to
v0.6.0+" (cloud sync, Pi CAN bridge, plugin system, Bootmod3,
multi-language UI, web-based shared-log viewer). Each carries a
brief rationale (legal risk, governance work, hardware project,
etc.).

Last-updated footer

Bumped to reflect the v0.4.0 → v0.5.0 transition.

What does NOT change

  • Backlog section (Nice-to-Have items) — kept as-is.
  • v0.3.0 Real-Car Validation, Protocol & Transport, and UI / UX
    sections — left untouched (those tables were already correct;
    the u8_enum and disk-logging rows were the only stale entries).
  • v0.3.0 Research: E-series Data Desert — kept (still 🟡).

Verification

  • git diff origin/main...HEAD --stat → 1 file, 66 insertions,
    42 deletions (clean)
  • node --test src/js/histogram.test.js → 13/13 pass (run via
    direct invocation; origin/main's package.json has the
    same missing-comma bug noted in PR docs(v0.5.0): cycle plan ("Ground Truth") #70 — NOT fixed here)
  • node --test server/dtc/test/ingestor.test.js → all green
  • No code, workflows, or protected paths touched.

Files

ROADMAP.md   |  66 ++++++++++++-- (rewritten; v0.4.0 → Shipped,
                                 v0.5.0 → active cycle)

Related

Author note

Commit authored with ohgeeceee@users.noreply.github.com to
bypass GH007 (private-email push block). Content unchanged.

Closes the ROADMAP transition from v0.4.0 to v0.5.0. Doc-only.
Auto-merge eligible per CLAUDE.md rule 2.

What this PR ships:

- ROADMAP.md rewritten so the v0.4.0 block shows Shipped (with
  the four 🟢 Ready rows flipped to ✅ Done, with PR numbers)
  and a separate v0.5.0 block now anchors the active cycle.
- v0.5.0 'Ground Truth' — three 🟢 Ready items pulled forward
  from the v0.4.0 🟡 list as the new cycle's spine (real-car
  u8_enum validation, fuel-trim readout, knock visualisation).
  Full cycle plan in docs/v0.5.0_plan.md (PR #70).
- The v0.3.0 Decode Functions table picks up u8_enum as ✅ Done
  (it shipped in v0.4.0, PR #60; flagged in the prior version's
  Notes column but not the Status). Reflects the actual state.
- v0.4.0 🟡 'Real-time data logging to disk' row is now ✅ Done
  under UI/UX (matches v0.4.0 CHANGELOG entry).
- 'Deferred to v0.5.0+' renamed to 'Deferred to v0.6.0+' — the
  items the v0.5.0 cycle picks up now live in the v0.5.0
  block instead.
- Last-updated footer bumped.

Out of scope: nothing in this PR touches code, workflows, or
protected paths.

Verification:

- node --test src/js/histogram.test.js → 13/13 pass (run via
  direct invocation; origin/main's package.json has the same
  missing-comma bug noted in PR #70 — NOT fixed here, see
  PR #70 body for the full context)
- node --test server/dtc/test/ingestor.test.js → all green
- git diff --ignore-cr-at-eol HEAD -- ROADMAP.md → 66
  insertions, 42 deletions (clean)
github-actions Bot pushed a commit that referenced this pull request Jul 15, 2026
First PR of the v0.5.0 "Ground Truth" cycle. Doc-only.
Auto-merge eligible per CLAUDE.md rule 2.

What this ships:

- docs/validation/u8_enum-validation.md — the actual
  validation harness. Pre-flight checklist (cable,
  adapter, ignition, simulator NOT in use), per-DID
  test procedure for the three example enum DIDs
  shipped in v0.4.0 (gear / DA0A, engine_state /
  4004, knock_detect / 401F), results-submission
  instructions (PR the [verified YYYY-MM-DD] labels
  back into b58.toml / n55.toml), and a 'what if a byte
  doesn't match' section for the most-likely failure
  mode.

- docs/v0.5.0_first_pr.md — the cycle's written record
  of why this PR exists. Mirrors the v0.4.0_first_pr.md
  shape so future contributors can follow the same
  pattern.

Why this is the first PR of v0.5.0:

The v0.5.0 cycle plan (docs/v0.5.0_plan.md, PR #70)
lists three PRs in order:

  1. THIS PR — validation harness (doc-only, lands
     first because it unblocks the rest)
  2. Real-car fuel-trim readout (PR #2)
  3. Real-car knock visualisation polish (PR #3)

Real-car evidence was the only 🟡 blocker for the v0.4.0
'Tuner Friendly' cycle to retire. The example enum DIDs
shipped in PR #60 all carry [needs verification] markers
because the byte-to-state mappings came from OBDb (CC-BY-SA
4.0) and have not been validated on real hardware.

This harness is the smallest possible next step for an
F/G-series owner with an ENET adapter to retire that
blocker: a checklist they can fill in and PR back, with
no developer hand-holding required.

What this PR does NOT do:

- No code change. Doc-only.
- No new tests. Validation is manual (a person running
  the app against a real car).
- No change to the [needs verification] markers in
  b58.toml / n55.toml. Those stay until a results PR
  lands.

Verification:

- node --test server/dtc/test/ingestor.test.js → all
  green (no regression)
- node --test src/js/histogram.test.js → all green
- git diff origin/main...HEAD --stat → 2 files, 305
  insertions, 0 deletions (clean; both files new)
- This PR does not touch code, workflows, or protected
  paths. A reviewer with an F/G-series car + ENET
  adapter is the authoritative verifier.

Note on the broken package.json: origin/main's
package.json has a missing-comma bug (introduced by a
sibling agent in the PR #68/#69 area; noted in PR #70
and #71 bodies). It breaks 'npm run test:*' but does
NOT break 'node --test' directly. A separate doc-only
PR can fix it. Not fixed here per commit-discipline's
'discovering a broken sibling commit is not license to
fix it.'

Co-authored-by: ohgeeceee <ohgeeceee@users.noreply.github.com>
@github-actions
github-actions Bot merged commit 531c42e into main Jul 15, 2026
6 of 7 checks passed
@github-actions

Copy link
Copy Markdown

🤖 Doc-only change — auto-merge enabled. Will merge once required checks pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant