===== edge-main-validate-c4l98-archive-logs-pod.log ===== [pod/edge-main-validate-c4l98-archive-logs-pod/step-collect-logs] 2026-08-19T13:40:17.226058284-05:00 ==> collecting pod logs for PipelineRun=edge-main-validate-c4l98 [pod/edge-main-validate-c4l98-archive-logs-pod/prepare] 2026-08-19T13:40:11.734711629-05:00 2026/08/19 18:40:11 Entrypoint initialization [pod/edge-main-validate-c4l98-archive-logs-pod/place-scripts] 2026-08-19T13:40:12.897793653-05:00 2026/08/19 18:40:12 Decoded script /tekton/scripts/script-0-6td6s [pod/edge-main-validate-c4l98-archive-logs-pod/place-scripts] 2026-08-19T13:40:12.920108220-05:00 2026/08/19 18:40:12 Decoded script /tekton/scripts/script-1-65mz8 ===== edge-main-validate-c4l98-clone-pod.log ===== [pod/edge-main-validate-c4l98-clone-pod/step-clone] 2026-08-19T13:37:00.567778971-05:00 From https://github.com/storeminder-ai/storeminder-edge [pod/edge-main-validate-c4l98-clone-pod/step-clone] 2026-08-19T13:37:00.567811600-05:00 * branch 275da556b18b843f5b85384288cc4841eac4cf41 -> FETCH_HEAD [pod/edge-main-validate-c4l98-clone-pod/step-clone] 2026-08-19T13:37:00.617246095-05:00 Cloned 275da556b18b843f5b85384288cc4841eac4cf41 [pod/edge-main-validate-c4l98-clone-pod/prepare] 2026-08-19T13:36:55.161738752-05:00 2026/08/19 18:36:55 Entrypoint initialization [pod/edge-main-validate-c4l98-clone-pod/place-scripts] 2026-08-19T13:36:55.676642895-05:00 2026/08/19 18:36:55 Decoded script /tekton/scripts/script-0-jlffn ===== edge-main-validate-c4l98-lint-pod.log ===== [pod/edge-main-validate-c4l98-lint-pod/prepare] 2026-08-19T13:37:02.192506934-05:00 2026/08/19 18:37:02 Entrypoint initialization [pod/edge-main-validate-c4l98-lint-pod/place-scripts] 2026-08-19T13:37:03.303707797-05:00 2026/08/19 18:37:03 Decoded script /tekton/scripts/script-0-g8csr [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.652734276-05:00 ok: install-system.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.654217239-05:00 ok: installer-logship.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.655485143-05:00 ok: installer-diaglink.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.656762588-05:00 ok: firstboot-mesh.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.658061282-05:00 ok: firstboot-logship.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.659180487-05:00 ok: firstboot-hostname.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.660416131-05:00 ok: firstboot-devicetype.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.661789825-05:00 ok: firstboot-mender.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.665269959-05:00 ok: build-golden.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.668123216-05:00 ok: build-installer-rootfs.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.670829703-05:00 ok: build-selfinstall-disk.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.673302242-05:00 ok: build-rc.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.676543547-05:00 ok: grubenv-flow-test.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.680935937-05:00 ok: ci/edge-golden-smoke.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.684052653-05:00 ok: ci/edge-ota-install.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.684096953-05:00 ok: overlay present: data.mount [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.684106453-05:00 ok: overlay present: boot-efi.mount [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.684140023-05:00 ok: overlay present: storeminder-data-check.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.684157203-05:00 ok: overlay present: emergency.service.d/10-storeminder-sulogin-force.conf [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.684176983-05:00 ok: overlay present: rescue.service.d/10-storeminder-sulogin-force.conf [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.684217702-05:00 ok: overlay present: getty@tty1.service.d/autologin.conf [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.684255742-05:00 ok: boot-efi.mount enabled via local-fs.target.wants [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.685606056-05:00 ok: data.mount What= is by-label [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.687277648-05:00 ok: data.mount Options= has nofail [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.688648072-05:00 ok: boot-efi.mount What= is by-label ESP [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.690048946-05:00 ok: boot-efi.mount Options= has nofail [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.691295210-05:00 ok: emergency: Environment=SYSTEMD_SULOGIN_FORCE=1 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.692467995-05:00 ok: rescue: Environment=SYSTEMD_SULOGIN_FORCE=1 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.692535385-05:00 ok: overlay present: wait-online --any drop-in [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.693761379-05:00 ok: wait-online drop-in sets ExecStart ... --any [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.695037023-05:00 ok: wait-online drop-in blanks ExecStart= before re-setting it [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.695098383-05:00 ok: overlay present: smartd condition drop-in (SSOT, #367/#363) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.696497226-05:00 ok: roles/observability sources the smartd drop-in from image/overlay (single source, #367) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.697979990-05:00 ok: roles/base sources the wait-online drop-in from image/overlay (single source, #367) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.698029589-05:00 ok: overlay present: catch-all DHCP .network [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.699207724-05:00 ok: catch-all .network sets DHCP=yes [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.700638458-05:00 ok: catch-all .network matches en*/eth* [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.700671287-05:00 ok: systemd-networkd.service enabled via multi-user.target.wants [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.700691407-05:00 ok: systemd-networkd.socket enabled via sockets.target.wants [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.700718247-05:00 ok: wait-online enabled via network-online.target.wants (pre-converge) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.702365580-05:00 ok: cloud-init network rendering disabled (99-storeminder-network.cfg) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.702428369-05:00 ok: overlay present: HDA/i915 softdep drop-in [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.703550514-05:00 ok: HDA drop-in orders i915 before snd_hda_intel (softdep) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.705664575-05:00 ok: edge-golden-smoke asserts /etc/resolv.conf is the resolved stub symlink (edge#143) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:08.707775565-05:00 ok: edge-golden-smoke asserts systemd-resolved is enabled in the golden (edge#143) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:09.973645192-05:00 ok: tests/pyfixtures/test_golden_smoke_dns.py passes (resolv.conf-stub + resolved-enabled gate, edge#143) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:09.973809281-05:00 ok: overlay present: tailscaled /data-state drop-in [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:09.975397314-05:00 ok: tailscaled drop-in gates on /data (RequiresMountsFor) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:09.976832027-05:00 ok: tailscaled drop-in clears the stock ExecStart (empty ExecStart=) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:09.978386040-05:00 ok: tailscaled drop-in points --state at /data on the argv (unclobberable by EnvironmentFile) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:09.979747574-05:00 ok: tailscaled drop-in disables logtail (--no-logs-no-support) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:09.981782045-05:00 ok: firstboot-mesh fallback drop-in overrides ExecStart with --state on /data + --no-logs-no-support (edge#151/#161) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:09.983229628-05:00 ok: tailscaled drop-in creates /data/tailscale before start (ExecStartPre) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:09.985358218-05:00 ok: edge-golden-smoke asserts the baked mesh authkey (edge#160) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:09.987783127-05:00 ok: edge-golden-smoke asserts tailscaled is enabled in the golden (edge#160) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:09.989983207-05:00 ok: edge-golden-smoke asserts firstboot-mesh is enabled in the golden (edge#160) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.352432580-05:00 ok: tests/pyfixtures/test_golden_smoke_mesh.py passes (offline mesh-machinery gate, edge#160) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.357760626-05:00 ok: retired: x86-selfinstall/storeminder-pull.service absent (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.362491134-05:00 ok: retired: x86-selfinstall/storeminder-pull.timer absent (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.367651121-05:00 ok: retired: pi-selfinstall/storeminder-pull.service absent (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.373045186-05:00 ok: retired: pi-selfinstall/storeminder-pull.timer absent (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.378392282-05:00 ok: retired: system/storeminder-pull.service absent (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.382895611-05:00 ok: retired: system/storeminder-pull.timer absent (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.387788169-05:00 ok: retired: timers.target.wants/storeminder-pull.timer absent (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.391636851-05:00 ok: build-golden.sh does not bake the retired pull loop (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.395218545-05:00 ok: build-selfinstall-sd.sh does not bake the retired pull loop (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.396632068-05:00 ok: roles/base does not install the retired pull units (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.399336716-05:00 ok: roles/base removes the retired pull units on escape-hatch runs (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.402096063-05:00 ok: roles/mender post-OTA ansible-pull hook retired (removal-only) (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.404067984-05:00 ok: firstboot-converge.sh is ansible-free (identity materialization only) (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.405926086-05:00 ok: firstboot-converge.sh runs the baked AppRole self-mint (edge#387/#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.405966896-05:00 ok: overlay ships vault-approle-mint.sh executable (ansible-free AppRole mint, #455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.409642909-05:00 ok: vault-approle-mint.sh mints role_id + secret_id (edge#387) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.411477081-05:00 ok: vault-approle-mint.sh never logs the minted secret (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.412687585-05:00 ok: smcfgd-requirements.txt pins the storeminder-config contract closure (edge#458) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.418995126-05:00 ok: build-golden bakes smcfgd python deps from the Nexus PyPI (edge#458/#454) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.420836178-05:00 ok: build-golden fail-loud import smoke guards the smcfgd bake [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.422821789-05:00 ok: build-golden purges the transient pip toolchain (minimal/read-only-friendly rootfs, #456) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.424002823-05:00 ok: baked vector.yaml carries: docker_logs (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.425192578-05:00 ok: baked vector.yaml carries: type: aws_s3 (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.426393702-05:00 ok: baked vector.yaml carries: prometheus_remote_write (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.427519657-05:00 ok: baked vector.yaml carries: get_env_var("SM_HOST") (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.428755182-05:00 ok: baked vector.yaml carries: get_env_var("SM_SITE") (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.429887727-05:00 ok: baked vector.yaml carries: get_env_var("SM_DEVICE_TYPE") (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.431674528-05:00 ok: baked vector.yaml avoids ${SM_HOST} config interpolation (#230) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.433506010-05:00 ok: baked vector.yaml does not set current_boot_only (#228) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.435922889-05:00 ok: baked vector.yaml disables the aws_s3/remote_write healthchecks (#383/#394) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.437959990-05:00 ok: vector-host-env.sh exports SM_HOST (#243/#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.439767332-05:00 ok: vector-host-env.sh exports SM_SITE (#243/#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.441583813-05:00 ok: vector-host-env.sh exports SM_DEVICE_TYPE (#243/#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.444642059-05:00 ok: baked vector obs drop-in grants docker.sock + optional S3 creds env (edge#394/#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.446568471-05:00 ok: overlay bakes vector-s3.env.ctmpl (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.448489032-05:00 ok: overlay bakes vector-s3.hcl (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.450218524-05:00 ok: overlay bakes collector-env.ctmpl (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.452000236-05:00 ok: overlay bakes collector-env.hcl (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.453642358-05:00 ok: collector IDENTITY env renders to the /run tmpfs (edge#456/#478) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.455206851-05:00 ok: baked collector compose reads the /run IDENTITY env (edge#456/#478) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.456812324-05:00 ok: overlay bakes storeminder-platform-check.service (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.458437566-05:00 ok: overlay bakes storeminder-platform-check.timer (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.458456716-05:00 ok: overlay enables storeminder-platform-check.service (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.458473796-05:00 ok: overlay enables storeminder-platform-check.timer (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.460079669-05:00 ok: overlay bakes storeminder-container-metrics.service (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.461942670-05:00 ok: overlay bakes storeminder-container-metrics.timer (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.461958260-05:00 ok: overlay enables storeminder-container-metrics.service (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.461975280-05:00 ok: overlay enables storeminder-container-metrics.timer (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.462019520-05:00 ok: overlay ships storeminder-platform-check executable (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.463946091-05:00 ok: platform-check derives edge_converge_ok from the config boot re-apply (#455/#458) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.465887772-05:00 ok: platform-check exports the retired-pull tripwire metric (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.465907352-05:00 ok: overlay ships storeminder-container-metrics executable (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.467454425-05:00 ok: baked collector service gates on the dispatcher config sink (edge#478/#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.468943708-05:00 ok: baked collector service runs the baked container formula (edge#452/#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.471684866-05:00 ok: baked collector timer sets OnCalendar + WantedBy=timers.target (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.471710956-05:00 ok: overlay enables storeminder-collector.timer (#455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.473076840-05:00 ok: tmpfiles bakes the /run/storeminder/collector dir (vault-agent dest, #455) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.475124590-05:00 ok: storage device defaults to mmcblk0 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.477137101-05:00 ok: data-part growfs disabled [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.479029852-05:00 ok: mender-convert cfg pins MENDER_SERVER_URL to mender.storeminder.ai (#438) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.481330512-05:00 ok: grub.cfg boots from ${root} (no blind ESP label search) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.483452832-05:00 ok: internal-disk detection by lsblk TRAN [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.485454513-05:00 ok: mender.conf.j2 has no stale nvme0n1 reference [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.487922262-05:00 ok: install-system.sh creates ESP on the target [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.489966643-05:00 ok: install-system.sh creates UROOTA on the target [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.492137613-05:00 ok: install-system.sh creates UROOTB on the target [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.494183403-05:00 ok: install-system.sh creates DATA on the target [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.496403443-05:00 ok: install-system.sh creates NO IROOT on the target (one-pass) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.498445724-05:00 ok: install-system.sh seeds /data/mender/bootstrap.mender -> mender records artifact_name (edge#465) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.500739183-05:00 ok: install-system.sh no longer writes the ineffective /etc/mender/artifact_info stamp (superseded by the bootstrap artifact, edge#465) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.503011863-05:00 ok: install-system.sh has no phase-2 clone handoff [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.504901014-05:00 ok: install-system.sh powers off after install [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.506946515-05:00 ok: install-system.sh does not reboot (poweroff-only handoff) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.508951536-05:00 ok: install-system.sh grub-installs onto the eMMC ESP [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.511041976-05:00 ok: install-system.sh lays grub-system.cfg onto the eMMC ESP [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.512992848-05:00 ok: install-system.sh gives the eMMC ESP a fresh FAT label 'ESP' [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.514812559-05:00 ok: install-system.sh fail-loud asserts the ESP label resolves [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.514834569-05:00 ok: grub-system.cfg present [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.516620641-05:00 ok: grub-system.cfg has the slot-A entry [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.518553492-05:00 ok: grub-system.cfg has no 'installer' entry [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.520424284-05:00 ok: grub-system.cfg has no 'diagnostic' entry [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.522226835-05:00 ok: grub-system.cfg has no 'reinstall' entry [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.524080697-05:00 ok: grub-system.cfg references no installer kernel [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.528022749-05:00 ok: provisioner/x86-selfinstall/grub-system.cfg: system-b entry does not chainload a slot-B grub.cfg (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.529426333-05:00 ok: provisioner/x86-selfinstall/grub-system.cfg: system-b entry does not depend on the UROOTB label (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.530855836-05:00 ok: provisioner/x86-selfinstall/grub-system.cfg: system-b boots directly by root=PARTUUID=${rootuuid_b} (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.532393099-05:00 ok: provisioner/x86-selfinstall/grub-system.cfg: system-b loads a kernel directly (linux ...) (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.534184551-05:00 ok: provisioner/x86-selfinstall/grub-system.cfg: insmod regexp present (disk derivation + kernel glob) (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.535969813-05:00 ok: provisioner/x86-selfinstall/install-system.sh: records rootuuid_b (slot-B PARTUUID) into the grubenv (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.539758485-05:00 ok: provisioner/arm64-selfinstall/grub-system.cfg: system-b entry does not chainload a slot-B grub.cfg (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.541276119-05:00 ok: provisioner/arm64-selfinstall/grub-system.cfg: system-b entry does not depend on the UROOTB label (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.542743902-05:00 ok: provisioner/arm64-selfinstall/grub-system.cfg: system-b boots directly by root=PARTUUID=${rootuuid_b} (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.544053846-05:00 ok: provisioner/arm64-selfinstall/grub-system.cfg: system-b loads a kernel directly (linux ...) (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.545919057-05:00 ok: provisioner/arm64-selfinstall/grub-system.cfg: insmod regexp present (disk derivation + kernel glob) (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.547798189-05:00 ok: provisioner/arm64-selfinstall/install-system.sh: records rootuuid_b (slot-B PARTUUID) into the grubenv (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.551387002-05:00 ok: provisioner/x86-selfinstall/grub.cfg: system-b entry does not chainload a slot-B grub.cfg (edge#529) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.552742116-05:00 ok: provisioner/x86-selfinstall/grub.cfg: system-b entry does not depend on the UROOTB label (edge#529) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.554294479-05:00 ok: provisioner/x86-selfinstall/grub.cfg: system-b boots by GPT identity (rootuuid_b / PARTLABEL) (edge#529) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.555749282-05:00 ok: provisioner/x86-selfinstall/grub.cfg: system-b loads a kernel directly (linux ...) (edge#529) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.557675614-05:00 ok: provisioner/x86-selfinstall/grub.cfg: insmod regexp present (disk derivation + kernel glob) (edge#529) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.561908954-05:00 ok: provisioner/arm64-selfinstall/grub.cfg: system-b entry does not chainload a slot-B grub.cfg (edge#529) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.563557007-05:00 ok: provisioner/arm64-selfinstall/grub.cfg: system-b entry does not depend on the UROOTB label (edge#529) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.565130070-05:00 ok: provisioner/arm64-selfinstall/grub.cfg: system-b boots by GPT identity (rootuuid_b / PARTLABEL) (edge#529) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.566675673-05:00 ok: provisioner/arm64-selfinstall/grub.cfg: system-b loads a kernel directly (linux ...) (edge#529) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.568701873-05:00 ok: provisioner/arm64-selfinstall/grub.cfg: insmod regexp present (disk derivation + kernel glob) (edge#529) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.570768754-05:00 ok: roles/mender/files/sm-esp-grubenv-remediate: records rootuuid_b so remediated field boxes can boot an OTA'd slot B (edge#485/#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.572636055-05:00 ok: roles/mender/files/sm-esp-grubenv-remediate: records rootuuid_a (self-heals a stale/absent slot-A PARTUUID) (edge#508) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.576661237-05:00 ok: sm_last_boot_action seeded by BOTH provisioning paths (installer + field remediation) (edge#520) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.580753468-05:00 ok: sm_last_boot_part seeded by BOTH provisioning paths (installer + field remediation) (edge#520) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:13.582683270-05:00 ok: roles/mender/files/sm-esp-grubenv-remediate: discovers slots by GPT PARTLABEL, which survives a rootfs OTA (edge#525) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.744290740-05:00 ok: tests/esp-remediate-slot-discovery.sh passes (ESP remediation is re-runnable at any point in a box's life, edge#525) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.746586040-05:00 ok: grub-system.cfg: saved_entry is the persistent default (#295) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.748599471-05:00 ok: grub-system.cfg: next_entry one-shot SELF-CLEARS (save_env next_entry) (#120/#295) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.750648281-05:00 ok: grub-system.cfg: deliberately omits bootcount (emergency shell, not a boot loop; #135/#295) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.750688681-05:00 ok: grub.cfg (USB selector) present [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.752729702-05:00 ok: grub.cfg: next_entry one-shot SELF-CLEARS (save_env next_entry) (#295) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.754692193-05:00 ok: grub.cfg: bootcount gates the revert on boot_success=0 (#295) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.756679024-05:00 ok: grub.cfg: persists boot-counting across cycles (save_env boot_indeterminate) (#295) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.758696855-05:00 ok: install-system.sh lays the grub-mender-grubenv env surface on the ESP (edge#470) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.760546906-05:00 ok: install-system.sh seeds mender_boot_part into the mender env pair (edge#470) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.762335948-05:00 ok: install-system.sh seeds upgrade_available into the mender env pair (edge#470) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.764099210-05:00 ok: install-system.sh writes the mender env lock.sha256sum (shim integrity check) (edge#470) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.765997841-05:00 ok: install-system.sh records mender_rootfsa/b_part for the selector map (edge#470) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.768030762-05:00 ok: grub-system.cfg loads the mender OTA env (mender_boot_part) (edge#470) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.769916084-05:00 ok: grub-system.cfg flips to system-b when mender_boot_part points at slot B (edge#470) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.771412347-05:00 ok: overlay pins ENV_DIR=/boot/efi/grub-mender-grubenv in etc/mender_grubenv.config (edge#483) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.772524752-05:00 ok: roles/mender mender_grubenv.config is byte-identical to the overlay SSOT (edge#483/#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.773776556-05:00 ok: roles/mender lays /etc/mender_grubenv.config at converge (heals deployed rootfses, edge#483) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.775322449-05:00 ok: selftest converge tier probes the grubenv shim end-to-end (edge#483) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.776501563-05:00 ok: selftest converge tier reports mender_grubenv_config (edge#483) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.777717738-05:00 ok: selftest manifest carries mender_grubenv_config (edge#483/#195) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.779123792-05:00 ok: selftest converge tier reports mender_grubenv_dir (edge#483) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.780475975-05:00 ok: selftest manifest carries mender_grubenv_dir (edge#483/#195) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.781702430-05:00 ok: selftest converge tier reports mender_grubenv_resolves (edge#483) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.782844125-05:00 ok: selftest manifest carries mender_grubenv_resolves (edge#483/#195) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.782935804-05:00 ok: overlay ships mender artifact-verify PEM at etc/mender/artifact-verify-key.pem (edge#552) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.784262998-05:00 ok: overlay mender artifact-verify PEM is byte-identical to the committed roles/mender/files/artifact-verify.pub reference (edge#552/#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.784298818-05:00 ok: overlay ships mender config-artifact-verify PEM at etc/mender/config-artifact-verify-key.pem (edge#552) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.785514482-05:00 ok: overlay mender config-artifact-verify PEM is byte-identical to the committed roles/mender/files/config-artifact-verify.pub reference (edge#552/#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.787785622-05:00 ok: build-golden.sh no longer hand-copies the mender verify PEMs (they ride the overlay SSOT, edge#552) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.789973052-05:00 ok: installer rootfs includes grub-efi-amd64-bin (grub-install available) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.792083842-05:00 ok: build-selfinstall-disk.sh bakes grub-system.cfg into /opt/installer [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.794104153-05:00 ok: build-selfinstall-disk.sh bakes bootstrap.mender into /opt/installer (edge#465) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.796193644-05:00 ok: build-golden.sh extracts the mender bootstrap artifact for the self-install (edge#465) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.797986996-05:00 ok: build-rc.sh threads BOOTSTRAP_MENDER golden->selfinstall (edge#465) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.838928299-05:00 ok: tests/selfinstall-bootstrap-artifact.sh passes (mender-managed self-install records artifact_name, edge#465) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.926832698-05:00 ok: tests/edge-ota-install-selftest.sh passes (real-client OTA-install gate wired, edge#471) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.928729619-05:00 ok: mender defaults: x86 rootfs A = /dev/mmcblk0p2 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.930564591-05:00 ok: mender defaults: x86 rootfs B = /dev/mmcblk0p3 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.932322693-05:00 ok: mender defaults: no x86 slot on /dev/mmcblk0p4 (DATA) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.932379692-05:00 ok: installer-logship.service present [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.934145784-05:00 ok: logship: 'set -u' (no set -e -> never aborts) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.936270545-05:00 ok: logship unit does not gate installer.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.940375856-05:00 ok: install-system.sh raises install-complete + waits for the ship drain before poweroff (#229) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.942418387-05:00 ok: install-system.sh drain wait is hard-capped (SHIP_DRAIN_CAP_SECS) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.946097840-05:00 ok: installer-logship confirms Loki delivery via promtail metrics -> raises drained (#229) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.948032621-05:00 ok: installer-logship raises terminal on give-up (no full-cap stall) (#229) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.953834655-05:00 ok: build-installer-rootfs wires in tailscale + promtail + logship unit [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.955140689-05:00 ok: build-installer-rootfs sources the shared firmware.list (single-source #66) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.956963690-05:00 ok: firmware.list includes firmware-iwlwifi (Wi-Fi/BT, golden #143 parity) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.958639533-05:00 ok: firmware.list includes firmware-realtek (N150 ethernet -> mesh/Loki) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.960753973-05:00 ok: build-golden asserts firmware blobs under /lib/firmware (fail-loud, edge#103) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.962747504-05:00 ok: edge-golden-smoke asserts firmware blobs under /lib/firmware (runtime gate, edge#103) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.964728995-05:00 ok: edge-golden-smoke resolves symlinked blobs within the mounted rootfs (edge#141) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.967064804-05:00 ok: build-golden resolves the alternatives-managed regulatory.db within the chroot (edge#141) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:14.969192054-05:00 ok: edge-golden-smoke asserts regulatory.db.p7s alongside the reg-db (edge#141) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.135679393-05:00 ok: tests/pyfixtures/test_golden_smoke_regdb.py passes (alternatives-symlink reg-db gate, edge#141) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.137677204-05:00 ok: build-installer-rootfs includes grub2-common (grub-install for eMMC #212) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.139453965-05:00 ok: build-installer-rootfs unmounts chroot binds before tar [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.141055068-05:00 ok: disk build bakes ephemeral mesh-authkey (outside payload/) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.142443502-05:00 ok: no mesh-authkey committed to the repo [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.142514661-05:00 ok: present: firstboot-mesh.sh [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.142531911-05:00 ok: present: firstboot-logship.sh [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.142542961-05:00 ok: present: storeminder-firstboot-mesh.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.142552771-05:00 ok: present: storeminder-firstboot-logship.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.146027555-05:00 ok: firstboot scripts are 'set -u' (never abort boot) (#230) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.147560138-05:00 ok: firstboot-mesh ordered Before cloud-final (mesh up before ansible-pull) (#230) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.151334501-05:00 ok: firstboot-mesh keys off enrollment-or-baked (inert when absent) (#230) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.153039253-05:00 ok: firstboot-mesh bounds 'tailscale up' with --timeout (#135) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.155387063-05:00 ok: firstboot-mesh 'tailscale up' carries --reset (no 'requires mentioning all') (#469/#283) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:16.171628199-05:00 ok: firstboot-mesh TimeoutStartSec=300 >= budget 245s + 30s margin (#135/#167) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.632476480-05:00 ok: tests/firstboot-mesh.sh passes (exits 0 on hung 'tailscale up', #135) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.636673381-05:00 ok: firstboot-logship ships stage=firstboot + hands off to Vector (#230) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.640709002-05:00 ok: build-golden bakes tailscale + promtail (mesh/logship units ride image/overlay, #366/#230) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.644685904-05:00 ok: build-golden bakes the first-boot authkey from env (reuses MESH_INSTALLER_AUTHKEY) (#230) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.646001138-05:00 ok: no firstboot-mesh-authkey committed to the repo [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.647290322-05:00 ok: overlay ships firstboot-hostname.sh (byte-identical to the provisioner reference) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.647315582-05:00 ok: overlay firstboot-hostname.sh is executable (baked 0755) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.648470817-05:00 ok: overlay ships storeminder-firstboot-hostname.service (byte-identical) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.648491267-05:00 ok: overlay enables storeminder-firstboot-hostname.service (multi-user.target.wants symlink) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.650945285-05:00 ok: build-golden.sh does not re-hand-install firstboot-hostname (rides the overlay, #366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.652136850-05:00 ok: overlay ships firstboot-mesh.sh (byte-identical to the provisioner reference) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.652146920-05:00 ok: overlay firstboot-mesh.sh is executable (baked 0755) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.653173565-05:00 ok: overlay ships storeminder-firstboot-mesh.service (byte-identical) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.653197195-05:00 ok: overlay enables storeminder-firstboot-mesh.service (multi-user.target.wants symlink) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.655097476-05:00 ok: build-golden.sh does not re-hand-install firstboot-mesh (rides the overlay, #366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.656124532-05:00 ok: overlay ships firstboot-logship.sh (byte-identical to the provisioner reference) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.656145202-05:00 ok: overlay firstboot-logship.sh is executable (baked 0755) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.657123817-05:00 ok: overlay ships storeminder-firstboot-logship.service (byte-identical) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.657132167-05:00 ok: overlay enables storeminder-firstboot-logship.service (multi-user.target.wants symlink) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.659154128-05:00 ok: build-golden.sh does not re-hand-install firstboot-logship (rides the overlay, #366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.660339852-05:00 ok: overlay ships firstboot-converge.sh (byte-identical to the provisioner reference) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.660348742-05:00 ok: overlay firstboot-converge.sh is executable (baked 0755) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.661354458-05:00 ok: overlay ships storeminder-firstboot-converge.service (byte-identical) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.661366568-05:00 ok: overlay enables storeminder-firstboot-converge.service (multi-user.target.wants symlink) (#366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.663471228-05:00 ok: build-golden.sh does not re-hand-install firstboot-converge (rides the overlay, #366) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.663526868-05:00 ok: overlay ships setup-log.sh (narrative lib, #421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.663552168-05:00 ok: overlay ships setup-diagnose.sh executable (failure-signature detector, #421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.663565178-05:00 ok: overlay ships the setup-log CLI executable (replay/follow/diagnose, #421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.667472560-05:00 ok: firstboot-hostname.sh sources the narrative lib with the guarded no-op fallback (#421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.671116873-05:00 ok: firstboot-mesh.sh sources the narrative lib with the guarded no-op fallback (#421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.674827886-05:00 ok: firstboot-logship.sh sources the narrative lib with the guarded no-op fallback (#421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.678742228-05:00 ok: firstboot-converge.sh sources the narrative lib with the guarded no-op fallback (#421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.682642790-05:00 ok: firstboot-devicetype.sh sources the narrative lib with the guarded no-op fallback (#421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.686182624-05:00 ok: firstboot-sshkey.sh sources the narrative lib with the guarded no-op fallback (#421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.689889717-05:00 ok: firstboot-user.sh sources the narrative lib with the guarded no-op fallback (#421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.693872339-05:00 ok: firstboot-siterole.sh sources the narrative lib with the guarded no-op fallback (#421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.697805771-05:00 ok: mesh-rejoin.sh sources the narrative lib with the guarded no-op fallback (#421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.698944536-05:00 ok: setup-diagnose emits the SETUP-SIG anchor (grep/LogQL contract, #421) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.742008829-05:00 ok: tests/host-label-rule.sh passes (SM_HOST rule in every vector config, #198) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.931845362-05:00 ok: tests/vector-host-derive.sh passes (derivation ladder + never-fatal, #198) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.933112626-05:00 ok: vector rides image/packages.list (baked pre-converge, #198) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.934774968-05:00 ok: image/overlay/etc/vector/vector.yaml: no current_boot_only key (systemd 252 compatible) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.936679170-05:00 ok: roles/observability/templates/vector.yaml.j2: no current_boot_only key (systemd 252 compatible) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.938640221-05:00 ok: image/overlay/etc/vector/vector.yaml: loki endpoint is a BASE url (no /loki/api/v1/push suffix) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.940788561-05:00 ok: obs_logs_endpoint strips the push path from logs_remote_endpoint (#228) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.940897060-05:00 ok: vector binary not present -- skipping vector validate (grep gates above still enforce #228) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.940978540-05:00 ok: overlay present: storeminder-vector-env.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.942579503-05:00 ok: vector-env unit is Type=oneshot [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.944334295-05:00 ok: vector-env unit sets RemainAfterExit=yes (later Wants= pulls don't re-run it) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.945908598-05:00 ok: vector-env unit invokes the shared vector-host-env.sh (single #198/#241 derivation) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.947511060-05:00 ok: vector-env unit ordered Before=vector.service (env exists for the FIRST start attempt) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.949369492-05:00 ok: vector-env unit ordered After=data.mount (#71/#72 invariant: reads /data identity, preps /data/vector) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.951087564-05:00 ok: vector-env unit installs into multi-user.target [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.951131144-05:00 ok: vector-env enabled via multi-user.target.wants symlink [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.952234819-05:00 ok: vector-host-env.sh parses (POSIX sh) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.955745253-05:00 ok: vector-host-env.sh is 'set -u' never-fatal (#168 contract) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.957691054-05:00 ok: vector drop-in has no ExecStartPre (SM_HOST comes from the #244 oneshot) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.959123387-05:00 ok: vector drop-in keeps EnvironmentFile=-/run/storeminder-vector.env [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.960505211-05:00 ok: vector drop-in sets Restart=on-failure (#244) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.961913664-05:00 ok: vector drop-in relaxes the start limit (StartLimitIntervalSec, #244) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:47.963499957-05:00 ok: roles/observability renders no vector ExecStartPre (converge keeps the #244 shape) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:49.838717078-05:00 ok: tests/pyfixtures/test_golden_smoke_vector_env.py passes (SM_HOST-oneshot smoke gate, edge#244) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:49.956855128-05:00 ok: tests/vector-docker-logs-s3.sh passes (docker_logs -> Loki + S3 fallback, edge#394) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:49.969634020-05:00 ok: tests/vector-buffer-capacity.sh passes (disk-buffer sum fits /data + logs_s3 healthcheck disabled, edge#394) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:49.969702589-05:00 ok: present: firstboot-hostname.sh [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:49.969718469-05:00 ok: present: storeminder-firstboot-hostname.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:49.971924429-05:00 ok: firstboot-hostname.sh is 'set -u' (never abort boot) (#168) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:49.973828930-05:00 ok: firstboot-hostname ordered Before the mesh join (#168) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:49.975776172-05:00 ok: firstboot-hostname ordered Before cloud-final (#168) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:49.977480074-05:00 ok: firstboot-hostname needs only local-fs (no network dependency) (#168) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:49.977537543-05:00 ok: early-hostname unit delivered + enabled via image/overlay (SSOT, #366/#168) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:50.138332419-05:00 ok: tests/firstboot-hostname.sh passes (derivation + never-fatal, #168) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:50.500468054-05:00 ok: tests/hostname-derivation-parity.sh passes (firstboot-hostname == cloud-init namer, #368) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:50.501850337-05:00 ok: edge-enroll.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:50.503749059-05:00 ok: edge-enroll.sh is 'set -u' (not set -e) (#165) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:50.507394942-05:00 ok: edge-enroll stages the enrollment authkey mode-0600 (#165) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:50.509121604-05:00 ok: edge-enroll refuses to clobber a staged single-use key without --force (#165) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.349969081-05:00 ok: tests/edge-enroll.sh passes (token->authkey exchange contract, #165) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.352225841-05:00 ok: firstboot-mesh invokes the enroll client (ENROLL_CLIENT) (#167) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.354394661-05:00 ok: firstboot-mesh hard-caps the enroll exchange (run_capped ENROLL_CAP_SECS) (#167) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.356620861-05:00 ok: enroll exchange runs BEFORE the key pick (enrollment key wins) (#167) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.358908800-05:00 ok: firstboot-mesh logs LOUDLY on break-glass (baked shared key) use (#167) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.361128180-05:00 ok: firstboot-mesh leaves the /data break-glass marker (#167) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.363405640-05:00 ok: build-golden bakes the edge-enroll client onto PATH (#167) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.364650524-05:00 ok: overlay ships edge-enroll (byte-identical to scripts/edge-enroll.sh) (#167) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.366747714-05:00 ok: roles/mesh reasserts the edge-enroll client at converge (#167) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.369081354-05:00 ok: roles/mesh audits break-glass (shared-key) joins in the converge log (#167) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.372016810-05:00 ok: mint-bootstrap.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.373876812-05:00 ok: mint-bootstrap stages secrets under umask 077 / 0600 (#245) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.375940852-05:00 ok: mint-bootstrap enforces the 2h preauthkey TTL floor (#245) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:52.377875813-05:00 ok: mint-bootstrap refuses to clobber staged secrets without --force (#245) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.169577495-05:00 ok: tests/mint-bootstrap.sh passes (flash-time mint+stage contract, #245) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.171646785-05:00 ok: build-golden gates the shared-key bake behind ALLOW_BREAKGLASS_BAKE (#162) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.173673266-05:00 ok: edge-golden-smoke gates against a baked shared mesh key (#162) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.942209263-05:00 ok: tests/pyfixtures/test_golden_smoke_meshkey.py passes (shared-key retirement gate, #162) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.945918066-05:00 ok: promtail default URL derives from the Nexus raw mirror (not a public release) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.949388791-05:00 ok: promtail.zip is sha256-pinned at build [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977441002-05:00 ok: map covers bootdisk ansible-core [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977589132-05:00 ok: map covers bootdisk bmap-tools [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977595862-05:00 ok: map covers bootdisk ca-certificates [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977600562-05:00 ok: map covers bootdisk chrony [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977605072-05:00 ok: map covers bootdisk cloud-init [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977609021-05:00 ok: map covers bootdisk containerd.io [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977613651-05:00 ok: map covers bootdisk curl [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977617661-05:00 ok: map covers bootdisk dmidecode [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977621631-05:00 ok: map covers bootdisk dnsmasq [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977625531-05:00 ok: map covers bootdisk docker-ce [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977629421-05:00 ok: map covers bootdisk docker-ce-cli [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977633351-05:00 ok: map covers bootdisk docker-compose-plugin [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977637271-05:00 ok: map covers bootdisk firmware-iwlwifi [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977651241-05:00 ok: map covers bootdisk firmware-misc-nonfree [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977654081-05:00 ok: map covers bootdisk firmware-realtek [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977656701-05:00 ok: map covers bootdisk fontconfig [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977659291-05:00 ok: map covers bootdisk fonts-dejavu-core [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977662021-05:00 ok: map covers bootdisk git [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977664801-05:00 ok: map covers bootdisk hostapd [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977668321-05:00 ok: map covers bootdisk iw [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977671811-05:00 ok: map covers bootdisk jq [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977674621-05:00 ok: map covers bootdisk mender-client4 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977677451-05:00 ok: map covers bootdisk mender-flash [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977710641-05:00 ok: map covers bootdisk nftables [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977715841-05:00 ok: map covers bootdisk openssh-server [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977719911-05:00 ok: map covers bootdisk plymouth [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977724711-05:00 ok: map covers bootdisk prometheus-node-exporter [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977728751-05:00 ok: map covers bootdisk python3 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977732631-05:00 ok: map covers bootdisk python3-apt [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977739271-05:00 ok: map covers bootdisk rclone [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977743401-05:00 ok: map covers bootdisk rfkill [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977747271-05:00 ok: map covers bootdisk smartmontools [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977751151-05:00 ok: map covers bootdisk vault [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977755041-05:00 ok: map covers bootdisk vector [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977759011-05:00 ok: map covers bootdisk wireless-regdb [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977762891-05:00 ok: map covers bootdisk wpasupplicant [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977766781-05:00 ok: map covers installer ca-certificates [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977770691-05:00 ok: map covers installer curl [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977774581-05:00 ok: map covers installer firmware-iwlwifi [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977778471-05:00 ok: map covers installer firmware-misc-nonfree [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977783171-05:00 ok: map covers installer firmware-realtek [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977787111-05:00 ok: map covers installer iproute2 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977791001-05:00 ok: map covers installer kmod [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977795141-05:00 ok: map covers installer socat [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977799101-05:00 ok: map covers installer tailscale [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977803001-05:00 ok: map covers installer wireless-regdb [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977806881-05:00 ok: map covers converged chrony [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977810791-05:00 ok: map covers converged containerd.io [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977814681-05:00 ok: map covers converged dmidecode [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977818551-05:00 ok: map covers converged docker-ce [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977822440-05:00 ok: map covers converged docker-ce-cli [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977826370-05:00 ok: map covers converged docker-compose-plugin [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977830280-05:00 ok: map covers converged flashrom [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977834170-05:00 ok: map covers converged fwupd [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977838040-05:00 ok: map covers converged intel-microcode [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977842040-05:00 ok: map covers converged libraspberrypi-bin [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977845940-05:00 ok: map covers converged linux-modules-extra-raspi [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977849820-05:00 ok: map covers converged mender-client4 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977853690-05:00 ok: map covers converged mender-flash [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977857740-05:00 ok: map covers converged nftables [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977861660-05:00 ok: map covers converged nvme-cli [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977865590-05:00 ok: map covers converged openssh-server [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977875950-05:00 ok: map covers converged prometheus-node-exporter [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977878660-05:00 ok: map covers converged tailscale [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977881290-05:00 ok: map covers converged thermald [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977883910-05:00 ok: map covers converged vault [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977886560-05:00 ok: map covers converged vector [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977889740-05:00 ok: source ok bootdisk cloud-init -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977892530-05:00 ok: source ok bootdisk plymouth -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977895170-05:00 ok: source ok bootdisk fontconfig -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977897770-05:00 ok: source ok bootdisk fonts-dejavu-core -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977900380-05:00 ok: source ok bootdisk chrony -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977903030-05:00 ok: source ok bootdisk nftables -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977905650-05:00 ok: source ok bootdisk ca-certificates -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977908670-05:00 ok: source ok bootdisk firmware-iwlwifi -> backports [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977913870-05:00 ok: source ok bootdisk firmware-misc-nonfree -> backports [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977916670-05:00 ok: source ok bootdisk firmware-realtek -> backports [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977919320-05:00 ok: source ok bootdisk wireless-regdb -> backports [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977921960-05:00 ok: source ok bootdisk ansible-core -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977924580-05:00 ok: source ok bootdisk python3 -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977927200-05:00 ok: source ok bootdisk python3-apt -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977929840-05:00 ok: source ok bootdisk git -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977932480-05:00 ok: source ok bootdisk mender-client4 -> mender [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977935140-05:00 ok: source ok bootdisk mender-flash -> mender [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977937840-05:00 ok: source ok bootdisk vault -> hashicorp [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977940480-05:00 ok: source ok bootdisk rclone -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977943110-05:00 ok: source ok bootdisk bmap-tools -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977945740-05:00 ok: source ok bootdisk prometheus-node-exporter -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977948430-05:00 ok: source ok bootdisk openssh-server -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977958180-05:00 ok: source ok bootdisk curl -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977961000-05:00 ok: source ok bootdisk jq -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977964130-05:00 ok: source ok bootdisk dmidecode -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977967040-05:00 ok: source ok bootdisk smartmontools -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977969660-05:00 ok: source ok bootdisk hostapd -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977972290-05:00 ok: source ok bootdisk dnsmasq -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977975050-05:00 ok: source ok bootdisk vector -> vector [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977978080-05:00 ok: source ok bootdisk docker-ce -> docker [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977980760-05:00 ok: source ok bootdisk docker-ce-cli -> docker [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977983400-05:00 ok: source ok bootdisk containerd.io -> docker [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977986080-05:00 ok: source ok bootdisk docker-compose-plugin -> docker [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977993810-05:00 ok: source ok bootdisk iw -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977996620-05:00 ok: source ok bootdisk rfkill -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.977999280-05:00 ok: source ok bootdisk wpasupplicant -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978002050-05:00 ok: source ok installer systemd-sysv -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978004670-05:00 ok: source ok installer udev -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978007260-05:00 ok: source ok installer zstd -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978009870-05:00 ok: source ok installer e2fsprogs -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978012540-05:00 ok: source ok installer dosfstools -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978015190-05:00 ok: source ok installer parted -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978017820-05:00 ok: source ok installer util-linux -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978020680-05:00 ok: source ok installer coreutils -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978023310-05:00 ok: source ok installer ca-certificates -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978025950-05:00 ok: source ok installer grub-common -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978028580-05:00 ok: source ok installer grub2-common -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978031210-05:00 ok: source ok installer grub-efi-amd64-bin -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978033889-05:00 ok: source ok installer initramfs-tools -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978036549-05:00 ok: source ok installer linux-image-amd64 -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978039179-05:00 ok: source ok installer curl -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978041799-05:00 ok: source ok installer iproute2 -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978044409-05:00 ok: source ok installer firmware-realtek -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978047059-05:00 ok: source ok installer firmware-iwlwifi -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978049699-05:00 ok: source ok installer firmware-misc-nonfree -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978052329-05:00 ok: source ok installer wireless-regdb -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978056479-05:00 ok: source ok installer tailscale -> tailscale [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978059149-05:00 ok: source ok installer socat -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978061789-05:00 ok: source ok installer kmod -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978064439-05:00 ok: source ok converged mender-client4 -> mender [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978067099-05:00 ok: source ok converged mender-flash -> mender [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978069749-05:00 ok: source ok converged chrony -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978072379-05:00 ok: source ok converged nftables -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978075009-05:00 ok: source ok converged vault -> hashicorp [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978077729-05:00 ok: source ok converged openssh-server -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978080359-05:00 ok: source ok converged rclone -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978082989-05:00 ok: source ok converged prometheus-node-exporter -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978085639-05:00 ok: source ok converged vector -> vector [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978088279-05:00 ok: source ok converged tailscale -> tailscale [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978090909-05:00 ok: source ok converged docker-ce -> docker [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978098759-05:00 ok: source ok converged docker-ce-cli -> docker [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978101449-05:00 ok: source ok converged containerd.io -> docker [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978104139-05:00 ok: source ok converged docker-compose-plugin -> docker [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978106749-05:00 ok: source ok converged fwupd -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978109359-05:00 ok: source ok converged flashrom -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978112069-05:00 ok: source ok converged dmidecode -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978114739-05:00 ok: source ok converged intel-microcode -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978117399-05:00 ok: source ok converged thermald -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978121499-05:00 ok: source ok converged nvme-cli -> debian-main [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978124569-05:00 ok: firmware parity golden == installer (firmware-iwlwifi, firmware-misc-nonfree, firmware-realtek, wireless-regdb) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978128709-05:00 ok: required present bootdisk firmware-iwlwifi [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978131409-05:00 ok: required present bootdisk firmware-misc-nonfree [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978134109-05:00 ok: required present bootdisk firmware-realtek [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978136759-05:00 ok: required present bootdisk wireless-regdb [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978165899-05:00 ok: required present installer firmware-iwlwifi [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978185689-05:00 ok: required present installer firmware-misc-nonfree [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978189409-05:00 ok: required present installer firmware-realtek [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978192729-05:00 ok: required present installer wireless-regdb [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978196879-05:00 warn: orphan map row: `systemd-sysv installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978200319-05:00 warn: orphan map row: `udev installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978203019-05:00 warn: orphan map row: `zstd installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978205889-05:00 warn: orphan map row: `e2fsprogs installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978208629-05:00 warn: orphan map row: `dosfstools installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978211339-05:00 warn: orphan map row: `parted installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978214039-05:00 warn: orphan map row: `util-linux installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978216659-05:00 warn: orphan map row: `coreutils installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978219369-05:00 warn: orphan map row: `grub-common installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978222099-05:00 warn: orphan map row: `grub2-common installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978225889-05:00 warn: orphan map row: `grub-efi-amd64-bin installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978228559-05:00 warn: orphan map row: `initramfs-tools installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978231229-05:00 warn: orphan map row: `linux-image-amd64 installer debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978233949-05:00 warn: orphan map row: `rclone converged debian-main` matches nothing installed on that surface (stale?) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978236519-05:00 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.978248918-05:00 pkg_manifest: reconcile OK (155 checks, 14 warning(s)) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:53.979861331-05:00 ok: packages.map reconciles with packages.list + roles + installer build [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.012020704-05:00 edge-rootfs-lint: boundary intact -- rootfs is FORMULA, /data is state, no rendered config baked (#456). [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.014422763-05:00 ok: rootfs boundary intact: FORMULA immutable, /data state-only, config on /run (edge#456) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.185521321-05:00 ok: tests/pyfixtures/test_rootfs_lint_baked_sinks.py passes (no-baked-sinks scope is checkout-path-independent, edge#456) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.211707701-05:00 edge-bake-ssot-lint: OK -- 88 rootfs writes all baked or justified (66 overlay-backed, 22 justified exception(s)); no converge-only-unbaked artifact (edge#518). [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.214355359-05:00 ok: bake-SSOT intact: every rootfs role-write is baked or justified (edge#518) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.368149536-05:00 ok: tests/bake-ssot-lint.sh passes (the bake-SSOT lint's verdicts hold, edge#518) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.369266871-05:00 ok: installer-diaglink.service present [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.370319716-05:00 ok: diaglink: 'set -u' (no set -e -> never aborts) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.374227409-05:00 ok: diaglink gates on the sm.diag kernel cmdline flag (opt-in) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.377885982-05:00 ok: diaglink arms kernel netconsole via configfs [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.381603495-05:00 ok: diaglink forwards the install journal via socat [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.383699725-05:00 ok: diaglink unit does not gate installer.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.389029731-05:00 ok: build-installer-rootfs wires in socat + kmod + netconsole autoload + diaglink unit [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.390756973-05:00 ok: grub.cfg has the opt-in installer-diag menuentry [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.394435786-05:00 ok: default installer entry does not set sm.diag (production install unchanged) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.394494186-05:00 ok: waveshare receiver present: sm-diag-receiver.py [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.394505946-05:00 ok: waveshare receiver present: README.md [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.394510296-05:00 ok: waveshare receiver present: sm-diag-receiver.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.422118780-05:00 ok: sm-diag-receiver.py compiles [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.424202710-05:00 ok: build-golden leaves $M/var/lib/mender untouched (clear for mender-convert's symlink, #152) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.427487935-05:00 ok: install-system.sh seeds /data/mender/device_type after formatting /data (#152) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.427539755-05:00 ok: present: firstboot-devicetype.sh [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.427558415-05:00 ok: present: storeminder-firstboot-devicetype.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.429369727-05:00 ok: firstboot-devicetype.sh is 'set -u' (never abort boot) (#152) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.431065379-05:00 ok: firstboot-devicetype ordered Before=mender-updated (marker before first poll) (#152) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.432790561-05:00 ok: firstboot-devicetype needs only local-fs (/data mount, no network) (#152) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.436776823-05:00 ok: build-golden bakes firstboot-devicetype.sh + unit (fallback in the golden, #152) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.437935897-05:00 ok: overlay bakes firstboot-devicetype.sh (byte-identical to the provisioner copy) (#152) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.439064482-05:00 ok: overlay bakes storeminder-firstboot-devicetype.service (byte-identical) (#152) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.439089262-05:00 ok: overlay enables storeminder-firstboot-devicetype.service (multi-user.target.wants symlink) (#152) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.441148353-05:00 ok: edge-golden-smoke gates the device_type plumbing (rootfs symlink layout + fallback, #152) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.442948204-05:00 ok: group_vars/all declares vault_ready (#176) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.444652577-05:00 ok: site.yml references vault_ready (Vault-hard roles gated, #176) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.446047500-05:00 ok: no vault.storeminder.example placeholder in group_vars/ or provisioner/payload/ [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.447561773-05:00 ok: no *.storeminder.example placeholder in group_vars/ or provisioner/payload/ [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.452034573-05:00 ok: keys/fleet-bootstrap-ops.pub is exactly one well-formed ed25519 PUBLIC key (#178) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.455675836-05:00 ok: build-golden bakes the COMMITTED .pub -> $M/etc/ssh/authorized_keys.d/edge-ops (#178) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.456772801-05:00 ok: build-golden bakes the sshd AuthorizedKeysFile drop-in (user path first, #170-safe) (#178) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.460663493-05:00 ok: group_vars/all defaults base_ops_authorized_keys from the SAME committed .pub (converge == bake) (#178) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.462696594-05:00 ok: edge-golden-smoke gates the baked bootstrap key (runtime gate, #178) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.463974518-05:00 ok: firstboot-sshkey.sh parses (POSIX sh) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.467263343-05:00 ok: firstboot-sshkey.sh is 'set -u' never-fatal (#168 contract) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.468985385-05:00 ok: firstboot-sshkey.sh guards on /data being a real mountpoint [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.470717528-05:00 ok: firstboot-sshkey.sh generates an ed25519 key on-device [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.470768237-05:00 ok: overlay present: storeminder-firstboot-sshkey.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.471954862-05:00 ok: firstboot-sshkey ordered Before=ssh.service (key exists when sshd's condition is evaluated) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.473221226-05:00 ok: firstboot-sshkey ordered After=data.mount (#71/#72 invariant) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.473245586-05:00 ok: firstboot-sshkey enabled via multi-user.target.wants [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.474629790-05:00 ok: bootstrap HostKey drop-in points sshd at the /data key (pre-converge window open) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.478846570-05:00 ok: build-golden bakes firstboot-sshkey + bootstrap HostKey drop-in from the overlay sources (#184) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.483671098-05:00 ok: ssh.service keeps After=data.mount + OR-form ConditionPathExists over /data + bootstrap keys (#107/edge#221) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.487386611-05:00 ok: roles/ssh_ca retires the bootstrap HostKey drop-in at converge (single HostKey source) (#184) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.493709272-05:00 ok: 16-...-hostkey.conf lists per-device /data key FIRST, bootstrap fallback second (edge#221) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.494838627-05:00 ok: no committed OpenSSH private key material (edge#221 key stays in Vault) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.498723499-05:00 ok: build-golden bakes the bootstrap host key from EDGE_BOOTSTRAP_HOSTKEY_PRIV (never a committed file) (edge#221) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.500505891-05:00 ok: roles/ssh_ca removes the baked shared bootstrap key at converge (edge#221) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.504390804-05:00 ok: edge-golden-smoke gates the baked bootstrap key + names the sunset issue (edge#221/#222) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.505660208-05:00 ok: firstboot-user.sh parses (POSIX sh) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.509372761-05:00 ok: firstboot-user.sh is 'set -u' never-fatal (#168 contract) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.511106513-05:00 ok: firstboot-user.sh creates the operator user (-m -s /bin/bash -G $SUPP_GROUPS) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.512835905-05:00 ok: firstboot-user.sh SUPP_GROUPS defaults to sudo (operator never loses sudo, #229) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.514453368-05:00 ok: firstboot-user.sh adds the operator to the docker group (baked engine, edge#569) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.516055870-05:00 ok: firstboot-user.sh locks the password (no password auth, ever) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.517718873-05:00 ok: firstboot-user.sh installs the NOPASSWD sudoers drop-in [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.519470825-05:00 ok: firstboot-user.sh visudo-validates the drop-in BEFORE install (bad sudoers bricks sudo) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.519531274-05:00 ok: overlay present: storeminder-firstboot-user.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.520692909-05:00 ok: firstboot-user ordered Before=ssh.service (user exists for the first login attempt) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.521868724-05:00 ok: firstboot-user needs only local-fs (no network dependency) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.521881864-05:00 ok: firstboot-user enabled via multi-user.target.wants [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.523460956-05:00 ok: user-data.tmpl keeps the users: block (harmless double-set where cloud-init runs) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.524421102-05:00 ok: user-data.tmpl documents the users: block as dead on installed boxes (#229) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.666234054-05:00 ok: tests/firstboot-user.sh passes (operator-user contract, #229) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.667977296-05:00 ok: site.yml includes tasks/targeting-groups.yml (site_*/role_* mapping, #247) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.667994776-05:00 ok: tasks/targeting-groups.yml present [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.669841047-05:00 ok: group_vars/all defines site_marker_path (hermetic-testable lookups, #247) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.669858937-05:00 ok: group_vars/site_lab demo override committed (living proof of the convention, #247) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.669879907-05:00 ok: tests/site-role-groups.sh present (behaviour gate runs in edge-selftest-lint, #247) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.672352046-05:00 ok: requirements.yml collection versions are exact pins (#182) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.675131683-05:00 ok: requirements.lock entries are well-formed (name + exact version + sha256) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.681325035-05:00 ok: requirements.yml and requirements.lock agree 1:1 (6 collections) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.689004860-05:00 ok: build-golden vendors requirements.lock collections into the rootfs (#182) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.691100310-05:00 ok: build-golden sha256-verifies fetched collection tarballs (#182) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.693266960-05:00 ok: build-golden never points 'ansible-galaxy install -r' at the proxy (#156) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.695236691-05:00 ok: ansible.cfg collections_paths includes /usr/share/ansible/collections (#182) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.699533412-05:00 ok: edge-golden-smoke gates the vendored collections against requirements.lock (#182) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.699623581-05:00 ok: present: mesh-rejoin.sh [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.699633201-05:00 ok: present: storeminder-mesh-rejoin.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.699637981-05:00 ok: present: storeminder-mesh-rejoin.timer [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.701084945-05:00 ok: mesh-rejoin.sh parses [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.703147295-05:00 ok: mesh-rejoin.sh is 'set -u' (never fatal) (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.705113266-05:00 ok: mesh-rejoin bounds 'tailscale up' with --timeout (#135) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.706905108-05:00 ok: mesh-rejoin 'tailscale up' carries --reset (no 'requires mentioning all') (#469/#283) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.708977799-05:00 ok: mesh-rejoin 'tailscale up' carries --force-reauth (wedged-session re-register) (#469/#283) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.713060420-05:00 ok: mesh-rejoin dials real data-plane liveness before trusting Running+IP (#469/#283) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.716835333-05:00 ok: mesh-rejoin probes control-plane recognition (Health) before trusting Running+IP (#263) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.718756604-05:00 ok: mesh-rejoin keeps cross-tick stale escalation state (/data marker) (#469/#283) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.720809094-05:00 ok: mesh-rejoin rate-limits rung-2 re-auth (headscale 0.25 churn guard) (#469/#283) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.722777785-05:00 ok: mesh-rejoin refuses to logout without a re-join credential (#469/#283) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.726732757-05:00 ok: mesh-rejoin re-enrolls via the baked enroll client (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.728664498-05:00 ok: mesh-rejoin re-mints with edge-enroll --force (stale single-use key) (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.730631719-05:00 ok: mesh-rejoin logs LOUDLY on break-glass use (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.732725070-05:00 ok: mesh-rejoin leaves the /data break-glass marker (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.734783241-05:00 ok: mesh-rejoin skips while firstboot-mesh is mid-join (no churn) (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.756572511-05:00 ok: mesh-rejoin TimeoutStartSec=240 >= budget 195s + 30s margin (#135/#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.758405913-05:00 ok: mesh-rejoin service is timer-activated only (no WantedBy) (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.760859011-05:00 ok: mesh-rejoin.timer sets OnUnitActiveSec + WantedBy=timers.target (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.762275895-05:00 ok: mesh-rejoin.timer spreads the fleet (RandomizedDelaySec) (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.764224186-05:00 ok: mesh-rejoin service orders after /data (RequiresMountsFor) (#83/#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.768217018-05:00 ok: build-golden bakes mesh-rejoin.sh + enables the timer (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.769266653-05:00 ok: overlay ships mesh-rejoin.sh (byte-identical to the x86 baked copy) (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.770346448-05:00 ok: overlay ships storeminder-mesh-rejoin.service (byte-identical to the x86 baked copy) (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.771202884-05:00 ok: overlay ships storeminder-mesh-rejoin.timer (byte-identical to the x86 baked copy) (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.771220874-05:00 ok: overlay enables storeminder-mesh-rejoin.timer (timers.target.wants symlink) (#166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.773668083-05:00 ok: roles/mesh reasserts mesh-rejoin script + units at converge (single source) (#283) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:37:54.775875693-05:00 ok: edge-golden-smoke gates the baked mesh re-join (runtime gate, #166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:01.887574550-05:00 ok: tests/mesh-rejoin.sh passes (self-heal re-join contract, #166) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:01.892630766-05:00 ok: build-golden bakes the selftest v2 wrapper + repo snapshot (#191) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:01.894646387-05:00 ok: build-golden fail-louds on an incomplete selftest snapshot (#191) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:01.898792318-05:00 ok: edge-golden-smoke gates the baked selftest wrapper + snapshot (#200) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:01.899916143-05:00 ok: journald drop-in bakes Storage=persistent (storeminder#225) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:01.901103898-05:00 ok: journald drop-in bakes SystemMaxUse cap (edge#89) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:01.902356082-05:00 ok: journald drop-in bakes MaxFileSec rotation (edge#89) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:01.904210243-05:00 ok: edge-golden-smoke checks ownership NUMERICALLY (stat %u/%g, never name resolution) (edge#227) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:01.906120255-05:00 ok: edge-golden-smoke sweeps the rootfs for uid/gid >= 1000 owners (edge#227) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.008468594-05:00 ok: tests/pyfixtures/test_golden_smoke_ownership.py passes (uid-10001 bake-class ownership gate, edge#227) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.010374265-05:00 ok: overlay symlink: /etc/storeminder/site -> /data/identity/site (#243) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.011967088-05:00 ok: overlay symlink: /etc/storeminder/role -> /data/identity/role (#243) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.013199953-05:00 ok: firstboot-siterole.sh parses (POSIX sh) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.016564237-05:00 ok: firstboot-siterole.sh is 'set -u' never-fatal (#168 contract) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.018263019-05:00 ok: firstboot-siterole.sh reads the payload device-batch.json contract [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.020026491-05:00 ok: firstboot-siterole.sh guards the /data mountpoint (rootfs-shadow hazard) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.020072131-05:00 ok: overlay present: storeminder-firstboot-siterole.service [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.021279265-05:00 ok: firstboot-siterole needs only local-fs (no network dependency) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.022427650-05:00 ok: firstboot-siterole ordered Before=storeminder-vector-env.service (SM_SITE sees the marker on first boot) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.022493400-05:00 ok: firstboot-siterole enabled via multi-user.target.wants [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.024073773-05:00 ok: install-system.sh seeds /data/identity/{site,role} from the payload (#243) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.026114073-05:00 ok: vector-host-env.sh derives SM_SITE beside SM_HOST (#243) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.027855705-05:00 ok: baked vector.yaml stamps the site label via ${SM_SITE} (#243) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.029894786-05:00 ok: edge-golden-smoke gates the baked site/role marker wiring (#243) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.146021465-05:00 ok: tests/firstboot-siterole.sh passes (site/role marker contract, #243) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.146678692-05:00 ok: no edge_replication templates in this ref -- lockfile-writability check skipped (edge#404) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.147549438-05:00 ok: baked chrony sources prefer the internal mesh NTP (edge#314/#454) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.148726763-05:00 ok: baked chrony sources keep the first-boot pool fallback [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.149970877-05:00 ok: roles/base sources the baked chrony file (SSOT #367) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.151133152-05:00 ok: baked apt periodic config disables unattended-upgrade [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.152757254-05:00 ok: baked mask: apt-daily.timer -> /dev/null (edge#399 pre-converge window closed) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.154429057-05:00 ok: baked mask: apt-daily-upgrade.timer -> /dev/null (edge#399 pre-converge window closed) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.156049719-05:00 ok: baked mask: unattended-upgrades.service -> /dev/null (edge#399 pre-converge window closed) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.157474053-05:00 ok: baked tmpfiles: /data/keys 0770 root:vault-agent (edge#334 steady state) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.158816307-05:00 ok: baked tmpfiles: /data/provision traversable (0751) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.160847487-05:00 ok: baked nftables.conf is default-deny (policy drop) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.162858058-05:00 ok: baked nftables.conf allows ssh on the mesh only [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.162936108-05:00 ok: nftables.service enabled via baked sysinit.target.wants symlink [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.164252302-05:00 ok: roles/firewall sources the baked ruleset (SSOT #367) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.164289952-05:00 ok: no duplicate nftables template (overlay is the single source) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.165692935-05:00 ok: baked sshd hardening: HostKey /data/keys/ssh_host_ed25519_key [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.166882470-05:00 ok: baked sshd hardening: PasswordAuthentication no [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.168091394-05:00 ok: baked sshd hardening: PermitRootLogin no [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.169588277-05:00 ok: baked sshd hardening: TrustedUserCAKeys /data/keys/trusted-user-ca.pub [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.170800602-05:00 ok: baked sshd config carries no HostCertificate (pre-cert render, correct) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.172179936-05:00 ok: firstboot-sshkey stages the TrustedUserCAKeys placeholder (no dangling ref) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.174238296-05:00 ok: baked vault-agent.hcl is the AppRole steady-state shape (#387) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.176950474-05:00 ok: baked vault-agent.hcl has EXACTLY one auto_auth method (edge#275) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.178265408-05:00 ok: baked vault-agent bootstrap gate holds the agent until AppRole creds exist [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.179574682-05:00 ok: roles/pki removes the bootstrap gate at converge (supersede pattern, #184-style) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.180911795-05:00 ok: baked vault-agent.service orders on /data (no nofail race) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.180929995-05:00 ok: vault-agent.service enabled via baked wants symlink [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.180958895-05:00 ok: baked + enabled: pki-renew-client.timer [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.180981905-05:00 ok: baked + enabled: pki-renew-sshhost.timer [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.182293659-05:00 ok: roles/pki sources the baked vault-agent unit (SSOT #367) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.182357369-05:00 ok: baked ctmpl present: client-cert.ctmpl [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.182364449-05:00 ok: baked ctmpl present: client-key.ctmpl [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.182366969-05:00 ok: baked ctmpl present: ssh-host-cert.ctmpl [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.182379239-05:00 ok: baked ctmpl present: ssh-user-ca.ctmpl [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.183557023-05:00 ok: client-cert.ctmpl derives the CN at render time (hostname-agnostic, bakeable) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.184691228-05:00 ok: client-key.ctmpl derives the CN at render time (hostname-agnostic, bakeable) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.188419511-05:00 ok: client cert+key ctmpl secret calls are byte-identical (dedup -> matched pair) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.189654266-05:00 ok: client-cert.ctmpl carries no comment lines (comments would leak into the rendered PEM) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.190957200-05:00 ok: roles/pki sources the baked ctmpl files (SSOT #367) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.192440343-05:00 ok: vault-agent user baked via sysusers.d (exists before tmpfiles/unit) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.193929586-05:00 ok: baked docker daemon.json routes Hub pulls through Nexus (storeminder#50) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.195381319-05:00 ok: roles/runtime sources the baked daemon.json (SSOT #367) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.196704173-05:00 ok: vault-agent renders the docker registry cred to tmpfs (edge#558) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.198887883-05:00 ok: docker config ctmpl builds the auths block from Vault (edge#558) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.200096588-05:00 ok: docker registry cred is Vault-sourced, not baked (edge#558) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.201536181-05:00 ok: storeminder-container@ pull unit points DOCKER_CONFIG at the vault-agent sink (edge#558) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.202676396-05:00 ok: storeminder-collector pull unit points DOCKER_CONFIG at the vault-agent sink (edge#558) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.204454708-05:00 ok: root docker default config symlinks to the vault-agent render (edge#558 follow-up) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.205693002-05:00 ok: login shells default DOCKER_CONFIG to the vault-agent sink (edge#558 follow-up) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.207635093-05:00 ok: baked node-exporter args carry the textfile collector dir [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.208917088-05:00 ok: roles/observability sources the baked node-exporter args (SSOT #367) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.208953277-05:00 ok: dispatcher base-config.yaml baked (FORMULA defaults for #458) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.242970402-05:00 ok: base-config.yaml parses as YAML [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.244314456-05:00 ok: build-golden bakes the plymouth theme + initramfs (edge#348/#454) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.245515810-05:00 ok: mender-convert.cfg installs the configure add-on (edge#450) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.247275392-05:00 ok: dispatcher entry symlinked into mender-configure apply-device-config.d [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.249209883-05:00 ok: post-apply selftest gate symlinked after the render entry (edge#457) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.250593757-05:00 ok: boot re-apply sets SELFTEST_GATE_SKIP=1 (never gate a mid-boot replay of accepted config; edge#457/#407) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.252246669-05:00 ok: /var/lib/mender-configure symlinked to persistent /data [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.253700183-05:00 ok: baked tmpfiles creates /data/mender-configure (configure module aborts on symlink-without-dir) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.255002317-05:00 ok: boot re-render unit runs mender-configure --apply-only (deb ships no boot unit) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.257709744-05:00 ok: config-apply ordered after data.mount, before the /run-sink consumers [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.258977609-05:00 ok: config-apply gated on a persisted config (never-configured box skips cleanly) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.259014768-05:00 ok: config-apply enabled via baked wants symlink [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.260289333-05:00 ok: smcfgd merges the baked base-config (schema < base < delivered) (edge#454) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.263144139-05:00 ok: no tests/*.sh sets pipefail (edge#531 gate-on-the-gate) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.267327930-05:00 ok: single toolchain pin present: MENDER_ARTIFACT_VERSION=3.11.2 (ci/toolchain-pins.env, edge#556) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.278394310-05:00 ok: MENDER_ARTIFACT_VERSION defined in exactly one place (no toolchain-pin drift) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.279717884-05:00 ok: toolchain-pin assertion lib present + defines require_mender_artifact_version (ci/lib/mender-artifact-version.sh) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.342998954-05:00 ok: no gate greps mender-artifact read human text -- gates assert artifact structure (edge#556) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.408127927-05:00 ok: every gate that runs mender-artifact sources the toolchain-pin assertion (edge#556) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.494092213-05:00 ok: tests/mender-artifact-toolchain-pin.sh passes (assertion fires on drift + structure-verify recovers name/type, edge#556) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.496855031-05:00 ok: overlay usr/local/sbin/edge-netprofile parses + executable (#573/#564) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.499607158-05:00 ok: overlay usr/local/sbin/edge-wifi parses + executable (#573/#564) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.501995037-05:00 ok: overlay opt/storeminder/wifi-uplink.sh parses + executable (#573/#564) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.502049177-05:00 ok: overlay present: storeminder-firstboot-netprofile.service (#573) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.502072987-05:00 ok: storeminder-firstboot-netprofile.service enabled via multi-user.target.wants (#573) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.502091797-05:00 ok: overlay present: storeminder-wifi-uplink.service (#573) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.502103857-05:00 ok: storeminder-wifi-uplink.service enabled via multi-user.target.wants (#573) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.503949768-05:00 ok: wifi-uplink.service ConditionPathExists-gates on /data/wifi/uplink.conf (#573) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.505860819-05:00 ok: storeminder-firstboot-netprofile.service ordered Before=firstboot-mesh (#573/#411) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.507719821-05:00 ok: storeminder-wifi-uplink.service ordered Before=firstboot-mesh (#573/#411) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.508965965-05:00 ok: baked 10-storeminder-dhcp.network still RouteMetric=100 (wired-primary unchanged, #573) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.510184630-05:00 ok: baked 20-storeminder-wifi.network still RouteMetric=600 (wired-primary unchanged, #573) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.739710750-05:00 ok: ci/test-edge-netprofile.sh passes (#573/#564) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.871137869-05:00 ok: ci/test-edge-wifi-persist.sh passes (#573/#564) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.889957313-05:00 ok: ci/test-netprofile-units.sh passes (#573/#564) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.933808663-05:00 ok: ci/test-edge-wifi.sh passes (#573/#564) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.936505850-05:00 ok: overlay usr/local/sbin/edge-ladder parses + executable (#576) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.939074208-05:00 ok: overlay usr/local/sbin/edge-setup parses + executable (#576) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.940884390-05:00 ok: edge-ladder two-way is a real round-trip (never tailscale ping) (#283/#576) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:03.942127635-05:00 ok: edge-ladder reuses the shared MESH_PROBE_ENDPOINTS two-way probe (one definition, #577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:09.081722838-05:00 ok: ci/test-edge-ladder.sh passes (#576) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:09.530875644-05:00 ok: ci/test-edge-setup.sh passes (#576) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:14.370550424-05:00 ok: ci/test-edge-setup-portal.sh passes (#574) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.642286985-05:00 ok: ci/test-edge-netd.sh passes (#574) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.643919928-05:00 ok: overlay opt/storeminder/mesh-two-way-probe.sh parses + executable (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.645170372-05:00 ok: overlay opt/storeminder/firstboot-uplink.sh parses + executable (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.646263587-05:00 ok: overlay opt/storeminder/healthgate-uplink-check.sh parses + executable (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.646305057-05:00 ok: overlay present: storeminder-firstboot-uplink.service (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.646339547-05:00 ok: overlay present: storeminder-uplink-setup-retry.timer (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.646358077-05:00 ok: overlay present: storeminder-uplink-setup-retry.service (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.646364017-05:00 ok: storeminder-firstboot-uplink.service enabled via multi-user.target.wants (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.646398256-05:00 ok: storeminder-uplink-setup-retry.timer enabled via timers.target.wants (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.648065349-05:00 ok: storeminder-firstboot-uplink.service ordered Before=firstboot-mesh (#579/#411) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.649885060-05:00 ok: storeminder-firstboot-uplink.service ordered After=wifi-uplink (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.651641952-05:00 ok: storeminder-wifi-uplink.service ordered Before=firstboot-uplink (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.653561464-05:00 ok: storeminder-uplink-setup-retry.service ConditionPathExists-gates on the setup-needed marker (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.654744598-05:00 ok: ArtifactCommit_Enter_10_healthgate composes the wifi-primary two-way-mesh leg (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.654762188-05:00 ok: roles/selftest/tasks/tiers/wifi.yml present (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.655938073-05:00 ok: wifi tier is in the default selftest_tiers chain (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.655964903-05:00 ok: provisioner/payload/wifi-uplink.conf.tmpl present (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.657011798-05:00 ok: rendered wifi-uplink.conf is git-ignored (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:15.699975641-05:00 ok: tests/mesh-two-way-probe.sh passes (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:17.880364035-05:00 ok: tests/firstboot-uplink.sh passes (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:19.984174257-05:00 ok: tests/healthgate-uplink-check.sh passes (#579) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:19.987117474-05:00 ok: overlay edge-commit parses + executable (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:19.989954171-05:00 ok: overlay Download_Enter_00_config_txn_interlock parses + executable (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:19.992801548-05:00 ok: overlay ArtifactCommit_Leave_00_config_txn_release parses + executable (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:19.995146367-05:00 ok: overlay ArtifactRollback_Enter_00_config_txn_release parses + executable (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:19.997821105-05:00 ok: overlay ArtifactFailure_Enter_00_config_txn_release parses + executable (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:19.999885645-05:00 ok: config-txn interlock sorts before slot-marker in Download_Enter (aborts cleanly, #577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:19.999966155-05:00 ok: overlay present: storeminder-edge-commit-watch.service (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:19.999977695-05:00 ok: overlay present: storeminder-edge-commit-watch.timer (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:19.999984475-05:00 ok: overlay present: storeminder-edge-commit-resume.service (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.000020305-05:00 ok: storeminder-edge-commit-watch.timer enabled via timers.target.wants (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.001765447-05:00 ok: watch timer re-fires on a cadence (OnUnitActiveSec) -- auto-revert re-armed forever (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.001792547-05:00 ok: storeminder-edge-commit-resume.service enabled via multi-user.target.wants (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.003561749-05:00 ok: storeminder-edge-commit-watch.service ConditionPathExists-gates on a pending txn (idle no-op) (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.005580889-05:00 ok: storeminder-edge-commit-resume.service ConditionPathExists-gates on a pending txn (idle no-op) (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.007287322-05:00 ok: resume ordered Before=firstboot-mesh (re-arm before the mesh rides the candidate) (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.009004514-05:00 ok: resume ordered After=firstboot-netprofile (candidate already applied) (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.012302458-05:00 ok: single two-way-mesh probe: edge-commit AND the #521 healthgate leg both reference mesh-two-way-probe.sh (#577/#579 no drift) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.014175310-05:00 ok: edge-commit MESH_PROBE_BIN defaults to the baked canonical probe (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.015277535-05:00 ok: edge-rootfs-lint allowlists /data/commit as runtime state (#456/#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.016351320-05:00 ok: roles/base reasserts edge-commit from image/overlay (single source, #367/#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.018530240-05:00 ok: roles/base reasserts + enables the edge-commit watchdog/resume units (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:20.019565265-05:00 ok: roles/mender installs the OTA<->config interlock state scripts (#577) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.124622361-05:00 FAIL: tests/edge-commit.sh FAILED: [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125807296-05:00 == uplink rider: stage -> confirm(green) -> PROMOTE == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125820736-05:00 FAIL stage uplink returns a txn-id (expected rc=0 got 2) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125825776-05:00 FAIL stage stdout is not a clean txn-id (log narration leaked to stdout?): [] [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125830696-05:00 FAIL stage --json stdout not clean JSON: [] [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125834626-05:00 grep: /tmp/tmp.Z04cAeCkyW/d1/wifi/uplink.conf.good: No such file or directory [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125838646-05:00 FAIL good not seeded from old creds [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125842566-05:00 FAIL candidate not applied live [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125846466-05:00 grep: /tmp/tmp.Z04cAeCkyW/d1/wifi/uplink.conf.good: No such file or directory [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125850276-05:00 FAIL promote did not advance good [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125854136-05:00 FAIL txn not cleared after promote [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125857976-05:00 == uplink rider: stage -> confirm(red)+window-expired -> REVERT + RE-ARM == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125861746-05:00 FAIL candidate not applied [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125865616-05:00 PASS tick(red,expired): auto-REVERTED to last-known-good [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125869456-05:00 FAIL txn not cleared after revert [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125873296-05:00 FAIL stage succeeds AGAIN right after a revert (re-armable forever, no one-shot disarm) (expected rc=0 got 2) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125877196-05:00 grep: /tmp/tmp.Z04cAeCkyW/d2/wifi/uplink.conf.good: No such file or directory [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125881056-05:00 FAIL second txn did not promote [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125884816-05:00 == power-pull mid-confirm: reboot re-arms window, resolves after boot (no orphan) == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125888626-05:00 FAIL txn orphaned/lost across reboot [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125892456-05:00 FAIL candidate lost across reboot [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125896216-05:00 FAIL reverted prematurely on a stale deadline [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125900026-05:00 FAIL did not confirm after reboot [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125904096-05:00 == netprofile rider: staged flip applies via edge-netprofile + mesh-gated == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125907906-05:00 FAIL netprofile candidate not applied [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125911735-05:00 grep: /tmp/tmp.Z04cAeCkyW/d4/netprofile.good: No such file or directory [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125915515-05:00 FAIL netprofile good not seeded [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125919325-05:00 FAIL edge-netprofile apply not invoked [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125923145-05:00 grep: /tmp/tmp.Z04cAeCkyW/d4/netprofile.good: No such file or directory [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125926945-05:00 FAIL netprofile did not promote [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125941235-05:00 == wired-env rider: NOT mesh-gated -- applies + dataplane-reports + promotes == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125944015-05:00 FAIL wired.env candidate not applied [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125946605-05:00 grep: /tmp/tmp.Z04cAeCkyW/d5/net/wired.env.good: No such file or directory [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125949545-05:00 FAIL wired-env did not promote (must not be mesh-gated) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125952145-05:00 == single transaction in flight: a second stage is refused == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125954725-05:00 FAIL second stage refused while a txn is pending (expected rc=1 got 2) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125957275-05:00 FAIL refusal message unclear [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125959825-05:00 == resume GCs a stale OTA lease (interrupted download, upgrade_available=0) == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125962445-05:00 FAIL stale OTA lease not GC'd [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125965065-05:00 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.125967675-05:00 edge-commit tests: 1 passed, 24 failed [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.241319347-05:00 FAIL: tests/edge-commit-interlock.sh FAILED: [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242619111-05:00 == DoD 1: install refused during a pending config transaction == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242633141-05:00 FAIL could not create a pending txn [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242638381-05:00 FAIL Download_Enter interlock ABORTS the deployment while the config txn is pending (expected rc=1 got 0) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242642401-05:00 FAIL OTA lease taken despite refusal [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242646221-05:00 FAIL refusal message unclear [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242650501-05:00 == DoD 1b: once the txn resolves, the deployment is allowed + takes the lease == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242656381-05:00 FAIL txn not resolved [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242660341-05:00 PASS Download_Enter now permits the deployment (rc=0) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242664181-05:00 PASS Download_Enter took the OTA lease (config staging now blocked) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242667941-05:00 == DoD 2: stage refused while a Mender deployment is uncommitted == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242671861-05:00 FAIL edge-commit stage refused while the OTA lease is held (deployment in progress) (expected rc=1 got 2) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242675611-05:00 FAIL lease-refusal message unclear [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242679411-05:00 FAIL edge-commit stage refused while upgrade_available=1 (uncommitted A/B slot) (expected rc=1 got 2) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242683211-05:00 FAIL upgrade_available-refusal message unclear [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242686981-05:00 == DoD 3: terminal-state scripts release the lease, re-enabling staging == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242690751-05:00 PASS COMMIT release script exits 0 (rc=0) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242694571-05:00 PASS COMMIT release script cleared the OTA lease [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242698351-05:00 FAIL staging is allowed again after the COMMIT release (expected rc=0 got 2) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242702121-05:00 PASS ROLLBACK release script exits 0 (rc=0) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242705861-05:00 PASS ROLLBACK release script cleared the OTA lease [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242709591-05:00 FAIL staging is allowed again after the ROLLBACK release (expected rc=0 got 2) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242713351-05:00 PASS FAILURE release script exits 0 (rc=0) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242717141-05:00 PASS FAILURE release script cleared the OTA lease [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242720941-05:00 FAIL staging is allowed again after the FAILURE release (expected rc=0 got 2) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242732951-05:00 == defensive: Download_Enter is fail-OPEN when edge-commit is absent == [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242736011-05:00 PASS a golden predating edge-commit never blocks OTA delivery (no config txn possible) (rc=0) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242738651-05:00 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.242741331-05:00 edge-commit-interlock tests: 9 passed, 12 failed [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.245193370-05:00 ok: overlay usr/local/sbin/edge-dataplane-test parses + executable (#578) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.247482449-05:00 ok: overlay usr/local/sbin/edge-collector-check parses + executable (#578) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.248721883-05:00 ok: edge-dataplane-test binds the POS probe strictly to the wire (SO_BINDTODEVICE, #578) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.249758759-05:00 ok: edge-collector-check emits a distinct PARTIAL (never fake-green without a real collect, #578/sm#1042) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.251890389-05:00 ok: edge-collector-check delegates to the collector's bounded --verify, gated on the image capability label (edge#585) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.252988284-05:00 ok: edge-netprofile renders DuplicateAddressDetection=ipv4 on the wired static (ACD, #578) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.253986239-05:00 ok: mender-inventory-wired parses + executable (#578/fleet#28) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.255688772-05:00 ok: mender-inventory-wired reports wired_mac (feeds the MNSP NOC ticket, fleet#28) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.256755927-05:00 ok: mender-inventory-uplink parses + executable (#592/fleet#28) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.259445354-05:00 ok: mender-inventory-uplink reports uplink_mode (the wifi-primary group key, sm#1040) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.261735244-05:00 ok: selftest 'dataplane' tier registered (tier file + manifest + wrapper OPT_TIERS, #578) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:22.602962112-05:00 ok: ci/test-edge-dataplane-test.sh passes (#578) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:23.018922998-05:00 ok: ci/test-edge-collector-check.sh passes (#578) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:23.123747529-05:00 ok: ci/test-mender-inventory-uplink.sh passes (#578) [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:23.123778288-05:00 [pod/edge-main-validate-c4l98-lint-pod/step-lint] 2026-08-19T13:38:23.123784558-05:00 edge-image-lint: FAILED ===== edge-main-validate-c4l98-post-check-pod.log ===== [pod/edge-main-validate-c4l98-post-check-pod/place-scripts] 2026-08-19T13:40:12.896432569-05:00 2026/08/19 18:40:12 Decoded script /tekton/scripts/script-0-qj7j5 [pod/edge-main-validate-c4l98-post-check-pod/step-post-check] 2026-08-19T13:40:17.060376375-05:00 Installing PyJWT + cryptography + requests… [pod/edge-main-validate-c4l98-post-check-pod/prepare] 2026-08-19T13:40:12.512046616-05:00 2026/08/19 18:40:12 Entrypoint initialization ===== edge-main-validate-c4l98-post-check-resolve-pod.log ===== [pod/edge-main-validate-c4l98-post-check-resolve-pod/place-scripts] 2026-08-19T13:40:12.905609927-05:00 2026/08/19 18:40:12 Decoded script /tekton/scripts/script-0-wrbsr [pod/edge-main-validate-c4l98-post-check-resolve-pod/step-post-check] 2026-08-19T13:40:17.065255243-05:00 Installing PyJWT + cryptography + requests… [pod/edge-main-validate-c4l98-post-check-resolve-pod/prepare] 2026-08-19T13:40:11.942404614-05:00 2026/08/19 18:40:11 Entrypoint initialization ===== edge-main-validate-c4l98-post-check-selftest-pod.log ===== [pod/edge-main-validate-c4l98-post-check-selftest-pod/prepare] 2026-08-19T13:40:13.328315543-05:00 2026/08/19 18:40:13 Entrypoint initialization [pod/edge-main-validate-c4l98-post-check-selftest-pod/place-scripts] 2026-08-19T13:40:14.032742565-05:00 2026/08/19 18:40:14 Decoded script /tekton/scripts/script-0-wxdwg ===== edge-main-validate-c4l98-reclaim-workspace-pod.log ===== [pod/edge-main-validate-c4l98-reclaim-workspace-pod/prepare] 2026-08-19T13:40:13.458126197-05:00 2026/08/19 18:40:13 Entrypoint initialization [pod/edge-main-validate-c4l98-reclaim-workspace-pod/place-scripts] 2026-08-19T13:40:14.041598374-05:00 2026/08/19 18:40:14 Decoded script /tekton/scripts/script-0-ffnmj [pod/edge-main-validate-c4l98-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-19T13:40:17.361000093-05:00 ==> reclaiming workspace PVC(s) owned by PipelineRun=edge-main-validate-c4l98 in ns=tekton-pipelines [pod/edge-main-validate-c4l98-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-19T13:40:17.539374373-05:00 ==> deleting PVC pvc-7424cb7a9a (5Gi) [pod/edge-main-validate-c4l98-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-19T13:40:17.614710617-05:00 persistentvolumeclaim "pvc-7424cb7a9a" deleted [pod/edge-main-validate-c4l98-reclaim-workspace-pod/step-delete-run-pvcs] 2026-08-19T13:40:17.617354684-05:00 ==> requested deletion of 1 run-owned PVC(s) ===== edge-main-validate-c4l98-resolve-pod.log ===== [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:08.520070961-05:00 note: resolving surface: bootdisk [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:12.986641969-05:00 ok: bootdisk: closure resolves -- 245 packages [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:12.990078483-05:00 ok: bootdisk: firmware-* resolves from bookworm-backports (pin bites) [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:12.994190934-05:00 ok: bootdisk: closure matches committed snapshot [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:12.995391729-05:00 note: resolving surface: installer [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:16.409893312-05:00 ok: installer: closure resolves -- 138 packages [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:16.413662354-05:00 ok: installer: closure matches committed snapshot [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:16.414471711-05:00 note: resolving surface: converged [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:20.357357420-05:00 ok: converged: closure resolves -- 214 packages [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:20.359443340-05:00 ok: converged: mender-client4 resolves to 5.x (5.1.0-1+debian+bookworm) -- matches the golden [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:20.363206463-05:00 ok: converged: closure matches committed snapshot [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:20.364240948-05:00 [pod/edge-main-validate-c4l98-resolve-pod/step-resolve] 2026-08-19T13:37:20.364249238-05:00 edge-pkg-resolve: all surfaces resolve + match [pod/edge-main-validate-c4l98-resolve-pod/prepare] 2026-08-19T13:37:01.912834649-05:00 2026/08/19 18:37:01 Entrypoint initialization [pod/edge-main-validate-c4l98-resolve-pod/place-scripts] 2026-08-19T13:37:03.135029177-05:00 2026/08/19 18:37:03 Decoded script /tekton/scripts/script-0-45wmj ===== edge-main-validate-c4l98-selftest-validate-pod.log ===== [pod/edge-main-validate-c4l98-selftest-validate-pod/prepare] 2026-08-19T13:37:02.760891682-05:00 2026/08/19 18:37:02 Entrypoint initialization [pod/edge-main-validate-c4l98-selftest-validate-pod/place-scripts] 2026-08-19T13:37:03.140734520-05:00 2026/08/19 18:37:03 Decoded script /tekton/scripts/script-0-ggd4q [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:08.517385253-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:08.517436983-05:00 == scripts on PATH + executable == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:08.519650773-05:00 ok: scripts/edge-selftest.sh: has shebang [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:08.521912233-05:00 warn: scripts/edge-selftest.sh: not tracked by git but +x on disk [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:08.526205063-05:00 ok: scripts/edge-selftest.sh: bash -n clean [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.373574838-05:00 ok: scripts/edge-selftest.sh: shellcheck clean [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.379939299-05:00 ok: scripts/edge-selftest.sh: runs (--help exit 0) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.381201554-05:00 ok: scripts/edge-selftest: has shebang [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.382911096-05:00 warn: scripts/edge-selftest: not tracked by git but +x on disk [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.385286615-05:00 ok: scripts/edge-selftest: bash -n clean [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.504166223-05:00 ok: scripts/edge-selftest: shellcheck clean [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.508434923-05:00 ok: scripts/edge-selftest: runs (--help exit 0) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.510573784-05:00 ok: roles/selftest installs to a PATH dir: /usr/local/sbin/edge-selftest [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.511988497-05:00 ok: roles/selftest copies the script to {{ selftest_bin }} [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.512006787-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.512012417-05:00 == console login hooks (profile.d) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.514399266-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: bash -n clean [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.542803987-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: shellcheck clean [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.544437799-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: no bare exit (comments excluded) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.545568254-05:00 ok: image/overlay/etc/profile.d/01-edge-console-record.sh: guards non-interactive shells ($-) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.548227202-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: bash -n clean [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.588105070-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: shellcheck clean [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.589590473-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: no bare exit (comments excluded) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.590704238-05:00 ok: image/overlay/etc/profile.d/zz-edge-selftest.sh: guards non-interactive shells ($-) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.591859313-05:00 ok: banner: EDGE_SELFTEST_NOLOGIN opt-out present [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.593218197-05:00 ok: banner: disable-file opt-out present [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.594373481-05:00 ok: recorder: EDGE_CONSOLE_NORECORD opt-out present [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.595728035-05:00 ok: recorder: disable-file opt-out present [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.598133264-05:00 ok: EDGE_CONSOLE_RECORDING marker shared by recorder + banner [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.598189254-05:00 ok: serial console autologin overlay present (image/overlay/etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.602762413-05:00 ok: banner report dir matches role selftest_report_dir (/var/log/edge-selftest) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:09.615331796-05:00 ok: tests/selftest-login.sh passes [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:38.401370612-05:00 ok: tests/selftest-report-contract.sh passes [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:38.621864095-05:00 ok: tests/selftest-login-pty.sh passes [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:38.791182611-05:00 ok: tests/selftest-wrapper.sh passes [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:38.903860496-05:00 ok: tests/console-record.sh passes [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:39.308907206-05:00 ok: tests/selftest-firmware-fixtures.sh passes [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:37:41.393190786-05:00 ok: tests/selftest-firmware-e2big.sh passes [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:02.141477689-05:00 ok: tests/selftest-converge-defer.sh passes [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:04.591761524-05:00 ok: tests/selftest-verify-keys-exist.sh passes [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:04.666338103-05:00 ok: tests/vault-agent-template-render.sh passes [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:04.667583937-05:00 ok: image/overlay/usr/local/sbin/edge-selftest matches scripts/edge-selftest (v2 wrapper) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:04.669401669-05:00 warn: image/overlay/usr/local/sbin/edge-selftest: no git metadata (CI workspace) but +x on disk [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:04.669412539-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:04.669417319-05:00 == ansible packaged + works locally == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:04.670548233-05:00 ok: image/packages.list declares ansible-core (baked into the golden) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:04.671727228-05:00 ok: image/packages.list declares python3 (baked into the golden) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:04.672865943-05:00 ok: image/packages.list declares git (baked into the golden) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:04.975205840-05:00 ok: ansible present: ansible [core 2.21.2] [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.428479647-05:00 ok: ansible executes a module over the local connection [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.428514427-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.428519377-05:00 == playbooks: valid YAML + valid playbook syntax == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.459600555-05:00 ok: YAML parses: selftest.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.491370310-05:00 ok: YAML parses: selftest-release-gate.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.522208819-05:00 ok: YAML parses: roles/selftest/tasks/main.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.555931784-05:00 ok: YAML parses: roles/selftest/tasks/detect.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.595110065-05:00 ok: YAML parses: roles/selftest/tasks/native.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.635981298-05:00 ok: YAML parses: roles/selftest/defaults/main.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.681462050-05:00 ok: YAML parses: roles/selftest/tasks/tiers/boot.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.719443227-05:00 ok: YAML parses: roles/selftest/tasks/tiers/net.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.762296991-05:00 ok: YAML parses: roles/selftest/tasks/tiers/firmware.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.796205646-05:00 ok: YAML parses: roles/selftest/tasks/tiers/dns.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.841719377-05:00 ok: YAML parses: roles/selftest/tasks/tiers/mesh.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.908833960-05:00 ok: YAML parses: roles/selftest/tasks/tiers/converge.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:05.953585186-05:00 ok: YAML parses: roles/selftest/tasks/tiers/metrics.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:06.002023384-05:00 ok: YAML parses: roles/selftest/tasks/tiers/logs.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:06.048280563-05:00 ok: YAML parses: roles/selftest/tasks/tiers/wifi.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:06.410984414-05:00 warn: yamllint findings (non-fatal): [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:06.412608006-05:00 roles/selftest/tasks/tiers/boot.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:06.412631626-05:00 364:31 error trailing spaces (trailing-spaces) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:06.412636536-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:06.888353420-05:00 ok: ansible-playbook --syntax-check OK: selftest.yml [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:06.888489100-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:06.888496620-05:00 == site/role targeting groups (#247) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:08.723311027-05:00 ok: tests/site-role-groups.sh passes (subset-targeting contract, #247) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:08.723430477-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:08.723437127-05:00 == pki first-boot cert dirs (#334) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:08.793647636-05:00 ok: tests/pki-firstboot-cert-dirs.sh passes (bare-box cert-render contract, #334) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:08.793674936-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:08.793679866-05:00 == pki AppRole steady-state auth switch (#387) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:08.879438923-05:00 ok: tests/pki-approle-switch.sh passes (approle steady-state, cert retired, #387) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:08.879460203-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:08.879464883-05:00 == selftest boot tier: masked-unit gating (#399) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:10.216776796-05:00 ok: tests/selftest-boot-masked-units.sh passes (masked units excluded from failed_units, #399) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:10.216919535-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:10.216939075-05:00 == A/B slot completeness markers (edge#520/#484) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:10.830911077-05:00 ok: tests/slot-marker-completeness.sh passes (rollback completeness-marker contract, edge#520/#484) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:10.830949057-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:10.830957027-05:00 == synchronous first-boot converge (#356) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:16.978995869-05:00 ok: tests/firstboot-converge.sh passes (sync converge before readiness, #356) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:16.979018269-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:16.979025419-05:00 == active-firmware prompt (#361) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:17.002834270-05:00 ok: tests/firmware-prompt.sh passes (prompt reflects active firmware, #361) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:17.002893040-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:17.002898980-05:00 == per-container metrics collector (#395) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:17.072921689-05:00 ok: tests/container-metrics.sh passes (per-container metrics contract, #395) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:17.073009909-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:17.073017759-05:00 == config dispatcher: KNOWLEDGE k/v -> service configs (edge#458, retire-converge #449) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:19.366526544-05:00 ok: storeminder-config provisioned from Nexus PyPI (storeminder-config==0.1.6) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:21.168903205-05:00 ok: tests/config-dispatcher.sh passes (#884 shape, cron->OnCalendar, sts creds, forward-skew, validation gate, Mender exit-code contract) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:23.218801533-05:00 ok: tests/selftest-gate.sh passes (post-apply health gate: ordering, rollback teeth, timeout bound, skip semantics; edge#457) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:23.218838653-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:23.218844033-05:00 == manifest-driven S3 uploader units (edge#451, retire-converge #449) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:23.365010854-05:00 ok: tests/s3-uploader.sh passes (unit wiring, seam agreement, skip ladder, rclone flow, converge yield) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:23.365128684-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:23.365134334-05:00 == collector config seam (edge#478, retire-converge #449) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:24.501011735-05:00 ok: tests/collector-config.sh passes (config round-trip, skip-when-absent, oneshot no-reload, no-secret-in-world-readable-sink) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:24.501768411-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:24.501777121-05:00 == selftest logs round-trip tier (edge#394) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:40.795232425-05:00 ok: tests/selftest-logs-roundtrip.sh passes (emit->ship->index->confirm contract, edge#394) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:40.795362375-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:38:40.795368725-05:00 == selftest release gate (edge#504) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:39:27.714435252-05:00 ok: tests/selftest-release-gate.sh passes (round-trip escalation is a release blocker, edge#504) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:39:27.714487872-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:39:27.714519961-05:00 == hermetic obs round-trip fixture (edge#506) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:40:09.539025192-05:00 ok: tests/selftest-obs-fixture.sh passes (obs fixture + shape helpers + round-trip wiring, edge#506) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:40:09.539044672-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:40:09.539058872-05:00 == setup narrative + failure signatures (edge#421) == [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:40:09.607033510-05:00 ok: tests/setup-log.sh passes (narrative primitive contract, edge#421) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:40:09.805023650-05:00 ok: tests/setup-diagnose.sh passes (failure-signature catalogue, edge#421) [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:40:09.805212149-05:00 [pod/edge-main-validate-c4l98-selftest-validate-pod/step-selftest-validate] 2026-08-19T13:40:09.805219459-05:00 edge-selftest-lint: all checks passed