feat(svos): v0.0.24 live on nh3-svos — judge 0.0.2 + interface 0.0.8 (U22 card summaries), UI 0.0.28; four cards approved; grants 294/295
This commit is contained in:
@@ -23,6 +23,25 @@ configuration, enrollment and acceptance.
|
||||
| App-consistent hook | svos-dev's `/etc/qemu/fsfreeze-hook.d/50-svos` stops the SVOS services on freeze and restarts the ones that were running on thaw. ⚠ **Debian's qemu-ga does NOT run fsfreeze hooks unless configured** (no `-F` in the unit, no `qemu-ga.conf` by default). Here `/etc/qemu/qemu-ga.conf` points it at **`/usr/local/sbin/fsfreeze-dispatch`** (`configs/qemu-ga/fsfreeze-dispatch`), which unlike the stock `/etc/qemu/fsfreeze-hook` propagates failure: if a freeze hook fails, it thaws that hook and the completed ones and exits 1, so qemu-ga refuses the freeze. **Live drill 2026-10-05 1952–1953 (services running):** quiesced backup `vm/111/2026-10-06T02:52:11Z` → kernel+interface down ~1–2 s, back by themselves, health ok. Refused freeze (temporary `60-drill-refuse` after 50-svos, since removed) `vm/111/2026-10-06T02:53:03Z` → the dispatcher unwound and restarted the services, and then **⚠ vzdump did NOT abort: it logged `ERROR: unable to freeze guest fs`, backed up UNFROZEN (crash-consistent, app live), and reported `Backup job finished successfully`, rc 0.** Both images mapped from PBS and mounted read-only (`ro,noload`) on nh3-pve-2, never booted: `svos.db` integrity ok (each image still carries its ~0.9 MB WAL: keep `-wal` with the db when restoring), interface `pins.sqlite3` integrity ok, config/key/config-generation hashes equal live, table counts equal live except `events`. **Monitoring:** `scripts/check-backup-freshness.sh` now reads the LOG of every OK vzdump task and reports ERROR lines; a freeze/thaw error is an APPLICATION-CONSISTENCY FAILURE, verdict **DEGRADED, exit 4** (alerted by the daily wrapper to infra-hermes). nh3-pve-2 was not in the check's node lists at all before 2026-10-05; it is now. Drill B is acknowledged by UPID in the script |
|
||||
| Monitoring | Beszel native agent 0.18.7 (`playbooks/beszel-native.yaml`, `configs/beszel-agent/hosts/nh3-svos.env`), hub system `t6y646ifa3x7xxv`, alerts CPU>95%/15m, Disk>85%/5m, Memory>90%/10m, offline/2m. Up 2026-10-05 |
|
||||
|
||||
## Release d14dc94 / v0.0.24, U22 card summaries (2026-10-19 0838–0841; Prime's go 0345 via svos-dev, thread `01M59P4Z1VJ4WHJB0N8N1P743K`, delivered at 0836 after the NH3 WAN outage)
|
||||
|
||||
- v0.0.23 (9a0eec8) was superseded before any push. Its staged dir `/opt/svos/releases/9a0eec8` is unused.
|
||||
- **Kit** `4259f7f9…`: kernel 0.0.24 (a version bump; no kernel code change since 2f29d0d), app-judge 0.0.2 (U22 `explain`), app-interface 0.0.8 (U22
|
||||
`summaries`/`summary`, namespace `interface-summaries`), UI 0.0.28 (`/assets/index-83rJZtc6.js`). Everything else carried from 2f29d0d.
|
||||
- **Steps:**
|
||||
1. `nh3-svos-d14dc94-v0.0.24.yaml`: backup `pre-d14dc94` (svos.db, briefs, pins, settings; integrity ok); judge.toml `explain_seconds = 60`
|
||||
(backup `judge.toml.pre-d14dc94`; canonical `configs/svos-apps/judge.toml`); `current → d14dc94`; front door; restart ONLY svos-judge.
|
||||
**Card 1** (`card:8bd70e4a…`, app-judge rev 2) was raised 0838:44 and approved 0839:12.
|
||||
2. `…-interface.yaml` (refuses until the judge's revision is pinned): restart ONLY svos-interface. **Card 2** (`card:5fc19cd9…`, app-interface rev 6) was
|
||||
raised 0839:43 and approved 0839:54. `summaries.sqlite3` was created.
|
||||
3. Grants were raised as Prime over loopback, as before: **cards 3/4** were raised 0840:51 and approved 0841:12/0841:16. Grant 294 = `prime → ns:interface-summaries`
|
||||
read (not autonomous); 295 = write (autonomous).
|
||||
- ⚠ infra-hermes ran a manual fsfreeze/thaw at 0838:38–40, in the middle of step 1. It stopped and restarted every SVOS service. The thaw brought them up from 2f29d0d
|
||||
(before the switch), so the interface was still on 0.0.7 and no extra card was raised. The kernel, knowledge and voice now run 2f29d0d code (identical).
|
||||
Manual freezes on nh3-svos are ask-first from now on.
|
||||
- Health ok, 8 up, gen `d750257258f9fb68`. Rollback: the v0.0.22 kit (`current → 2f29d0d`, inventory, restart judge + interface: each raises its
|
||||
card again). The summaries store is additive.
|
||||
|
||||
## Release 2f29d0d / v0.0.22, task result files listed by path — UI-only publish (2026-10-19 0125; svos-dev thread `01M59M4T3ZWS0WKQJWZ9RE86B4`)
|
||||
|
||||
- Prime pushed the tag `v0.0.22` → `2f29d0d667d6`. The watcher saw it at 0125:01 and published: `current → 2f29d0d` plus the front-door inventory. Nothing restarted.
|
||||
|
||||
Reference in New Issue
Block a user