docs: v0.9.0 roadmap — 4/5 slices merged (Tier A) - #124
Conversation
|
🤖 Doc-only change — auto-merge enabled. Will merge once required checks pass. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 32b2081728
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| --- | ||
|
|
||
| ## v0.9.0 — "Guided Fault Finding" (Planned) | ||
| ## v0.9.0 — "Guided Fault Finding" (In progress) |
There was a problem hiding this comment.
Update the premise now that the walkthrough has shipped
Marking this cycle “In progress” while four slices are done leaves the immediately following present-tense premise inaccurate: it still says none of the knowledge bases can walk a technician through a branching plan, even though the table now records the walkthrough UI and loader as complete. Reword that description as the pre-cycle state so the canonical roadmap does not contradict its status table.
Useful? React with 👍 / 👎.
| --- | ||
|
|
||
| *Last updated: 2026-07-16. v0.8.0 "Service Bay" nearly complete — PRs #1 / #3 / #4 merged (#114 / #115 / #116); PR #2 service functions open as #117 pending human merge (Tier B). v0.9.0 "Guided Fault Finding" planned — see [`docs/v0.9.0_plan.md`](docs/v0.9.0_plan.md); slices dispatch as PRs directly per `COMMUNITY_FRAMEWORK.md` Rule 2.* | ||
| *Last updated: 2026-07-19. v0.9.0 "Guided Fault Finding" in progress — 4 of 5 slices merged (PR #1 #120 schema/gate, PR #2 #121 corpus, PR #3 #122 loader+`get_test_plan` command [Tier B, human-merged], PR #4 #123 walkthrough UI [Tier A]). Remaining: PR #5 validation harness + contribution path (Tier A docs, not yet dispatched). v0.8.0 "Service Bay" shipped (#114/#115/#116/#117). Plan: [`docs/v0.9.0_plan.md`](docs/v0.9.0_plan.md); slices dispatch as PRs per `COMMUNITY_FRAMEWORK.md` Rule 2.* |
There was a problem hiding this comment.
Reconcile the v0.8 status before declaring it shipped
This new footer says v0.8.0 shipped with #117, but the v0.8 heading and slice table above still say “Merged except PR #2 — pending human merge” and “PR #117 open,” while the Ready-to-Claim introduction still calls v0.8 the active cycle. Since #117 is present in this commit's ancestry, update those stale status references as part of this roadmap refresh to avoid giving contributors contradictory release state.
Useful? React with 👍 / 👎.
| | Test-plan schema + parse-gate extension | ✅ Done (PR #1, #120) | A | New `community/testplans/*.toml` `[[step]]` branching format; branch-integrity gate; oracle JSON gate (was ungated). | | ||
| | Author grounded first-corpus plans | ✅ Done (PR #2, #121) | A | 11 DTCs grounded in-repo (2A82, 29E0–29E2, 30FF, 29CC, 2E81/2E82, P0171, P0300, P0420); known-missing list shipped. | | ||
| | Plan loader + query command | ✅ Done (PR #3, #122) | B | Read-only `get_test_plan` command; protected paths (`commands.rs`/`lib.rs`) — human-merged. | | ||
| | Guided-diagnosis walkthrough UI | ✅ Done (PR #4, #123) | A | Step-by-step panel in fault detail; live-data measurement deep-links; freeze-frame seeding; pure traversal reducer unit-tested (12 tests). | |
There was a problem hiding this comment.
Do not claim freeze-frame seeding for live sessions
For a connected vehicle, this completion note overstates the walkthrough: read_faults returns DTCs without a freeze_frame field, and showFreezeFrame keeps the result of read_freeze_frame only in its local items, while renderWalkStep tries to seed context from lastDtcs. Consequently fault-time values appear during session replay but never seed the walkthrough during the live diagnostic flow; either wire those values into the walkthrough or qualify the status.
Useful? React with 👍 / 👎.
| | Test-plan schema + parse-gate extension | ✅ Done (PR #1, #120) | A | New `community/testplans/*.toml` `[[step]]` branching format; branch-integrity gate; oracle JSON gate (was ungated). | | ||
| | Author grounded first-corpus plans | ✅ Done (PR #2, #121) | A | 11 DTCs grounded in-repo (2A82, 29E0–29E2, 30FF, 29CC, 2E81/2E82, P0171, P0300, P0420); known-missing list shipped. | | ||
| | Plan loader + query command | ✅ Done (PR #3, #122) | B | Read-only `get_test_plan` command; protected paths (`commands.rs`/`lib.rs`) — human-merged. | | ||
| | Guided-diagnosis walkthrough UI | ✅ Done (PR #4, #123) | A | Step-by-step panel in fault detail; live-data measurement deep-links; freeze-frame seeding; pure traversal reducer unit-tested (12 tests). | |
There was a problem hiding this comment.
Do not mark DID measurement deep-links complete
For test-plan DID measurements such as 0x5AC3, the button described here only activates the Live Data tab and writes a log message; it neither preselects or polls the requested DID nor displays a last-polled value. The Live Data view continues polling the currently selected profile, and 0x5AC3 is not present in any shipped profile, so this path cannot perform the requested measurement despite the roadmap calling the deep-link slice done.
Useful? React with 👍 / 👎.
| | Plan loader + query command | 🟢 Ready | B | Read-only `get_test_plan`; protected paths (`commands.rs`) — human merge. | | ||
| | Guided-diagnosis walkthrough UI | 🟢 Ready | A | Step-by-step panel in fault detail; live-data measurement deep-links; freeze-frame seeding. | | ||
| | Validation harness + contribution path | 🟢 Ready | A | `docs/validation/testplans.md`; `[needs verification]` plan labels come off only via harness reports. | | ||
| | Test-plan schema + parse-gate extension | ✅ Done (PR #1, #120) | A | New `community/testplans/*.toml` `[[step]]` branching format; branch-integrity gate; oracle JSON gate (was ungated). | |
There was a problem hiding this comment.
Finish cycle detection before marking the schema gate done
A contributed plan with a reachable conclusion plus a cycle, such as s1 -> s2 -> s1 on one branch and s1 -> conclusion on another, still passes shipped_testplans_branch_integrity: its BFS inserts each target into visited only once, so visited.len() <= plan.step.len() is always true and never detects the back edge. This violates the documented acyclic branch-integrity rule, so the gate slice should not be marked complete until it actually rejects cycles.
Useful? React with 👍 / 👎.
| | Guided-diagnosis walkthrough UI | 🟢 Ready | A | Step-by-step panel in fault detail; live-data measurement deep-links; freeze-frame seeding. | | ||
| | Validation harness + contribution path | 🟢 Ready | A | `docs/validation/testplans.md`; `[needs verification]` plan labels come off only via harness reports. | | ||
| | Test-plan schema + parse-gate extension | ✅ Done (PR #1, #120) | A | New `community/testplans/*.toml` `[[step]]` branching format; branch-integrity gate; oracle JSON gate (was ungated). | | ||
| | Author grounded first-corpus plans | ✅ Done (PR #2, #121) | A | 11 DTCs grounded in-repo (2A82, 29E0–29E2, 30FF, 29CC, 2E81/2E82, P0171, P0300, P0420); known-missing list shipped. | |
There was a problem hiding this comment.
Verify rail-pressure thresholds before calling the corpus grounded
The 29E0–29E2 plans branch to pump or sensor conclusions using an expected 0x5AC3 range of 40–200, but the cited in-repo DID research explicitly labels 0x5AC3 low-confidence/unverified and provides no expected operating range; repo-wide search finds those thresholds only in the new plans and their tests. Calling all 11 plans grounded therefore hides an unsupported diagnostic threshold that can send users down the wrong repair branch.
Useful? React with 👍 / 👎.
Doc-only ROADMAP update reflecting the merged v0.9.0 code slices. Tier A per CLAUDE.md (documentation).
No code, no protected paths. CI on this PR is doc-lint only.