docs(v0.7.0): cycle plan ('Unblockers') - #83
Merged
Merged
Conversation
Seeds the v0.7.0 cycle per COMMUNITY_FRAMEWORK.md's 'no feature without a Discussion' rule. PR is a Discussion seed, not a commit to scope. v0.7.0 work should not land before a Discussion thread opens on the repo. Premise: v0.6.0 finished 'Real Hardware' (log-merge, injector-time validation harness, OBD-II PID auto-discovery). The accumulated 🟢 Ready-to-Claim pile (consolidated in PR #79) plus one piece of high-leverage protocol work (ENET/DoIP auto-detection) is the natural spine. Cycle name 'Unblockers' because the value isn't a new user-facing capability — it's removing the friction that contributors and F/G users hit today. 3-PR spine: PR #1 — ENET/DoIP auto-detection (protected path, human review required). Removes the last hardcoded car IP in src/index.html per the CLAUDE.md 'No hardcoded car IPs' invariant. UDP broadcast listener on port 13400 (SAE J1979 DoIP vehicle identification). Unblocks multiple 🟡 items in v0.6.0 (real-car F/G validation, OBDLink MX+ support, etc.). PR #2 — Ready-to-Claim pile (doc-only, auto-merge eligible). Three small UI features consolidated: dark/light theme toggle, save/load workspace layout, per-profile gauge theming. All pure JS / CSS; no Rust touched. Lowers the contribution barrier for first-time contributors. PR #3 — Engine profile gap fills (pure data, auto-merge eligible). New N20 / N26 (F-series 4-cyl modular family) and S55 (F-series M3/M4) TOMLs, cloned from b58.toml / n55.toml with engine-specific DIDs and the v0.5.0 '[needs verification]' marker on every entry. This is the seed for the next Discussion thread. No v0.7.0 work should land before that thread opens. Verification: - python tomllib on n20.toml / s55.toml not yet applicable (PR #3 ships those) - File is LF (matches repo convention for .md) - git diff origin/main...HEAD --stat: 1 file, 450 lines, 0 deletions (clean) - Pure docs change — auto-merge eligible per CLAUDE.md rule 2 once the Discussion thread concludes
|
🤖 Doc-only change — auto-merge enabled. Will merge once required checks pass. |
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.
v0.7.0 "Unblockers" cycle — Discussion seed
This is the Discussion seed for the v0.7.0 release cycle, per
COMMUNITY_FRAMEWORK.md's "no feature without a Discussion" rule.The matching cycle-plan doc is PR #83 (currently draft, will be marked ready after this Discussion concludes). Please argue with the plan below — the spine can change before any v0.7.0 work lands.
Cycle premise (short)
v0.6.0 closed the "Real Hardware" cycle (PR #82 cutting the release):
What's left isn't more spine work — it's the accumulated Ready-to-Claim 🟢 pile (consolidated in PR #79) plus one piece of high-leverage protocol work that unblocks multiple downstream 🟡 items.
Cycle name "Unblockers" because the work is about removing the friction that contributors and F/G users hit today, not about shipping a new user-facing capability. The value is the lower contribution barrier and F/G-series auto-detection.
Proposed 3-PR spine
transport/**)src/js/,src/css/,src/index.htmlcommunity/profiles/*.tomlPR #1 — ENET/DoIP auto-detection
The highest-leverage protocol work on the entire ROADMAP. Removes the only remaining hardcoded car IP in the app —
src/index.htmlships<input id="conn-addr" value="169.254.16.11:6801">today, which violates the CLAUDE.md invariant:13400(SAE J1979 DoIP vehicle identification)#[tauri::command] discover_enet_targets()ScriptedTransportpattern, mirroring v0.6.0 PR feat(v0.6.0): OBD-II mode 01 PID auto-discovery #81's approach)Unblocks multiple 🟡 items: real-car F/G validation (no more manual IP gymnastics), OBDLink MX+ support (same discovery shape applies to BLE later), F-series knock/AFR/adaptation polish (no need to fight the connection).
Tradeoff: UDP broadcast on port
13400cannot be tested in sandboxed CI — the actual loop is real-car-only. The PR tests cover the parser; a future contributor with a real F/G car validates the activation handshake.PR #2 — Ready-to-Claim pile (doc-only, auto-merge eligible)
Three small UI features consolidated from the Ready-to-Claim pile (PR #79):
[theme]block from the profile TOML; default to current blue/green if absent. ~50 lines + TOML syntax docs.Why bundle them: a first-time contributor can land this PR and earn their first merged commit. Each sub-feature is too small to stand alone but too small to warrant a separate PR cycle.
PR #3 — Engine profile gap fills (pure data, auto-merge eligible)
The two engines missing from the example profile set:
b58.tomln55.tomln52.tomln54.tomln62.tomlEach new profile is a clone of an existing TOML (
b58.tomlfor N20,n55.tomlfor S55) with engine-specific DIDs fromTECH_SPECS.md(not forum threads) and the[needs verification]marker on every entry per the v0.5.0 PR #73 discipline.Why "Unblockers" as the cycle name (the honest framing)
The v0.4 → v0.5 → v0.6 cycle names were aspirational ("Tuner Friendly" → "Ground Truth" → "Real Hardware"). v0.7.0 doesn't promise a new user-facing capability. It promises to remove the friction that contributors and F/G users hit today:
If a future cycle wants an aspirational name, v0.8.0 is the natural slot — once ENET auto-detection unblocks real-car F/G validation and the N20/S55 profiles start collecting
[verified]PRs from contributors with those chassis.What does NOT ship in v0.7.0 (deferred)
🟡 Needs-research (deferred to v0.8.0+)
map - baro,rail / load) — needs safe expression sandbox🟢 Ready items deferred past v0.7.0
Backlog
Specific things worth arguing with
Links
RELEASE_NOTES_v0.6.0.md[needs verification]retroactive discipline, and PR feat(v0.6.0): OBD-II mode 01 PID auto-discovery #81 debugging recipes (MSB-first bitmask math, silent-drop test discipline, CRLF normalize-then-restore). Apply them in v0.7.0 PRs.ROADMAP.md— v0.6.0 marked Shipped; v0.7.0 takes over the active-cycle block once this Discussion concludes