"pin_file":"ops/k8s/profiles/kind-images.json (written by ops/ax/up.sh; the templates re-pinned to it, 128 image lines)"
},
"instrument_checks":{
"code_under_test":"PYTHONPATH=<worktree>/src first; `python -c 'import openultrasast; print(openultrasast.__file__)'` printed the worktree path before every gate",
"store_reached":{
"how":"scratch store_probe.py: open_store('s3://sast-memory') through the worktree code (verify_bucket runs), then read the probe object",
"[ok] runner image in <kind registry>: ousast-runner@sha256:95edc7ed5621... present",
"[ok] memory store s3://sast-memory: opens (an S3 bucket is verified)"
],
"file":"doctor-kind.txt"
},
"k3s":{
"command":"ousast plane doctor --profile k3s",
"exit":1,
"seconds":1.1,
"failing_lines":[
"cluster ousast-k3s: context does not exist (expected: the cluster does not exist yet)",
"runner image in ghcr.io/norandom: images file ops/k8s/profiles/images.json missing (expected: the release asset is published by task 4.1)"
],
"passing_lines":["profile k3s: every address reported","memory store s3://sast-memory: opens"],
"note":"two expected failures, not one: the images file is the release asset and does not exist before group 4; the namespaces are not checked behind an unreachable context, so no third line fails for the same cause",
"kept":["cluster","substrate","egress gateway","ax control plane","worker pool ousast-pool (2/2 ready)","ax CLI (newer than the checkout)"],
"done":["receiver Service re-applied","runner image rebuilt and pushed (new digest above)","kind-images.json written","smoke Task applied and resumed"],
"first_attempt_failure":"`profile --print images` answered `no image named ''`; fixed in profile._lookup (an images path with no sub-key is the file path) and covered by test_plane_profile",
"disk_gb_free_before_after":[1.7,1.5],
"file":"up-sh-rerun.txt"
},
"smoke_run_1_4":{
"command":"ops/ax/smoke-run.sh (receiver delivery: the path group 2 replaces)",
"exit":0,
"seconds":24,
"status":"done",
"delivered":"facts.json 451 B, summary.json 238 B, units.jsonl 291 B; summary.image = the new digest, units 2/2",
"file":"smoke-run-1.4.txt"
},
"placement_probe_1_5":{
"script":"ops/ax/probe-placement.sh",
"pools":{"ousast-pool":"scaled to 1 worker, 1 CPU / 1536Mi","probe-pool":"1 worker, 2 CPU / 3Gi, the already-built ateom-gvisor image (no ko build)"},
"consequence":"design.md section 4: group 5 takes the fallback (an engine atespace with engine-pool as its only pool if Substrate scopes pools by atespace; else a plain Kubernetes Job on k3s and alerts-engine on kind)",
"resume_latency_seconds":"first resume of each new template succeeded at once (golden snapshot built within the resume deadline); whole probe 46 s",
"cleanup":"probe tasks deleted, probe-pool deleted, ousast-pool back to 2/2 (verified by kubectl get workerpool)",
"added_by_1_2":"the profile parameter of run() and its docstring (+12)",
"estimate_2_4":"Delivery wiring: open the store, build Delivery, pass the delivery body to the starter, delivered() and collect() in the await/execute path, state mirroring, the OUSAST_DELIVERY=receiver switch: about +25 while the receiver is kept (group 2 keeps both paths), about -20 when 2.6 removes the receiver wiring",
"projected_during_group_2":514,
"projected_after_2_6":494,
"decision":"the estimate crosses 500 while both paths coexist: task 2.4 moves the bound in tests/test_plane_reconciler.py to 550 with the reason in the assertion message, and 2.6 records the final count"
},
"gvisor_tarball_1_7":{
"status":"planned, manual",
"where":"docs/deployment.md B.1",
"url":"gs://gvisor/releases/nightly/2026-09-02/<arch>/gvisor.tar.zstd (sha256-pinned in substrate/manifests/ate-install/sandboxconfig-gvisor.yaml)",
"check":"the atelet's fetch line in `kubectl -n ate-system logs` of a worker pod on the k3s node; labelled planned until read there"