# Live proof Date: 2026-11-04 Hosted gateway: `https://k8s.socialweb.computer` Cluster: `knotless-poc` (hosted tenant k3s) Kubeconfig: obtained with `scripts/tenant-kubeconfig.sh`, which drives `socialweb-computer-kcp/scripts/oauth-signin.ts` with `~/.aliceoa_bsky_social_source`. The credential file and session cookie were not printed or committed. ## Run ```bash scripts/live-proof.sh ``` The Job's pod became Ready, the checkout and steps streamed in, four steps ran, `/outputs/ran.txt` streamed back, and the Job was deleted. Result: ```json { "name": "knotless-poc", "job": "knotless-poc", "namespace": "default", "pod": "knotless-poc-ldht6", "status": "success", "steps": [ {"name": "date", "status": "success", "exitCode": 0, "durationMs": 450, "timedOut": false}, {"name": "hostname", "status": "success", "exitCode": 0, "durationMs": 350, "timedOut": false}, {"name": "files", "status": "success", "exitCode": 0, "durationMs": 401, "timedOut": false}, {"name": "outputs", "status": "success", "exitCode": 0, "durationMs": 400, "timedOut": false} ], "log": "~/.tmp/knotless-runner-k8s/run.log", "outputs": "~/.tmp/knotless-runner-k8s/outputs", "jobDeleted": true, "dryRun": false, "error": null } ``` The pod hostname in the `hostname` step matched the pod name, and `/work/steps.tsv` was present after the tar upload. The output file contained: ```text ran at Wed Nov 4 06:37:37 UTC 2026 ``` ## Node A node appeared while the Job's pod was Pending/Running: ```text node/2wjeqtgx-knotless-poc-node1 Ready 12s v1.36.4+k3s1 ``` The Job was deleted after the run. The tenant's scale hold then returned the cluster to zero nodes, confirmed with `kubectl get nodes`: ```text tenant nodes: 0 ``` `scripts/tenant-kubeconfig.sh` with `DELETE=1` deletes the cluster itself. ## What this proves - The client-certificate kubeconfig from the hosted gateway works for `kubectl apply`, `wait`, `get`, `exec` and `delete`. - A Pending Job pod drives the tenant node autoscaler. - Tar over `kubectl exec -i` moves the checkout in and outputs out. - Steps share one pod, so later steps see earlier steps' changes. - A single log carries step output and exit statuses. - The result shape has the fields a `dev.knotless.check` needs.