feat(web): surface ODIN procedure metadata + run message in tm3web #23
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/odin-proc-metadata"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Surface each ODIN procedure's operator guidance in the tm3web viewer when it's selected, and show the run's own pass/fail message.
What
comments.TaskInfometadata: the step-by-step description (intro + numbered steps), the ⚠ impact warning (e.g. "Axles and wheels will physically rotate after gear shift to D."), additional_info, and the gateway diag level / cancelable / post-fusing preconditions.service_output.user_facing_msgfor native-script procedures, thefailure_messagemetric for graph procedures — instead of leaving it buried as a raw row in the outputs table.odin_service._proc_metaparses the new TaskInfo fields (user_facing_impact,additional_info,gtw_diag_level,cancelable,post_fusing_allowed); they ride through/api/odin/proceduresautomatically.Also
scripts/di/resolver_cal.pyoperator guidance: on 2022.45.15 firmware OFFSET_LEARNING (0x0406) gates on ROLLS_MODE (4) while RESOLVER_LEARNING (0x0407) gates on DYNO_MODE (5) — not dyno for both — set per phase from the dashtraction_modetoggle. Dropped a stale firmware symbol name from the docstring.Not included
dependenciesTaskInfo field is intentionally not used to replace the "Requires on bus" derivation: only 21% of procedures declare it (the DIR learn procs declare none), and its content is ECU boot-state + physical harness continuity, not the CAN signals the live on-bus panel needs.Tests
pytest tests/test_odin_service.py tests/test_odin_web.py tests/test_odin_script_api.py tests/test_odin_bench.py— all pass;ruffclean.🤖 Generated with Claude Code