Service-function breadth with honest verification status (v0.8.0 PR #2, Tier B) - #117
Merged
Merged
Conversation
… gating (plan PR #2) Tier B: touches src-tauri/src/data/service_functions.rs and the command-adjacent UI surface; commands.rs itself is UNCHANGED (the new verified flag flows through the existing Serialize derive on list_service_functions). Audit: all six routine IDs (0x0F01-0x0F04, 0x0A01, 0x0A02) are v0.4.0 simulator placeholders - the sim answers any 0x31 ID, and no in-repo source (research/, TECH_SPECS.md, backend seeds) grounds any real ID; bmw_diag_landscape.md documents BMW routine IDs as security-sensitive, unpublished. Zero new routine IDs ship; DPF regen, throttle/Valvetronic adaptation, steering-angle calibration, EGS adaptation reset and EMF service mode are documented as known-missing in the new harness doc. Changes: - ServiceFunction gains a verified flag; all six entries marked verified: false with per-entry provenance comments. - UI renders an UNVERIFIED tag and prepends a routine-ID-not-chassis- validated preamble to the run confirmation (risk dialog preserved). - docs/validation/service-functions.md: real-car harness (preconditions, per-routine observations, NRC interpretation, label-removal path); CONTRIBUTING.md rule 3 now references it. - Contract tests: new all_shipped_entries_marked_unverified tripwire (lib count 99 -> 100); multi_routine_construction_round_trip gained the mechanical verified field. Count/ID/routine-ID/risk preservation tests deliberately untouched.
Contributor
|
ECC bundle files are already tracked in this repository. Skipping generation of another bundle PR. |
1 task
ohgeeceee
added a commit
that referenced
this pull request
Jul 18, 2026
…#119) * docs: v0.9.0 cycle plan — "Guided Fault Finding" (gap survey + 5 slices) Seed-for-Discussion plan for the next cycle, mirroring the v0.8.0 plan's shape. Survey of the existing guided-fault-finding surface (3 Opinions TOML files, 2 Oracle JSON files / 7 patterns, 2 Story TOML files / 8 entries — all flat, none branching) identifies the extension points: a new community/testplans TOML tree with [[step]] branching (inherits the v0.8.0 PR #1 TOML parse gate), a read-only plan query command, and a walkthrough UI mounted in the existing fault-detail composition. Also surfaces that community/oracle/*.json has no parse gate today. Five slices: (1) test-plan schema + branch-integrity gate + oracle JSON gate (Tier A, test-only); (2) grounded first corpus of ~8-10 DTC plans with per-step source citations + known-missing list (Tier A data); (3) loader + read-only get_test_plan command (Tier B, protected paths); (4) walkthrough UI with live-data measurement deep-links and freeze-frame seeding (Tier A frontend); (5) validation harness + label conventions (Tier A docs). Standing NOT-do list gains guided-diagnostics-adjacent items: emissions-monitor tampering, VIN/odometer fraud, imported ISTA test plans, auto-executing writes, unreviewed LLM procedures, cloud fault upload. ROADMAP: v0.8.0 status updated (merged #114/#115/#116, #117 pending human merge), v0.9.0 planned section added. README What's-coming refreshed to match. * docs: replace Discussion-gate process with direct-PR model Owner directive: work lands on GitHub as PRs as soon as it's done - no Discussion seed, no thread-conclusion gate. - COMMUNITY_FRAMEWORK.md: Rule 2 rewritten from "No Feature Is Accepted Without Public Discussion" to "Work Lands Directly as Pull Requests". Reasoning moves into the PR body; Discussions stay as an optional venue for genuinely open questions, never a gate. Rules 1/3/4 untouched. - docs/v0.9.0_plan.md + docs/v0.8.0_plan.md: seed-for-Discussion framing and cycle-starts-when-thread-concludes gates removed; plans stand on their own as PRs. - ROADMAP.md: v0.9.0 section + footer now say slices dispatch as PRs directly. - README.md: decisions-in-public row, ideas-being-explored section, and contributor commitment #2 updated to the direct-PR model. - CONTRIBUTING.md: feature-ideas path is now PR-first; Discussion optional for open directions. Deliberately kept: Discussions as a venue/contact channel (framework intro + heads-up line, README contact URL, CONTRIBUTING optional link) and historical mentions in CHANGELOG.md / RELEASE_NOTES_v0.3.0.md / v0.5.0-v0.7.0 plan docs (records of what the rule was at the time). CLAUDE.md has no Discussion references (verified by grep). --------- Co-authored-by: ohgeeceee <ohgeeceee@users.noreply.github.com>
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
Tier B — human review + merge required. Touches protected path
src-tauri/src/data/service_functions.rs;commands.rsis deliberately unchanged (the new flag flows through the existingSerializederive). Implements the v0.8.0 plan's PR #2 slice — the final slice of the "Service Bay" cycle.The audit found all six routine IDs are v0.4.0-era simulator placeholders — the sim answers any
0x31routine ID, and no in-repo source grounds a real one (BMW routine IDs are security-sensitive/unpublished perresearch/bmw_diag_landscape.md). Honest-status changes:verified: false, rendered in the UI as an amber UNVERIFIED pill (tooltip → harness doc) beside the existing risk tagdocs/validation/service-functions.md— the real-car validation harness; CONTRIBUTING.md rule 3 now references it as the only label-removal pathContract tests: one new UNVERIFIED tripwire (lib 99→100), one mechanical field addition; all preservation tests untouched.
Test plan
cargo buildwarning-clean;cargo test100+1node --test57/57; lint-toml clean (24 files)Reviewer checklist
commands.rsdiff is empty — command surface unchanged by designverified: falsewith per-entry comment; no invented IDsdocs/validation/service-functions.md§ 4 against CONTRIBUTING.md rules 2–3Merge policy
Tier B per CLAUDE.md — the human merges after review. Completing this PR closes the v0.8.0 "Service Bay" cycle.