chore: enforce kafka-only stat path

This commit is contained in:
lingniu
2026-07-01 14:35:58 +08:00
parent cd12a84e51
commit f7bb5b1554
6 changed files with 21 additions and 8 deletions

View File

@@ -25,6 +25,7 @@ class VehicleStatRepositoryContractTest {
.resolve("docs/superpowers/plans/2026-06-30-kafka-streaming-mileage.md"));
assertThat(plan)
.contains("Only supported message backbone: Kafka.")
.contains("Runtime state: none outside `vehicle_stat_metric`")
.contains("daily_mileage_km = max_total_mileage_km - min_total_mileage_km")
.contains("Do not create or write a protocol-specific JT808 daily-mileage table.")
@@ -40,6 +41,7 @@ class VehicleStatRepositoryContractTest {
String architecture = Files.readString(repositoryRoot().resolve("docs/target-architecture.md"));
assertThat(architecture)
.contains("Only supported message backbone: Kafka.")
.contains("Runtime state: none outside `vehicle_stat_metric`")
.contains("Restart recovery reads the same metric row")
.contains("JT808 daily mileage is stored only in `vehicle_stat_metric`")
@@ -54,6 +56,7 @@ class VehicleStatRepositoryContractTest {
.resolve("docs/operations/jt808-daily-mileage-runbook.md"));
assertThat(runbook)
.contains("Only supported message backbone: Kafka.")
.contains("Runtime state: none outside `vehicle_stat_metric`")
.contains("Restart recovery reads the same `daily_mileage_km` metric row")
.doesNotContain("Redis mileage state")