diff --git a/.kiro/specs/plane-on-kubernetes/tasks.md b/.kiro/specs/plane-on-kubernetes/tasks.md index 7013a6c..d963101 100644 --- a/.kiro/specs/plane-on-kubernetes/tasks.md +++ b/.kiro/specs/plane-on-kubernetes/tasks.md @@ -61,7 +61,7 @@ go-ahead** with a ceiling; steps that need a hand on a cluster that does not exi or a mirrored copy named in a copied SandboxConfig; the check is `kubectl -n ate-system logs` of the worker pod's atelet fetch line, run by hand on the day k3s exists. Labelled planned until then. - _Requirements: 7.2_ -- [ ] 1.8 Kind proof and record 01 +- [x] 1.8 Kind proof and record 01 - `ousast plane doctor --profile kind` passes every line; `ousast plane doctor --profile k3s` fails only on the unreachable context (the expected line); `test_plane_literals` 0 offenders; the probe of 1.5; the bound of 1.6. - `benchmarks/measurements/-k8s-01-profile/record.json`. diff --git a/benchmarks/measurements/2026-10-02-k8s-01-profile/doctor-k3s.txt b/benchmarks/measurements/2026-10-02-k8s-01-profile/doctor-k3s.txt new file mode 100644 index 0000000..a413efd --- /dev/null +++ b/benchmarks/measurements/2026-10-02-k8s-01-profile/doctor-k3s.txt @@ -0,0 +1,5 @@ +[ok] profile k3s: exec=remote kube_context=ousast-k3s registry=ghcr.io/norandom images=/home/mc/Source/OpenUltraSAST/.claude/worktrees/agent-a7d4724e0c0c407a8/ops/k8s/profiles/images.json router_url=(tunnel through the kube context) ax_server=(tunnel through the kube context) memory=s3://sast-memory atespace=default snapshots_bucket=s3://ax-snapshots image_pull_secret=ghcr-pull +[FAIL] cluster ousast-k3s: context ousast-k3s unreachable (error: context "ousast-k3s" does not exist); docs/deployment.md lists the prerequisites +[FAIL] runner image in ghcr.io/norandom: images file /home/mc/Source/OpenUltraSAST/.claude/worktrees/agent-a7d4724e0c0c407a8/ops/k8s/profiles/images.json: No such file or directory; docs/deployment.md lists the prerequisites +[ok] memory store s3://sast-memory: s3://sast-memory opens (an S3 bucket is verified) +exit=1 seconds=1.1 diff --git a/benchmarks/measurements/2026-10-02-k8s-01-profile/doctor-kind.txt b/benchmarks/measurements/2026-10-02-k8s-01-profile/doctor-kind.txt new file mode 100644 index 0000000..10846e1 --- /dev/null +++ b/benchmarks/measurements/2026-10-02-k8s-01-profile/doctor-kind.txt @@ -0,0 +1,7 @@ +[ok] profile kind: exec=local kube_context=kind-ousast registry=localhost:5001 images=/home/mc/Source/OpenUltraSAST/.claude/worktrees/agent-a7d4724e0c0c407a8/ops/k8s/profiles/kind-images.json router_url=(tunnel through the kube context) ax_server=(tunnel through the kube context) memory=s3://sast-memory atespace=default snapshots_bucket=s3://ax-snapshots image_pull_secret=(none) +[ok] cluster kind-ousast: reachable +[ok] agent substrate (ate-system): 9 pods ready +[ok] ax controller (ax-system): 4 pods ready +[ok] runner image in localhost:5001: ousast-runner@sha256:95edc7ed5621... present in localhost:5001 +[ok] memory store s3://sast-memory: s3://sast-memory opens (an S3 bucket is verified) +exit=0 seconds=1.4 diff --git a/benchmarks/measurements/2026-10-02-k8s-01-profile/literal-reinserted-fail.txt b/benchmarks/measurements/2026-10-02-k8s-01-profile/literal-reinserted-fail.txt new file mode 100644 index 0000000..470e66f --- /dev/null +++ b/benchmarks/measurements/2026-10-02-k8s-01-profile/literal-reinserted-fail.txt @@ -0,0 +1,19 @@ +F.. [100%] +=================================== FAILURES =================================== +________ test_no_host_literal_outside_the_profile_and_the_kind_bring_up ________ + + def test_no_host_literal_outside_the_profile_and_the_kind_bring_up() -> None: + kind = load_profile("kind", environ={}) + found = offenders(_files(), kind.registry) +> assert found == [], "host-only literals (Req 1.3):\n" + "\n".join(found) +E AssertionError: host-only literals (Req 1.3): +E src/openultrasast/plane/workspaces.py:37: [kind context] CONTEXT = "kind-ousast" # reinserted for the record 01 demonstration +E assert ['src/openult...emonstration'] == [] +E +E Left contains one more item: 'src/openultrasast/plane/workspaces.py:37: [kind context] CONTEXT = "kind-ousast" # reinserted for the record 01 demonstration' +E Use -v to get more diff + +tests/test_plane_literals.py:81: AssertionError +=========================== short test summary info ============================ +FAILED tests/test_plane_literals.py::test_no_host_literal_outside_the_profile_and_the_kind_bring_up +1 failed, 2 passed in 0.26s diff --git a/benchmarks/measurements/2026-10-02-k8s-01-profile/literal-restored-pass.txt b/benchmarks/measurements/2026-10-02-k8s-01-profile/literal-restored-pass.txt new file mode 100644 index 0000000..73decde --- /dev/null +++ b/benchmarks/measurements/2026-10-02-k8s-01-profile/literal-restored-pass.txt @@ -0,0 +1,2 @@ +... [100%] +3 passed in 0.23s diff --git a/benchmarks/measurements/2026-10-02-k8s-01-profile/record.json b/benchmarks/measurements/2026-10-02-k8s-01-profile/record.json index a3a95bc..b289da2 100644 --- a/benchmarks/measurements/2026-10-02-k8s-01-profile/record.json +++ b/benchmarks/measurements/2026-10-02-k8s-01-profile/record.json @@ -10,9 +10,9 @@ "1.3": "36f5927", "1.4": "8099b29", "1.5": "86ec237", - "1.6": "see git log: plane(1.6)", - "1.7": "see git log: plane(1.7)", - "1.8": "this commit" + "1.6": "2afa20e", + "1.7": "2cca03c", + "1.8": "the commit that adds this line (git log: plane(1.8))" }, "images": { "runner_before": "localhost:5001/ousast-runner@sha256:412db0a1504af8f1b23a395af8d1dcbd152c1bb6d16594f2b733067163a31884", diff --git a/benchmarks/measurements/2026-10-02-k8s-01-profile/smoke-run-1.4.txt b/benchmarks/measurements/2026-10-02-k8s-01-profile/smoke-run-1.4.txt new file mode 100644 index 0000000..320649b --- /dev/null +++ b/benchmarks/measurements/2026-10-02-k8s-01-profile/smoke-run-1.4.txt @@ -0,0 +1,9 @@ +run finished: done +memory s3://sast-memory: ax-e2e-smoke: 0 tasks ingested, 0 already in the index; rows none +run ax-e2e-smoke: done (/tmp/claude-1000/-home-mc-Source-OpenUltraSAST/c09e30b2-39a4-4564-bc31-6ea71ffaa198/scratchpad/k8s-impl/results/plane/ax-e2e-smoke) + +TASK MODEL CALLS PROMPT CACHE-HIT OUTPUT USD +facts - 0 n/a n/a n/a n/a [done] +---------------------------------------------------------------------------------------------------- +total - n/a n/a n/a n/a n/a +smoke exit=0 seconds=24 diff --git a/benchmarks/measurements/2026-10-02-k8s-01-profile/up-sh-rerun.txt b/benchmarks/measurements/2026-10-02-k8s-01-profile/up-sh-rerun.txt new file mode 100644 index 0000000..656c4f4 --- /dev/null +++ b/benchmarks/measurements/2026-10-02-k8s-01-profile/up-sh-rerun.txt @@ -0,0 +1,58 @@ + +== kind cluster 'ousast' (context kind-ousast) + registry localhost:5001 (20:35:35) +cluster exists; kept + +== agent substrate (ate-system) (20:35:35) +substrate ready; kept +NAME READY STATUS RESTARTS AGE +ate-api-server-647bb6f8b6-c9k5k 1/1 Running 2 (12h ago) 3d +ate-api-server-647bb6f8b6-dznjn 1/1 Running 1 (12h ago) 3d +ate-controller-c95586684-g7nvn 1/1 Running 0 3d2h +atelet-4f9c293-9zpfg 1/1 Running 0 3d2h +atenet-egress-d74b8f6bf-8zmxj 1/1 Running 0 3d +atenet-router-54887bc8f9-rqs6g 2/2 Running 2 (12h ago) 3d2h +postgres-0 2/2 Running 3 (3d2h ago) 3d2h +rustfs-6c4c677cb6-cqvhc 1/1 Running 3 (3d2h ago) 3d2h +rustfs-bucket-init-nvfr6 0/1 Completed 0 3d2h + +== egress gateway (atenet-egress, agentgateway variant: one prebuilt image, nothing built) (20:35:35) +gateway present; kept + +== ax control plane (ax-system) (20:35:35) +ax ready; kept +NAME READY STATUS RESTARTS AGE +ax-redis-86df786c87-pz5tp 1/1 Running 0 3d2h +ax-server-b479bdc76-hwkqb 1/1 Running 0 3d2h +ousast-pool-6656b55f5b-5brkn 1/1 Running 0 5m23s +ousast-pool-6656b55f5b-9wbrw 1/1 Running 0 3d2h + +== artifact receiver Service (ousast-receiver.ax-system -> this host) (20:35:35) +service/ousast-receiver unchanged +endpointslice.discovery.k8s.io/ousast-receiver-host configured + +== worker pool (gVisor): pools.default of the profile (20:35:36) +pool ousast-pool exists (2/2 ready); kept +pod/ousast-pool-6656b55f5b-5brkn condition met +pod/ousast-pool-6656b55f5b-9wbrw condition met + +== runner image localhost:5001/ousast-runner (20:35:37) +sha256:f004a5ef8f71b1cb8a5880c509389c0569181af7b19170b574958cc3ef75cb1c +localhost:5001/ousast-runner:dev +runner image localhost:5001/ousast-runner@sha256:95edc7ed562189180a472df8115e6a90c8b4fcea47c06593395634bd56041bcb -> /home/mc/Source/OpenUltraSAST/.claude/worktrees/agent-a7d4724e0c0c407a8/ops/k8s/profiles/kind-images.json +re-pin the templates with: ousast plane workspaces ... --runner-image /home/mc/Source/OpenUltraSAST/.claude/worktrees/agent-a7d4724e0c0c407a8/ops/k8s/profiles/kind-images.json (or ousast plane repin, task 4.3) + +== ax CLI from the deployed checkout (a release CLI skews from the server) (20:36:05) +ax CLI newer than the checkout; kept + +== smoke task (20:36:05) +task.ax.io/ousast-smoke created +workspace.ax.io/ousast-smoke-ws unchanged +task.ax.io/ousast-smoke resumed +NAME ATESPACE PHASE ACTOR WORKER-IP AGE +ousast-smoke default Running ousast-smoke 10.244.0.29 5s + +== footprint (20:36:11) + total used free shared buff/cache available +Mem: 7877 4797 225 63 3464 3079 +kind-registry 53.77MiB / 7.693GiB 0.00% +up.sh exit 0