Skip to content

Commit 977538d

Browse files
malysclaude
andcommitted
docs(telemetry): cite where the usable capacity figure comes from
61,7 kWh usable against a 64 kWh nameplate is EVKX's specification sheet for the MG4 Long Range, not a measurement of any particular pack. Saying so in the class that consumes it keeps the distinction visible at the point where someone would otherwise be tempted to treat a spec figure as a reading. The workspace AGENTS.md carries the rule this follows. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 43327cd commit 977538d

2 files changed

Lines changed: 13 additions & 5 deletions

File tree

‎lib/src/main/java/com/evsuite/hardware/telemetry/BatteryCapacityConfig.kt‎

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,15 @@ package com.evsuite.hardware.telemetry
1010
* for exactly what it is.
1111
*
1212
* **Usable, not nameplate.** State of charge spans the usable window, not the gross pack: the
13-
* buffers at each end are outside it. An MG4 sold as a 64 kWh car does not put 64 kWh between
14-
* 0 % and 100 %, and using the nameplate figure would overstate every arrival forecast by the
15-
* size of those buffers, in the optimistic direction. The field asks for the usable figure and
16-
* nothing here converts one into the other, because the relationship is not published either.
13+
* buffers at each end are outside it. The MG4 Long Range is sold as a 64 kWh car and its usable
14+
* capacity is 61,7 kWh — EVKX's specification sheet for that model, reviewed 2026-09-04, and a
15+
* citation rather than a measurement of any particular pack. Entering the nameplate figure
16+
* would overstate every arrival forecast by the size of those buffers, in the optimistic
17+
* direction. The field asks for the usable figure and nothing here converts one into the other:
18+
* the relationship is model-specific and this layer serves more than one model.
19+
*
20+
* See the workspace `AGENTS.md` for how a specification sheet may be used — it corroborates a
21+
* declared figure and never stands in for on-vehicle evidence.
1722
*
1823
* **Everything derived from this is [Provenance.ESTIMATED].** A dealer's state-of-health
1924
* reading is itself an estimate, the usable figure is a specification rather than a

‎lib/src/test/java/com/evsuite/hardware/telemetry/BatteryCapacityConfigTest.kt‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ import org.junit.Test
88

99
class BatteryCapacityConfigTest {
1010

11-
/** The reported MG4: 64 kWh nameplate, about 61.7 kWh usable, 95 % state of health. */
11+
/**
12+
* The owner's MG4 Long Range: 64 kWh gross and 61,7 kWh usable per EVKX's specification
13+
* sheet, at the 95 % state of health the dealer reported.
14+
*/
1215
private val mg4 = BatteryCapacityConfig.of(61.7, 95.0)!!
1316

1417
@Test fun `state of health scales the usable pack`() {

0 commit comments

Comments
 (0)