docs: v0.8.0 cycle plan — "Service Bay" (gap analysis + 4 slices) - #113
Conversation
Planning document for the post-v0.7.0 cycle, drafted against main @ ba14141. Docs-only: the plan, plus the ROADMAP/README updates it implies. No code, no data changes. Gap analysis (evidence-level, ISTA+ vs BeeEmUu): - SHIPPED: live data, logging/replay/compare, VIN/vehicle info, freeze-frame decode, transports (K+DCAN, ENET/DoIP + discovery, sim, ISO-TP reassembly). - PARTIAL: DTC coverage (26 built-in texts; 12-address scan table; 6 simulator-grade service functions, none chassis-validated; thin freeze schemas; embryonic guided fault finding). - Broken today: community/dtc_texts.toml truncated mid-string (TOML parse fails, 0 overlay entries load) and CONTRIBUTING.md truncated mid-table — CI can't catch this because lint-toml.js checks whitespace, not parseability. - OUT-OF-SCOPE with reasons: flashing/programming, FSC/AOS, coding writes (this cycle), ISTA repair-doc corpus, immobiliser functions. Four slices: PR #1 data integrity + TOML parse gate (Tier A), PR #2 service-function breadth with [UNVERIFIED] write discipline (Tier B, protected paths flagged), PR #3 B48/S58/N57 profiles (Tier A), PR #4 ECU scan-table breadth + addressing-model doc (Tier A). Each with acceptance criteria and test expectations. ROADMAP.md: v0.7.0 marked merged (PRs #108-110), v0.8.0 active-plan block added, Ready-to-Claim pile pruned of shipped items (theme toggle, workspace, gauge theming, ISO-TP, OBD-II auto-discovery, N20/S55). README.md: "What's coming" refreshed for v0.7.0 merged + v0.8.0 plan link. Flagged for owner (Tier C, not touched): CLAUDE.md invariant notes are stale — keep-alive (#87), ISO-TP (#88), and protocol::read_vin all shipped but still read NOT-YET-IMPLEMENTED.
|
ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR. |
|
🤖 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: 75989230e6
ℹ️ 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".
| - `src-tauri/src/community.rs` — add a unit test that parses **every | ||
| shipped community TOML** (`dtc_texts.toml`, `freeze_schemas.toml`, | ||
| `profiles.toml`, `profiles/*.toml`) so a future truncation fails | ||
| `cargo test`, which CI already runs (`test.yml`). No production-code |
There was a problem hiding this comment.
Include all shipped TOML in the parse gate
If PR #1 follows this scoped list, the new “every shipped community TOML” gate will miss currently shipped TOML under community/opinions/*.toml and community/stories/*.toml, which are loaded separately by opinions::load (src-tauri/src/opinions.rs lines 93-124) and story::load (src-tauri/src/story.rs lines 131-164). A truncated opinion/story file would still be skipped at runtime without failing the planned CI gate, so please make the plan/test glob all community/**/*.toml or explicitly include those folders.
Useful? React with 👍 / 👎.
| module table. Each candidate address needs an in-repo citation. | ||
| - `src-tauri/src/data/ecus.rs` — sourced additions only (read-only | ||
| probing → not a write path → Tier A). Update the scan-table test. | ||
| - `src-tauri/src/transport/sim.rs` — simulator answers the new |
There was a problem hiding this comment.
Treat simulator transport edits as protected
In the PR #4 section, the slice is labeled Tier A, but it explicitly includes src-tauri/src/transport/sim.rs; CLAUDE.md classifies src-tauri/src/transport/** as Tier B protected paths. Following this plan would let a transport change be prepared/merged under the wrong review gate, so either make PR #4 Tier B when it touches the simulator transport or move the simulator update into a separately gated change.
Useful? React with 👍 / 👎.
| **Why first.** Two shipped files are broken today | ||
| (`community/dtc_texts.toml` truncated → parse error → zero overlay | ||
| entries; `CONTRIBUTING.md` truncated mid-table), and **CI cannot catch | ||
| this class of breakage** because `lint-toml.js` checks whitespace, not |
There was a problem hiding this comment.
Rescue every broken shipped TOML file
This scopes the data-integrity rescue to community/dtc_texts.toml, but a repo-wide tomllib parse also fails on currently shipped community/freeze_schemas.toml and community/profiles/{n52,n54,n62}.toml. If PR #1 only repairs the listed DTC file, the planned all-TOML acceptance gate and the affected profile/freeze loaders will still fail or skip data, so please include those files in the rescue scope.
Useful? React with 👍 / 👎.
Planning document for the post-v0.7.0 cycle, drafted against main @ ba14141. Docs-only: the plan, plus the ROADMAP/README updates it implies. No code, no data changes.
Gap analysis (evidence-level, ISTA+ vs BeeEmUu):
Four slices: PR #1 data integrity + TOML parse gate (Tier A), PR #2 service-function breadth with [UNVERIFIED] write discipline (Tier B, protected paths flagged), PR #3 B48/S58/N57 profiles (Tier A), PR #4 ECU scan-table breadth + addressing-model doc (Tier A). Each with acceptance criteria and test expectations.
ROADMAP.md: v0.7.0 marked merged (PRs #108-110), v0.8.0 active-plan block added, Ready-to-Claim pile pruned of shipped items (theme toggle, workspace, gauge theming, ISO-TP, OBD-II auto-discovery, N20/S55). README.md: "What's coming" refreshed for v0.7.0 merged + v0.8.0 plan link.
Flagged for owner (Tier C, not touched): CLAUDE.md invariant notes are stale — keep-alive (#87), ISO-TP (#88), and protocol::read_vin all shipped but still read NOT-YET-IMPLEMENTED.
What this adds
For data contributions (community/*.toml)
proprietary software
For code contributions
cargo fmtandcargo clippyare cleanFor release-cut PRs
Cargo.toml,package.json, andpackage-lock.jsongit tag -a vX.Y.Z)release.ymlcan build installers (git push origin vX.Y.Z)