Skip to content

Commit 1db65d9

Browse files
committed
fix: send loaded revision before claiming controller boot
1 parent b5c20f2 commit 1db65d9

2 files changed

Lines changed: 3 additions & 1 deletion

File tree

‎apps/predbat/control_handoff.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,8 @@ def __init__(self, base, instance_id, boot_id, url, key, clock=time.monotonic):
247247
def _request(self, action, evidence=None):
248248
"""Call the fixed service endpoint with redirects and exception logging off."""
249249
payload = {"action": action, "instance_id": self.instance_id, "boot_id": self.boot_id}
250+
if action == "attach":
251+
payload["loaded_config_version"] = self.base.args.get("saas_config_version")
250252
if self.gate is not None:
251253
payload["epoch"] = self.gate.epoch
252254
if evidence is not None:

‎apps/predbat/tests/test_control_handoff.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ def test_attach_uses_service_credentials_and_exact_boot(self):
473473
self.assertEqual(gate.epoch, self.epoch)
474474
call = post.call_args
475475
self.assertEqual(call.args[0], "https://service.invalid/functions/v1/engine-battery-control")
476-
self.assertEqual(call.kwargs["json"], {"action": "attach", "instance_id": self.instance, "boot_id": self.boot})
476+
self.assertEqual(call.kwargs["json"], {"action": "attach", "instance_id": self.instance, "boot_id": self.boot, "loaded_config_version": 7})
477477
self.assertFalse(call.kwargs["allow_redirects"])
478478
self.assertEqual(call.kwargs["headers"]["Authorization"], "Bearer synthetic-service-key")
479479

0 commit comments

Comments
 (0)