docs(roadmap): rewrite ROADMAP for v0.4.0 Done + v0.5.0 active - #71
Merged
Conversation
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>
|
🤖 Doc-only change — auto-merge enabled. Will merge once required checks pass. |
This was referenced Jul 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.mdso v0.4.0 shows Shipped and v0.5.0 is theactive 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_enumas 🟡 with a notesaying "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
(Target: TBD)→(Shipped 2026-07-15).references (PR docs(v0.4.0): align README + ROADMAP + CHANGELOG with shipped v0.3.0 state #59 / feat(logging): histogram viewer for logged channels #62 / feat(data): u8_enum decoder + per-parameter enum-map pipeline #60 / docs(hardware): BMW ENET cable DIY pinout ($5 AliExpress version) #61).
(data shape shipped in PR feat(service-functions): multi-module data shape for CBS resets #67; routine IDs need real-car
validation, not forum-sourced invention).
RELEASE_NOTES_v0.4.0.md.v0.5.0 "Ground Truth" — Active cycle (new section)
The three-PR spine from
docs/v0.5.0_plan.mdlands as 🟢Ready items:
b58.toml/n55.toml)uses
LiveValue.textfrom PR feat(data): u8_enum decoder + per-parameter enum-map pipeline #60)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
sections — left untouched (those tables were already correct;
the u8_enum and disk-logging rows were the only stale entries).
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 viadirect invocation;
origin/main'spackage.jsonhas thesame 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 greenFiles
Related
docs/v0.5.0_plan.md(PR docs(v0.5.0): cycle plan ("Ground Truth") #70) — the v0.5.0cycle plan this ROADMAP rewrite references.
release/v0.4.0(PR release(v0.4.0): cut the v0.4.0 release #69) — the v0.4.0 releasecut. ROADMAP reflects that release's shipped state.
harness) — doc-only, lands right after this plan + ROADMAP
merge.
Author note
Commit authored with
ohgeeceee@users.noreply.github.comtobypass GH007 (private-email push block). Content unchanged.