Skip to content

docs backend evidence ev support EE 23

AlexandreZanata edited this page Oct 24, 2026 · 1 revision

EE-23 — Android energy/cost/monthly comparisons

Status: LOCAL_DONE Validation: PASS Integration: INTEGRATION_PENDING

Parent: b26c5547 (maintained dev, MEX-13 commit; PR #147 head stays open per batch rule, no merge yet). Date: 2026-10-26. Depends MEX-13, EE-11/16/20. Rules EV-03/04/17–19; journeys EV-02/06/07/11. Risk: financial presentation.

Before behavior: monthly reports show purchased/measured/reference energy bases, per-carrier separation for PHEV, actual combined monetary cost and weighted comparisons with unknown reasons. Totals are exact once; ratios divide once; equivalent km/L is refused; reference is the vehicle's own held history (never a guarantee or an invented external benchmark). Recovery: keep raw totals, hide invalid estimates/ratios; never change history.

Delivered

  • contracts/testdata/premium/energy-v1.json (+ generated energy-execution-v1.csv): 11 shared golden vectors (weighted sums, PHEV/soc/partial/unmeasured/gap/segment/odo/zero-distance, combined exact/zero).
  • backend/.../metrics/energy_vectors_test.go: executes the corpus against EnergyInterval/CombinedCostPerKm (all PASS).
  • domain/premium/PremiumEnergy.kt: exact Kotlin parity (same order, same rationals, same vocabulary, same method-on-exact-only rule) plus weighted compare and an equivalentKmPerL refusal.
  • PremiumEnergyTest executes the same CSV corpus (all 11 match Go) plus comparison direction and conversion refusal.
  • Monthly use case extended: energy measured (shared odometer span), all-time historical reference, energy comparison, combined money/km through the engine, PHEV shared-distance basis, SOC/gap handling, empty-month no-records; CSV gains combined/energy/reference/ fees rows with formula-safe escaping.
  • Monthly screen energy block (purchased/measured/reference/ comparison with unknown reasons), 7 new strings in all 8 locales; no invented conversions anywhere.

Actual checks

From this worktree (2026-10-26, parent b26c5547):

  • RED: corpus/Go/Kotlin/use-case/VM pieces failed to compile or mis-computed before each unit (weighted-vs-mean, SOC pairing, empty vs unmeasured, method-on-unknown parity, test-fixture UUIDs); fixed without weakening tests (verified through both engines).
  • Go TestEnergyGoldenVectors 11/11 PASS; Kotlin corpus test 11/11 with identical strings; use-case tests (PHEV exact combined 1043/4, charge-only measured 800/3 with reference/compare, null handling, CSV safety); monthly VM suites green.
  • Full :domain:test :data:testDebugUnitTest :application:test :app:testDebugUnitTest --offline → 2009 tests, 0 failures; backend metrics package green; :app:lintDebug :data:lintDebug green (8 locales); git diff --check + secret scan clean. No other backend/SQL/OpenAPI change. Device reopen stays deferred.

Limits

  • Reference is the held on-device history only; no external benchmark is claimed or fetched. Tariff simulation stays in EE-20 form scope; EE-25 owns master-question rankings.
  • No device, no production, no deploy and no release acceptance is claimed.

Next: EE-25/24 or MEX-14/15/31/32 once authorized; all consume these engines and reports unchanged.

Fuel prices wiki

Source: AlexandreZanata/brazil-fuel-prices @ bbd96568180563ced975b96f8f89f7a3c242522e

Clone this wiki locally