-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Issue: Finalize EV data model v0.9 (target publish: September 2026)
Title: Finalize EV data model v0.9 (publish target: September 2026)
Goal
Publish EVKX data model v0.9 by September 2026, with a documented changelog + migration notes and updated tooling (admin + API + validation). This issue is append-only (“+++ more will be added”).
Reference (current model example):
Scope (initial items)
1) Add support for in-car AI / LLM assistants (ChatGPT, Grok, OEM AI, etc.)
Current related fields: UIAndControls.VoiceControl.FeatureStatus exists, but no structured assistant/provider info.
Proposed additions (new section):
Infotainment.AIAssistants[](array, because cars may have multiple assistants: OEM + 3rd party)
Proposed object fields
Name(localized dict, optional)Provider(string or enum:OpenAI,xAI,OEM,Google, etc. — you decide)AssistantProduct(string, e.g. “ChatGPT”, “Grok”, “MBUX Assistant”, “Audi Assistant”)IntegrationTypeenum:BuiltIn,App,OptionalPackage,Subscription,PhoneProjectionFeatureStatus(reuse your pattern: Standard/Optional/NotAvailable/Unknown)Capabilities[]enum list (examples):VoiceAssistant,QnA,CarControls,NavigationAssist,Messaging,TripPlanning,ChargingAssist,SearchConnectivityenum:OnlineOnly,Hybrid,OfflineSupportedRequiresAccount(bool),RequiresSubscription(bool)OptionId(string, optional)Availability[](reuse the Region/SubRegion/CountryList structure you already use in ModelInfo.Availability)
Acceptance
- Can represent which AI, how it’s delivered (built-in/app/subscription), and what it can do
- Works per model variant/market where needed
2) Torque vectoring type (not just availability)
Current field: Drivetrain.TorqueVectoring.FeatureStatus
Proposed change
-
Extend
Drivetrain.TorqueVectoringobject with:-
Typeenum (examples):NoneBrakeBasedELSDAxleSplitDualMotor(front/rear distribution)LeftRightElectric(per-wheel/per-side torque vectoring)ActiveDiffUnknown
-
Axleenum:Front,Rear,Both,Unknown(optional but useful) -
Notes(localized string or plain string, optional) -
Keep existing
FeatureStatus
-
Acceptance
- “Torque vectoring” becomes comparable across EVs (same enum set)
3) Head-up display type (not just optional/standard)
Current field: UIAndControls.HeadUpDisplay.FeatureStatus
Proposed change
-
Extend
UIAndControls.HeadUpDisplaywith:-
Typeenum:NoneCombinerWindshieldAugmentedRealityUnknown
-
SizeInch(number, optional, only when reliable) -
Content[]enum list (optional):Speed,Nav,ADAS,Phone,Media,Warnings -
OptionId(string, optional) -
Keep existing
FeatureStatus
-
Acceptance
- Can distinguish AR-HUD vs normal HUD cleanly
4) Styling options (make it more structured + consistent)
Current field: Exterior.Styling[] with { OptionName, Description } using translation keys
Proposed improvements
-
Keep
Exterior.Styling[], but extend each entry with:Standard(bool) orFeatureStatus(preferFeatureStatusfor consistency)OptionId(string, optional)Tags[]enum list (examples):BlackPack,CarbonPack,SportDesign,AeroKit,ExteriorTrimAvailability[](same region structure)Media[]references (optional; could link to your media system later)
-
Add a parallel structure for interior if needed:
Interior.Styling[](optional) for interior appearance packages that don’t fitInteriorDesigns
Acceptance
- Styling packages can be shown consistently and filtered later
- Region/trim/package differences can be represented
Versioning & release requirements (v0.9)
-
Confirm v0.9 change policy (what can be breaking vs additive)
-
Publish v0.9 schema + docs page + examples
-
Add changelog: v0.8.x → v0.9 (field-by-field)
-
Migration notes for:
- Admin tooling
- Public API consumers (if applicable)
Implementation checklist
-
Decide final JSON paths + enums for:
Infotainment.AIAssistants[]Drivetrain.TorqueVectoring.Type(+ optionalAxle)UIAndControls.HeadUpDisplay.Type(+ optionalContent[])Exterior.Styling[]enhancements (+ optionalInterior.Styling[])
-
Update validation rules
-
Update admin UI editors
-
Update API contracts + tests
-
Add sample EV JSON covering all new fields
Timeline (suggested)
Target publish: September 2026
- Freeze candidate field list: May 2026
- Implement + backfill key models: June–July 2026
- Validation + documentation + partner review: August 2026
- Release: September 2026
Append-only backlog (“+++ more will be added”)
- (Add new v0.9 items here as they appear)