Skip to content

docs: v0.8.0 cycle plan — "Service Bay" (ISTA+ gap analysis + 4 slices) - #112

Merged
github-actions[bot] merged 1 commit into
mainfrom
docs/v0.8.0-plan
Jul 18, 2026
Merged

docs: v0.8.0 cycle plan — "Service Bay" (ISTA+ gap analysis + 4 slices)#112
github-actions[bot] merged 1 commit into
mainfrom
docs/v0.8.0-plan

Conversation

@ohgeeceee

Copy link
Copy Markdown
Owner

Summary

v0.8.0 cycle plan — "Service Bay" (docs only)

Notable findings encoded in the plan: community/dtc_texts.toml is truncated mid-string (TOML parse fails — zero overlay DTC texts load today, and CI can't catch it because the lint checks whitespace, not validity). CONTRIBUTING.md is also truncated mid-table. CLAUDE.md's "not yet implemented" notes are stale (keep-alive, ISO-TP, read_vin all shipped) — flagged for owner; CLAUDE.md edits are Tier C and intentionally not in this PR.

Test plan

  • node scripts/lint-toml.js clean (21 files)
  • Docs-only diff: 3 files, +420/−17; no test-suite impact

Merge policy

Tier A under CLAUDE.md — documentation only; agent may self-merge when CI is green.

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-tools

ecc-tools Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR.

@github-actions
github-actions Bot merged commit 982a1f0 into main Jul 18, 2026
9 of 10 checks passed
@github-actions

Copy link
Copy Markdown

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

@ohgeeceee
ohgeeceee deleted the docs/v0.8.0-plan branch July 18, 2026 10:43

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread docs/v0.8.0_plan.md
Comment on lines +87 to +90
- `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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Include all broken TOMLs in the gate slice

This slice promises a cargo test that parses every shipped community TOML, but the only TOML repair scoped here is dtc_texts.toml. I checked community/**/*.toml with Python tomllib, and community/freeze_schemas.toml plus community/profiles/n52.toml, n54.toml, and n62.toml are already unparseable too; the runtime loaders skip malformed profile/schema files in src-tauri/src/community.rs (load_profiles / load_schemas), so these contribute nothing today. As written, a contributor following the plan will either make the new parse gate fail immediately or leave current shipped data silently ignored; add these repairs to PR #1 or narrow the acceptance criteria.

Useful? React with 👍 / 👎.

Comment thread docs/v0.8.0_plan.md
Comment on lines +119 to +121
- Audit first: `research/bmw_diag_dim04_uds_dids.md`,
`TECH_SPECS.md`, and the simulator's routine table are the only
admissible sources. The PR body lists each candidate routine ID and

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Don't accept simulator routines as sources

For PR #2, allowing the simulator's routine table as an admissible source undermines the preceding write-path rule: src-tauri/src/data/service_functions.rs explicitly says the current routine IDs only match the simulator and real IDs are chassis-specific, while the simulator accepts routineControl broadly. If a contributor follows this wording to add new service functions sourced only from the simulator, those unvalidated write IDs can be exposed to real cars behind only an [UNVERIFIED] label; restrict the simulator to test coverage/existing placeholders and require a non-simulator source for new routine IDs.

Useful? React with 👍 / 👎.

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