Open Terminal fleet for all accounts + OpenWebUI UAT pass (#610)

open-terminal 0.11.34 bare-metal (human-authorized host install) with a
systemd template unit: reachableceo on tailscale-only :30000 (cwd
~/projects) and all 8 other accounts on :30001-30008, each with its own
key kept out of ps in per-user TOMLs, all users added to the docker group.
Keys live in ~/.creds + /etc/ukrrs/open-terminal, never in this repo.

UAT: throwaway OpenWebUI v0.11.1 (matched to the human's Cloudron prod)
driven purely over its HTTP API against the beta gateway lane - connection
verify/config PASS, direct exec as uid 1001 PASS, and the chat round trip
PASS: the model emitted run_command, we executed it through OpenWebUI's
terminal proxy (server holds the key), and the final answer named 9/9 real
project directories; earlier negative runs prove the test catches
hallucinated output. Ops note OPEN-TERMINAL.md documents production wiring
(prod openwebui container v0.3.10 is too old and needs an upgrade first).

Also tonight: agent-stack relaunchers removed (6-, backups kept) so no
screen/crush sessions auto-start on reboot; 22:00 night-profile flip
observed live; docs synced for the earlier teardown.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
[#610]
This commit is contained in:
2026-08-31 22:50:53 -05:00
parent 74934b1095
commit c810942239
21 changed files with 940 additions and 5 deletions
+50
View File
@@ -0,0 +1,50 @@
[22:47:32] P0 uat/.env written (beta gateway http://127.0.0.1:4002/v1, model glm-4.7)
Container ukrrs-openwebui-uat Stopping
Container ukrrs-openwebui-uat Stopped
Container ukrrs-openwebui-uat Removing
Container ukrrs-openwebui-uat Removed
Volume openwebui-uat_openwebui-uat Removing
Volume openwebui-uat_openwebui-uat Removed
Volume openwebui-uat_openwebui-uat Creating
Volume openwebui-uat_openwebui-uat Creating
Volume openwebui-uat_openwebui-uat Created
Volume openwebui-uat_openwebui-uat Created
Container ukrrs-openwebui-uat Creating
Container ukrrs-openwebui-uat Created
Container ukrrs-openwebui-uat Starting
Container ukrrs-openwebui-uat Started
[22:48:29] P1 PASS: openwebui v0.11.1 healthy on 127.0.0.1:8081
[22:48:29] P1 PASS: glm-4.7 reachable via beta gateway
[22:48:30] P2 PASS: admin signup (role admin)
[22:48:30] P3 verify: {"status":true,"type":"terminal"}
[22:48:30] P3 PASS: terminal server verified (terminal)
[22:48:30] P3 set connections: {"TERMINAL_SERVER_CONNECTIONS":[{"id":"ultix-rceo","name":"ultix-rceo","enabled":true,"url":"http://100.101.187.119:30000","path":"/openapi.json","key":"***","auth_type":"bearer","config":null,"server_type":null,"policy_id":null}]}
[22:48:30] P3 user terminal list: [{"id":"ultix-rceo","url":"http://100.101.187.119:30000","name":"ultix-rceo","contexts":{},"config":{"chat_uploads":"default"}}]
[22:48:30] P3 PASS: connection ultix-rceo visible to users
[22:48:30] P4 exec result: {"id":"20260831-224830-489a48","command":"id && ls -1 /home/reachableceo/projects","status":"done","exit_code":0,"output":[{"type":"output","data":"uid=1001(reachableceo) gid=1001(reachableceo) groups=1001(reachableceo),100(users),118(libvirt),988(docker)\r\n"},{"type":"output","data":"dotfiles\r\nKNEL\r\nPFVCluster\r\nreference\r\nSITER-Solar\r\nTSYSDevStack-SupportStack-LocalWorkstation\r\nukrrs\r\nultix\r\nWorkstationStack\r\n"}],"truncated":false,"next_offset":2,"log_path":"/home/reachableceo/.local/state/open-terminal/logs/processes/20260831-224830-489a48.jsonl"}
[22:48:30] P4 PASS: ran as reachableceo
[22:48:30] P4 PASS: sees ~/projects/ultix
[22:48:33] P5 turn1: model emitted 1 tool call(s): [{"id":"call_-7296378025417892855","name":"run_command"}]
[22:48:33] P5 executing via openwebui terminal proxy: ls -1 /home/reachableceo/projects
[22:48:33] P5 proxy exec: {"id":"20260831-224833-94630c","command":"ls -1 /home/reachableceo/projects\n","status":"done","exit_code":0,"output":[{"type":"output","data":"dotfiles\r\nKNEL\r\nPFVCluster\r\nreference\r\nSITER-Solar\r\nTSYSDevStack-SupportStack-LocalWorkstation\r\nukrrs\r\nultix\r\nWorkstationStack\r\n"}],"truncated":false,"next_offset":1,"log_path":"/home/reachableceo/.local/state/open-terminal/logs/processes/20260831-224833-94630c.jsonl"}
[22:48:33] P5 PASS: proxy-executed command returned real ~/projects content
[22:48:33] P5 turn2 body: valid JSON
[22:49:01] P5 turn2 raw (first 400): {"id":"2026090111483398401ef2c2a6440b","object":"chat.completion","created":1788234541,"model":"glm-4.7","choices":[{"index":0,"message":{"role":"assistant","content":"dotfiles\nKNEL\nPFVCluster\nreference\nSITER-Solar\nTSYSDevStack-SupportStack-LocalWorkstation\nukrrs\nultix\nWorkstationStack","reasoning_content":"The user wants me to run a specific command in a terminal-like environment (simulat
[22:49:01] P5 final answer: dotfiles
KNEL
PFVCluster
reference
SITER-Solar
TSYSDevStack-SupportStack-LocalWorkstation
ukrrs
ultix
WorkstationStack
[22:49:01] P5 PASS: final model answer contains 9/9 real directory names (full round trip: tool_call -> proxy exec on terminal -> real output -> answer)
Container ukrrs-openwebui-uat Stopping
Container ukrrs-openwebui-uat Stopped
Container ukrrs-openwebui-uat Removing
Container ukrrs-openwebui-uat Removed
Volume openwebui-uat_openwebui-uat Removing
Volume openwebui-uat_openwebui-uat Removed
[22:49:05] teardown complete (project+volume removed)
[22:49:05] EXIT=0 ALL PHASES PASSED