# nh3-svos: STAGE SVOS v0.0.17 (15c2d04) beside the live release. Installs into /opt/svos/releases/15c2d04 and runs the # new kernel's check-config against the live configuration. Does NOT switch current, stop or start anything. # svos-dev's ask (thread 01M595YP8R62Y665C38MHPH6YX); Prime's "deploy now" 2235 2026-10-18. Kernel 0.0.17, terminal 0.0.6 # (nh3-svos keeps it installed, unused), UI 0.0.21; everything else carried from b51aa5e. The cutover is # nh3-svos-15c2d04-v0.0.17.yaml. The runtimes edit script is staged here too and dry-run against a copy of the live file. steps: - name: Private staging dir shell: install -d -m 0700 /tmp/svos-stage-15c2d04 - {name: stage release, upload: {src: /tmp/claude-1000/-home-lkraven-development-eshpfi-management/e0be18fd-0734-4786-b933-904f0a74d2a2/scratchpad/svos-15c2d04/svos-release-15c2d04.tar.gz, dest: /tmp/svos-stage-15c2d04/release.tar.gz, mode: "0644"}} - {name: stage uv, upload: {src: /home/lkraven/bin/uv, dest: /tmp/svos-stage-15c2d04/uv, mode: "0755"}} - {name: stage installer, upload: {src: /tmp/claude-1000/-home-lkraven-development-eshpfi-management/e0be18fd-0734-4786-b933-904f0a74d2a2/scratchpad/svos-15c2d04/install-release.py, dest: /tmp/svos-stage-15c2d04/install-release.py, mode: "0644"}} - {name: stage runtimes edit, upload: {src: /tmp/claude-1000/-home-lkraven-development-eshpfi-management/e0be18fd-0734-4786-b933-904f0a74d2a2/scratchpad/svos-15c2d04/u17-runtimes-edit.py, dest: /tmp/svos-stage-15c2d04/u17-runtimes-edit.py, mode: "0644"}} - name: Verify staged hashes shell: cd /tmp/svos-stage-15c2d04 && printf '%s %s\n' f6e4ff1e49f98482afad510bb591c9ebc9087ec792677b6190c1839f2939b2b2 release.tar.gz 83aa128da93e168283ed32cf75cd819fe17b135b3fc1f7ccb3c912eec198d9fb uv 53bb68360eedbd8694ea89d9212c2eea80027655991a0bc7bf690ad76d18a217 u17-runtimes-edit.py | sha256sum -c - changed_when: "false" - name: Install release 15c2d04 beside the live one (current NOT switched) sudo: true shell: python3 /tmp/svos-stage-15c2d04/install-release.py creates: /opt/svos/releases/15c2d04/apps-env/pyvenv.cfg verify: - name: New kernel 0.0.17 accepts the live configuration as it is sudo: true shell: runuser -u svc-svos -- /opt/svos/releases/15c2d04/kernel-env/bin/svos-kernel check-config --data-root /var/lib/svos changed_when: "false" - name: Dry run of the runtimes edit on a private copy (the live file is not touched); the result parses as TOML sudo: true shell: | set -e d=$(mktemp -d); cp -p /var/lib/svos/config/instance.toml $d/instance.toml sed "s#/var/lib/svos/config/instance.toml#$d/instance.toml#" /tmp/svos-stage-15c2d04/u17-runtimes-edit.py > $d/edit.py python3 $d/edit.py python3 -c "import tomllib,sys; c=tomllib.load(open(sys.argv[1],'rb')); r=c['seats']['runtimes']; print([(x['name'], x.get('window'), bool(x.get('prompt')), bool(x.get('working'))) for x in r])" $d/instance.toml diff /var/lib/svos/config/instance.toml $d/instance.toml | grep -c '^>' ; rm -rf $d changed_when: "false" - name: current still points at the live release shell: readlink /opt/svos/current changed_when: "false"