diff --git a/persistent-memory.md b/persistent-memory.md index a2da5a0..19ef345 100644 --- a/persistent-memory.md +++ b/persistent-memory.md @@ -122,7 +122,7 @@ _As of 2026-10-18 ~2125 PT. The newest subsection is first; older subsections ca - **Nothing is mid-action.** No ops-log claims held, no background watchers. eshpfi `main` is pushed (standing push since 2026-10-13); vh/worldtree-instance-configs `main` also has STANDING push since 2026-10-16 (Prime; auto-memory `feedback_git_autonomous`). On Prime's word ~2120 10-18: svoperatingsystem `main` + tag `v0.0.17` (15c2d04) and dotfiles `f909dcf` pushed. ⚠ The working tree and index are shared with infra-hermes, albok-dev and subagents: commit with `git commit -- ` and read `git log origin/main..main` before pushing. `graphify-out/GRAPH_REPORT.md` stays modified on purpose. - **SVOS v0.0.17 (15c2d04) LIVE since 10-18 2255** (Prime's "deploy now" 2235 via svos-dev, thread `01M595YP8R62Y665C38MHPH6YX`): kernel 0.0.17 + UI 0.0.21 on nh3-svos, config gen `29bc36bf074b8245` (the six runtimes' prompt/working/window), voice `utterance_seconds = 60`; nh3-dev `current → 15c2d04`, only svos-terminal 0.0.6 restarted. No card: terminal revision 6 changes only `version`, so it pinned silently. Verified: 13 `seat/activity_changed` events at 2255:13 (ops-infra working = the positive control, 12 waiting; dev-ldp stays unknown, its 14-day-old claude matches neither mark). Not verified by infra-ops: GET /seats (needs a principal) and the hero "Fleet · working · N" (Prime's eyes). Rollback: servers/nh3-svos/README.md § Release 15c2d04. -- **SVOS v0.0.18 (6d4cb1c, U20 settings) LIVE since 10-18 2352** (thread `01M59D7NTZNN75SRP0M4ZQF91A`): infra-ops pushed svoperatingsystem main + tag on Prime's in-session "push it" (his own push never landed). Interface 0.0.7 + UI 0.0.22; only svos-interface restarted; card approved by Prime 2352:16 (via Matrix), interface down 30 s. ⚠ The kernel process still runs 15c2d04's code and reports 0.0.17 until its next restart (identical code). Both `ns:interface-settings` grants are IN (issued by infra-ops as Prime on his word, approved by him 2356; grant ids 207/208). **Open, Prime's:** the /settings and panel checks plus his listening test. Details + rollback: servers/nh3-svos/README.md § Release 6d4cb1c. +- **SVOS v0.0.18 (6d4cb1c, U20 settings) LIVE since 10-18 2352** (thread `01M59D7NTZNN75SRP0M4ZQF91A`): infra-ops pushed svoperatingsystem main + tag on Prime's in-session "push it" (his own push never landed). Interface 0.0.7 + UI 0.0.22; only svos-interface restarted; card approved by Prime 2352:16 (via Matrix), interface down 30 s. ⚠ The kernel process still runs 15c2d04's code and reports 0.0.17 until its next restart (identical code). Config gen `db56b0ed9b743fb7` since 10-19 0016 (`[[seats.repos]]` + repo-albok, Prime via svos-dev: dev-albok on the tree; backup `instance.toml.pre-repo-albok`). Both `ns:interface-settings` grants are IN (issued by infra-ops as Prime on his word, approved by him 2356; grant ids 207/208). **Open, Prime's:** the /settings and panel checks plus his listening test. Details + rollback: servers/nh3-svos/README.md § Release 6d4cb1c. - **SVOS (before v0.0.17): v0.0.16 `b51aa5e` on nh3-svos (10-18 1634–2254)** with app-judge (drafting gen-large; six local task models; `[tasks].judge` on, gen `13241a40`); nh3-dev on `3726d73`. Card audio VERIFIED 10-18 (3/3, 4.5–5.5 s). voice.toml `utterance_seconds` was 30 until v0.0.17 (the old web client refused >30); 60 since. **Open:** one drafted scratch task from /tasks (Draft → launch → approve; expect routing, admitted, routed, launching, started) — verifies v0.0.14's gate, the hermes query-file route and U19; Prime must launch it (every spawn is an owner card). Details + rollback material: servers/nh3-svos/README.md. - **Worldtree:** all three on v1.0.0b195 `a416ac01c5a2` since 1112 10-16; Matrix bridge profile-gated (`COMPOSE_PROFILES=matrix` on demo + personal box .env; pinned none, renders api only). Retired-config strips DONE (demo `2240110`, personal `4d1aae2`). ⚠ Pinned's seeded host config dir `/opt/worldtree-pinned/config` is NOT tracked in vh/worldtree-instance-configs and `deploy-wt-config` refuses pinned: capture it. The daily memory gate keeps its harness scratch since 10-18 (`--keep-data`, `~/.local/state/wt-memory-gate-batch/scratch//`, 14-day user tmpfiles); 10-18 PASS. Keep defaults `library:` (thread `01M4WA58P2M001K1420NN72WFM`). - **Decision seat = h2o-lightning-4b (production, Prime 1805 10-13: fix forward, no INC fallback).** The one open margin is the judge's personal-question reading (h2o 18 vs INC 6 on fleet/memory); albok-dev re-fits it forward in small batches on the live seat. diff --git a/playbooks/svos-releases/nh3-svos-seats-repo-albok.yaml b/playbooks/svos-releases/nh3-svos-seats-repo-albok.yaml new file mode 100644 index 0000000..ce79f50 --- /dev/null +++ b/playbooks/svos-releases/nh3-svos-seats-repo-albok.yaml @@ -0,0 +1,40 @@ +# nh3-svos: add repo-albok to [[seats.repos]] so albok-dev's pane is adopted as a seat (Prime 0020 2026-10-19 via svos-dev, +# thread 01M59G7BVAS52Q8ACFV4ZFBD8E). Config only: check-config, then reload (SIGHUP); no restart, no card. +# Placed in true alphabetical order (first, before repo-augaman; order is not load-bearing: adoption is a longest-path match). +steps: + - name: Back up instance.toml, then insert the repo before repo-augaman + sudo: true + shell: | + set -e + p=/var/lib/svos/config/instance.toml + runuser -u svc-svos -- cp -p $p $p.pre-repo-albok + runuser -u svc-svos -- python3 - <<'PY' + import os + p = "/var/lib/svos/config/instance.toml"; s = open(p, encoding="utf-8").read() + assert 'name = "repo-albok"' not in s + anchor = '[[seats.repos]]\nname = "repo-augaman"\n' + assert s.count(anchor) == 1 + add = '[[seats.repos]] # 2026-10-19 (Prime): albok-dev on the tree\nname = "repo-albok"\npath = "/home/lkraven/development/albok"\n' + s = s.replace(anchor, add + anchor) + t = p + ".tmp"; fd = os.open(t, os.O_WRONLY | os.O_CREAT | os.O_TRUNC, 0o600) + with os.fdopen(fd, "w", encoding="utf-8") as f: f.write(s) + os.replace(t, p); print("edited") + PY + - name: check-config (restore on refusal), then reload + sudo: true + shell: | + if ! runuser -u svc-svos -- /opt/svos/current/kernel-env/bin/svos-kernel check-config --data-root /var/lib/svos; then + runuser -u svc-svos -- cp -p /var/lib/svos/config/instance.toml.pre-repo-albok /var/lib/svos/config/instance.toml; echo RESTORED; exit 1; fi + systemctl reload svos-kernel; sleep 4; curl -s http://127.0.0.1:8400/health; echo +verify: + - name: Health ok on the new generation; dev-albok adopted + sudo: true + shell: | + sleep 8 + curl -s http://127.0.0.1:8400/health; echo + python3 -c " + import sqlite3 + c = sqlite3.connect('file:/var/lib/svos/state/svos.db?mode=ro', uri=True) + print(c.execute(\"select name, repo, role, runtime, state, origin from seats where repo='repo-albok'\").fetchall()) + for r in c.execute(\"select id, at, kind, action, object, summary from events where object like '%albok%' or action like 'config%' order by id desc limit 6\"): print(r)" + changed_when: "false"