backend
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# Mode Profile Library Plan
|
||||
|
||||
## Goal
|
||||
|
||||
Add a long-term cabin mode configuration layer that can be matched from natural-language requests before normal CAN compilation.
|
||||
|
||||
## Scope
|
||||
|
||||
- Add repository-backed mode YAML files under `config/modes/`.
|
||||
- Convert matched mode operations into the same model-plan requests already used by seat, climate, roof, and ambient-light adapters.
|
||||
- Preserve current behavior for unmatched or extra user goals by letting the AI/local parser generate temporary requests.
|
||||
- Allow a recent successful action set to be saved as a long-term mode profile when the user explicitly asks to solidify a mode.
|
||||
- Expose available modes to the web console and wire the existing quick-mode/save controls to the new workflow.
|
||||
|
||||
## Tests First
|
||||
|
||||
- Unit-test mode profile loading, matching, request conversion, and save-to-YAML behavior.
|
||||
- Integration-test zero-gravity matching alone.
|
||||
- Integration-test zero-gravity plus a temporary roof request producing a cross-domain `SceneConfig`.
|
||||
- Integration-test saving the previous successful action set as a long-term mode file without emitting CAN.
|
||||
|
||||
## Design Notes
|
||||
|
||||
- The mode library stores semantic operations, not CAN frames. CAN remains generated by the existing domain compilers.
|
||||
- Seat-related operations in modes still pass through vehicle-profile angle/percentage calibration.
|
||||
- Save-mode detection is intentionally narrower than seat posture preset saving to avoid changing existing preset behavior.
|
||||
Reference in New Issue
Block a user