From 10fe7275615efdcbac50289955fe0788d92f436d Mon Sep 17 00:00:00 2001 From: DCCONSTRUCTIONS Date: Mon, 31 Aug 2026 21:45:51 +0300 Subject: [PATCH] fix(worker): preserve exec-form entrypoint --- .../observatory_portable/Install-Worker006AgentImage.ps1 | 5 ++++- tests/test_worker_006_agent_image_installer.py | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/experiments/perception/worker/observatory_portable/Install-Worker006AgentImage.ps1 b/experiments/perception/worker/observatory_portable/Install-Worker006AgentImage.ps1 index 9fe466b..cfcb627 100644 --- a/experiments/perception/worker/observatory_portable/Install-Worker006AgentImage.ps1 +++ b/experiments/perception/worker/observatory_portable/Install-Worker006AgentImage.ps1 @@ -49,7 +49,10 @@ $BaseImageReference = "sha256:$BaseImageSha256" $BuildMethod = "docker-commit-exact-layer-v1" $MaximumLayerBytes = [int64](32MB) $ImageWorkdir = "/opt/nodedc/mission-core" -$ImageEntrypoint = '["python3","-m","k1link.observatory.m49_worker_container_main"]' +# Windows PowerShell reconstructs native command lines and strips unescaped +# JSON quotes. Docker commit must receive the escaped quotes so the change is +# parsed as exec-form ENTRYPOINT instead of shell form. +$ImageEntrypoint = '[\"python3\",\"-m\",\"k1link.observatory.m49_worker_container_main\"]' $ImageCommand = '[]' $FixedEnvironment = @( "PYTHONPATH=/opt/nodedc/mission-core/src:/opt/nodedc/mission-core/deps", diff --git a/tests/test_worker_006_agent_image_installer.py b/tests/test_worker_006_agent_image_installer.py index 32beabf..92a4729 100644 --- a/tests/test_worker_006_agent_image_installer.py +++ b/tests/test_worker_006_agent_image_installer.py @@ -31,6 +31,11 @@ def test_worker_agent_installer_is_local_offline_and_non_buildkit() -> None: "LABEL org.opencontainers.image.title=" "NODE.DC-Observatory-Worker-006-agent" ) in script + assert ( + "$ImageEntrypoint = " + "'[\\\"python3\\\",\\\"-m\\\"," + "\\\"k1link.observatory.m49_worker_container_main\\\"]'" + ) in script assert 'title="NODE.DC Observatory Worker 006 agent"' not in script assert "docker rm -f $containerId" in script assert "docker rm -f $containerName" not in script