Commit Graph
100 Commits
Author SHA1 Message Date
vh 5af8e2bc17 feat(intern-decision): h2o-lightning-4b is the production decision seat; fix forward, no INC fallback
Prime (18:05, via albok-dev): go to h2o and fix forward, do not fall back to
INC. albok-dev removed the chapter margin first (the two published nonfiction
titles declared visibility: public). switch-to-h2o.sh ran 18:05:13, h2o healthy
18:07:40; /health at the pin, /decide/shared 200, 422 over the cap, inline image
answers, image URL refused by the shim and by vLLM's media-domain backstop.
rollback-to-inc.sh stays on the host as an artifact only.
2026-10-12 18:08:31 -07:00
vh c991d939f9 memory: second h2o rollback closed out — counts restored, timer back 2026-10-12 17:51:46 -07:00
vh d2fb840bfa fix(intern-decision): second rollback to Intern-Decision-4B; h2o staged until the judge's two margins are fixed
The v2 walk on h2o (17:05-17:45) held notes at 0 adult but moved two margins
past albok-dev's pre-named rollback line: library/nonfiction adult 0 -> 79 (one
textbook chapter at 0.531 on the book profile, INC 0.438, with 77 concepts
inheriting) and fleet/memory personal 6 -> 18. rollback-to-inc.sh ran 17:47:46,
INC healthy 17:48:11. compose.yaml is INC again.
2026-10-12 17:48:43 -07:00
vh 2d85ee5a25 docs(gitea-runner): first real use of the nh3-docker runner (vastblue pytest 4m45s vs 14m17s, n=1 each) 2026-10-12 17:34:32 -07:00
vh cd3c4b8be9 feat(gitea-runner): opt-in fast runner on nh3-docker (label nh3-docker), no docker socket in jobs
Prime's CI fix A. ana-docker's runner sits on HDD mirrors with no SLOG; synced
8 KiB writes measured ~34 ms there vs ~2.7 ms on nh3-docker (same probe, one run,
n=3 each). Repos opt in with runs-on: nh3-docker; the runner carries no
pfi-fleet label. Its config is tighter because nh3-docker also runs NH3 DNS and
the post office: docker_host '-' (verified absent in the job, present on the
ana-docker baseline), capacity 1, jobs capped at 4 GiB / 6 CPUs, a network per
job. The deploy playbook takes runner_config; each runner's homepage name is
its runner name.
2026-10-12 17:27:46 -07:00
vh 0da7df7534 memory: Prime's 10-12 rulings (CI A, push, no judge-token rotation); card 05cf119e was approved, not pending 2026-10-12 17:22:59 -07:00
vh 6a01da759d memory: decision seat live on h2o again since 1704 under the re-fitted judge 2026-10-12 17:06:20 -07:00
vh 98254ca077 feat(intern-decision): decision seat back on h2o-lightning-4b under the re-fitted judge
Prime ruled the cutover ("do it", 16:40, via albok-dev) after the judge's
note question was re-fitted (albok-nemi 0.1.18). switch-to-h2o.sh ran 17:02:23,
the GPU 1 gate passed, h2o healthy 17:04:54. Checks on :8033: /health at the
pin, /decide/shared 200, 422 over the cap, inline image answers, image URL
refused by the shim, vLLM media-domain backstop refuses (400). compose.yaml is
h2o again; rollback-to-inc.sh stays the one-step way back.
2026-10-12 17:05:59 -07:00
vh 014a4fd0ec docs(intern-decision): seat switch checklist — Nemi's judge concurrency is 1 on INC, 4 on h2o 2026-10-12 16:21:25 -07:00
vh 8d9fcd9ffb memory: h2o judge investigation closed — v1 note question was the cause, re-fitted in albok-nemi 0.1.18; eval seat down 2026-10-12 16:20:49 -07:00
vh 2b40805b84 feat(h2o-eval): round 2 eval seat on GPU 3 with floor-on/floor-off fronts for the judge investigation
Prime (via albok-dev): understand why h2o failed and re-fit the judge. One
vLLM on GPU 3 behind two fronts: :8034 with the shim's yes/no floor at 0.801
exactly as the cutover ran (same judge stamp), :8035 with SHIM_NOUL_FLOOR=0 and
a distinct stamp (h2o-lightning-4b+noul-floor-0). Both refuse image URLs; the
vLLM --allowed-media-domains backstop is now verified (400, no fetch).
2026-10-12 14:29:15 -07:00
vh 501bda078d memory: decision-seat rollback closed out — hidden set back to INC counts 2026-10-12 14:09:11 -07:00
vh f979cca1ea fix(intern-decision): roll the decision seat back to Intern-Decision-4B; h2o staged with inline-images-only
albok-dev withdrew the judge sign-off on fleet-scale evidence and brokkr
concurred: over 10,841 texts judged by both models, h2o flagged 242 adult at
0.5 against INC's 88, and no threshold reproduces INC's set. rollback-to-inc.sh
ran 14:03:28, INC healthy 14:03:56, /decide/shared smoke 200 x3.

compose.yaml is INC again; the h2o compose is kept as compose.h2o.yaml with
switch-to-h2o.sh (GPU 1 free-memory gate, falls back to INC). It now carries
Prime's inline-images-only setting: LIGHTNING_IMAGE_URLS=off on the front
(verified live: an https image URL is refused before any fetch, inline images
still answer) and vLLM --allowed-media-domains media.invalid as a backstop.
rollback-to-inc.sh no longer leaves timestamped compose copies behind.
2026-10-12 14:05:44 -07:00
vh c08992f95f feat(intern-decision): decision seat swapped to h2o-lightning-4b on fv-ml1 GPU 1; eval seat down
The :8033 seat now serves h2oai/h2o-lightning-4b @ b43f759b on vLLM 0.30.0 with
byte-pinned KV (4.48 GiB, 135,558 tokens) behind services/h2o-decision-front:
32k refuse-not-trim admission, the seat's bearer token, and /decide +
/decide/shared translated onto /v1/systemone for albok-nemi's judge. URL, port,
token and stack name are unchanged. INC down 13:08:18, h2o healthy 13:11:27.

Post-checks on the live seat: /health at the pinned revision; JevBench public
205/231 (= bench); 422 over the cap; 16q at the cap warm 2.0-2.16 s; seat peak
16,164 MiB under 4 concurrent 16q x 32k calls against a 16,847 budget.

compose.inc.yaml + rollback-to-inc.sh restore Intern-Decision-4B in one step.
The temporary GPU 3 eval seat (stacks/h2o-eval) is down.
2026-10-12 13:19:46 -07:00
vh 152137e41d memory: decision-seat swap held for albok's judge; h2o eval seat on GPU 3 2026-10-12 13:02:04 -07:00
vh 2c3ef7a8af feat(h2o): temporary h2o-lightning-4b eval seat on fv-ml1 GPU 3 + the seat front (admission, bearer, /decide/shared translator)
Prime's call via brokkr: h2o-lightning-4b replaces the intern-decision seat once
albok-dev re-validates Nemi's sensitivity judge on it. services/h2o-decision-front
builds on infra-hermes's admission proxy (30f36f2): 32,000-token refuse-not-trim,
the seat's bearer token, and intern-decision-serve's /decide/shared mapping onto
/v1/systemone so the judge runs unchanged. stacks/h2o-eval serves it on GPU 3
:8034 exactly as benched (vLLM 0.30.0 + unmodified vendor shim; weights hashed
against HF b43f759b). INC keeps serving production on GPU 1.
2026-10-12 13:01:53 -07:00
vh 30f36f2478 tools(h2o): admission proxy + gate probe set — the seat swap inherits a hard dep
The vendor shim silently trims state at 32,000 tokens; the admission proxy is
what turns the seat contract into a loud refusal, so it must front the shim in
any deployment. Committing it with the Amendment 1 confirmation driver so
executing the swap does not depend on a bench scratch dir surviving.
2026-10-12 12:29:57 -07:00
vh 14af41b945 docs(pfi): Amendment 1 addendum — h2o confirmation run passes all three clauses
Admission via thin wrapper (vendor shim unmodified; no shim config knob exists).
Gate re-run clean at every depth with usage honest; 16q32k warm 2,033 ms;
4x concurrent 16q32k peak 15,566 MiB vs 16,847 budget; boot matrix replaces the
unmeasured 280 s figure (cold median 153.6 s, warm-cache saves nothing, eager
slower). Wyrd itemised: 8 diffs, h2o net -2. h2o passes every Supersede clause
under the accepted 32,000-token refusing contract; seat swap is the operator's
call.
2026-10-12 12:13:31 -07:00
vh 4098a23dda docs(pfi): decision-sweep follow-on bench — H2O re-bench, Clef-flash, RSI-Jev vs the live seat
First bench-first run (prereg brokkr-smithy 2e0539f). H2O-lightning-4b is a
short-route candidate: public 205, battery CI lower bound +0.0023, fits the
GPU 1 budget at every shape — but its shipped shim silently trims state at
~32k and fails the long-input gate by the letter. Clef-flash lateral in both
precisions (Wyrd -0.0333 in both; bf16 does not fit at rest). RSI-Jev v6.1
loses on decision quality (public -23, Wyrd -0.0548). INC holds the seat.
Torn down; weights kept (model-runtime 116 GB).
2026-10-12 10:22:03 -07:00
vh 0fe081042d memory: U13 seat-host 403 regression fixed 2026-10-12 09:44:12 -07:00
vh 82987828f8 fix(svos-front): kernel seat-host calls allowed on the terminal origin (app-terminal base_url reverted to it) 2026-10-12 09:44:06 -07:00
vh ca9e385316 memory: CI runner slowness diagnosed (ospool fsync ~145 ms on ana-docker); A/B/C pending Prime 2026-10-12 09:41:23 -07:00
vh a9bae04ba6 docs(pfi): D3 vs Intern-Decision-4B seat bench — final stashed findings (halted by operator call)
Measured: bf16 ladder across six sizes, calibrated 32k shape cells with
O(q*state) wire accounting, bs=1 memory/latency curve, Engine-vs-vendor
fidelity rows, Stage 4 control quant trio (battery monotone in weight error),
flash calibrated-NVFP4 with survive rules applied by the letter, and the
Amendment 2 GPU 1 budget (16,851 MiB) re-read against every fit clause.
Halted before the INC bench-copy arms and mini/27B/small-size NVFP4 arms;
stated plainly. Weights kept pending operator ruling (80 GB).
2026-10-12 08:08:39 -07:00
vh 3aa715c82e albok-service: pin 0.1.19 (unit 4.8, the write path's git work by batch; deployed on nh3-albok 2026-10-12 0208) 2026-10-12 02:11:41 -07:00
vh 8d5e720534 memory: nh3-dev SVOS units still run from dc241f8 — keep it until they restart 2026-10-12 00:04:46 -07:00
vh 87105374c6 memory: worldtree-dev back on mail — #416 residual reopened (second writer pass); gate-audience question moot 2026-10-11 22:20:08 -07:00
vh b3d69ea5f1 memory: nh3-svos static-only UI 0.0.13 (8fa229d) deployed 2026-10-11 17:58:35 -07:00
vh 131e39a452 memory: nh3-svos static-only UI 0.0.12 (61459d2) deployed 2026-10-11 17:37:29 -07:00
vh 44ee37e7c3 memory: nh3-svos static-only UI 0.0.11 (627a9fb, build id on the top bar) deployed 2026-10-11 17:18:35 -07:00
vh ad79071d20 memory: nh3-svos processes still run from adc862e — keep it until restart 2026-10-11 17:16:40 -07:00
vh 61ff32d116 memory: nh3-svos static-only UI 0.0.10 (ad255a2) deployed 2026-10-11 17:16:24 -07:00
vh b7a0b0e441 memory: nh3-svos static-only UI 0.0.9 (34476a7) deployed 2026-10-11 17:11:39 -07:00
vh 9bf5b0458b albok-service: pin 0.1.18 (albok 0.1.10, the concept kind) on nh3-albok 2026-10-11 15:08:26 -07:00
vh 31e03af692 memory: v0.0.10 deployed (kernel 0.0.10, UI 0.0.8, miranda 0.0.4); correction — card 05cf119e was never approved 2026-10-11 14:12:46 -07:00
vh 2e6bac9731 memory: svos-dev's U13 answers — Miranda bus-tag fix in the next release; the non-autonomous send grant is intended 2026-10-11 14:00:13 -07:00
vh fd87f8b513 memory: U13 acceptance closed (Miranda's reply arrived 1354) 2026-10-11 13:54:49 -07:00
vh 5202847abb memory: snapshot — 2026-10-11 U13 cutover executed + accepted (one card + svos-dev answers open), fv-ml1 hang + evidence capture, stale snapshots gone; 6 entries archived 2026-10-11 13:54:24 -07:00
vh df7161bbe0 memory: U13 E2 through step 6; fv-ml1 evidence capture staged; scheduled 10-11 checks closed 2026-10-11 09:01:14 -07:00
vh 6e026c510a ops(u13,fv-ml1): E2 in progress — nh3-dev app units, terminal origin via seat-host; fv-ml1 serial console + SOL logger staged
- configs/svos-apps/nh3-dev/: user units for svos-terminal (running),
  svos-postoffice, svos-miranda, svos-agent (installed, not yet started).
- configs/svos-front/Caddyfile: svos-terminal.phasefinal.com upstreams to
  https://svos-seathost.nh3.phasefinal.com now that app-terminal runs on nh3-dev.
- configs/fv-ml1-sol/: an nh3-dev user unit holding fv-ml1's BMC SOL session
  into the journal; fv-ml1's kernel console goes to ttyS1 (the SOL port,
  marker-tested) from its next boot (ZFSBootMenu commandline on zroot/ROOT).
2026-10-11 07:39:22 -07:00
vh 3c05ae8ba2 memory: fv-ml1 hard hang 2026-10-11 ~0005 (self-reset); hold the pre-patch snapshot destroy 2026-10-11 00:19:46 -07:00
vh 754e0fd6dc deploy(albok-service): 0.1.17 on nh3-albok (unit 4.5 slice D: the paper section and source kind; a rebuild on albok 0.1.9, no service code change)
Pinned to gitea.phasefinal.com/pfi/albok-service:0.1.17@sha256:b2920e22d112631da82cb747d152c5d600cc50134f905c5afeae8bc26d580630,
built from a clean archive of vh/albok 2b190e2 and deployed by albok-dev at 2233 (healthy in under 10 s;
compose.yaml.pre-0.1.17 beside it on the host).
2026-10-10 22:34:12 -07:00
vh 6b541fb557 memory: U13 payload 7d7ed1f — whole app directories move at E2; hashes filled from the vault 2026-10-10 17:35:52 -07:00
vh b7a9f82d2f memory: Prime's U13 rulings (dev+ops, keep the nh3-svos artifact label, matrix-relay) 2026-10-10 17:34:25 -07:00
vh fa567fa150 ops(svos): U13 phase B amendment — full kernel-origin path list, Miranda's env and origin on nh3-dev, enrollment secrets, app-high-seat declared
Per svoperatingsystem dc241f8 u13-svos-edit.md items 1, 4, 5 and 6 (Prime's
go stands): the kernel origin passes exactly the method-pinned list (apps and
Miranda's agent connector; 15 pairs reach the kernel, the rest are Caddy 404);
nh3-dev's apps env is rebuilt as dc241f8 with svos-miranda 0.0.3 and
svos-agent 0.0.3 and gains the svos-miranda origin (nh3-svos only); three
enrollment secrets minted into the vault; app-high-seat declared with one
reload. Also fixes nh3-dev's fleet Caddy sharing admin localhost:2019 with
ttyd-caddy via SO_REUSEPORT (reloads could land on either): now :2021.
2026-10-10 16:56:47 -07:00
vh feef8330ca ops(svos): U13 phase B — nh3-svos on v0.0.9 (schema 12), kernel app origin, seat-host and high-seat origins, bridge env on nh3-dev
Prime approved svos-dev's U13 pre-edit ask (2026-10-10 1639).
- B1: release afab123 on nh3-svos (kernel 0.0.9, migration 11->12) after a
  vzdump and an offline svos.db copy; app-terminal and app-postoffice held on
  b588510 by drop-ins until the edit.
- B2: --app-listen 127.0.0.1:8410 (drop-in) fronted by Caddy as
  svos-kernel.phasefinal.com on the LAN, allowlisted to nh3-dev; the path list
  adds /auth/kernel-key, which every connector client needs. DNS rewrite on
  the three internal AdGuards.
- B3/B4: svos-seathost (-> :8404) and svos-highseat (-> :8773) on nh3-dev's
  fleet Caddy, allowlisted to nh3-svos; /opt/svos apps env on nh3-dev with
  svos-postoffice[push] (althing-core 3.7.0 from althing 7a2a1c1) and
  svos-terminal. The fleet Caddyfile is now tracked in configs/.
2026-10-10 16:50:18 -07:00
vh 129122d9b4 memory: 10-10 gate PASS closes the filing watch; esh-nas-pve pre-pve9 snapshot destroyed 2026-10-10 07:50:50 -07:00
vh 70b7281182 ops(albok): vh joins every albok read group; macOS withdrawal-test run staged
Prime, 2026-10-09: "vh gets albok-everything". playbooks/nh3-albok-vh-viewer.yaml
joins vh to albok-read, albok-personal and albok-feedback on nh3-albok and
authorizes his four Macs' public keys for vh; verified at a fresh login that
every wing's .browse/ lists and reads.

The withdrawal harness gains a macOS driver (run-mac.sh: every mountable FUSE
backend, a read-only smoke of the real wings, results copied back), env
overrides for a non-container client, and summarize.py. Sanity-checked as vh
from the Linux container before staging.
2026-10-09 22:45:52 -07:00
vh 172d893cdf test(albok): sshfs pathname-withdrawal test for the .browse/ view passes (unit 4.3 exposure gate)
Replica of a browse view on nh3-albok, Linux sshfs 3.7.3 client in an ephemeral
container on nh3-dev, N=5 per condition. Fresh open of a never-opened child
through a cached listing: ENOENT 5/5 with sshfs defaults and 5/5 with hour-long
client caches. Null control (no rename) opens 5/5; held fd and failed-rename
positive controls read 5/5. Replica removed afterwards.

Also closes the post-clear checks in persistent-memory: fv-ml1 GPU 0/1 plateau,
nh3-nas usage, and the mislabelled sfsrv-ana pre-pbs4 item.
2026-10-09 20:23:30 -07:00
vh 9ba2ce476b memory: correct the snapshot time stamp (1955, not 1610) 2026-10-09 19:56:07 -07:00
vh d89864b5c4 memory: snapshot — 2026-10-09 SVOS LAN/voice/ac42ace/kernel 0.0.8 (fd outage fixed), U13 ingress approved+deferred, albok library, gate watch; 11 entries archived 2026-10-09 19:56:00 -07:00
vh d0358b562d feat(homepage): SVOS description reflects the LAN front door 2026-10-09 19:54:08 -07:00
vh 3bd092a1aa feat(homepage): The High Seat's description no longer says SVOS (rename-back) 2026-10-09 19:53:56 -07:00
vh 4611bb0e0a deploy(albok-service): 0.1.16 on nh3-albok (unit 4.5 slice A: the book source kind, the chapter cut, the book record)
Pinned to gitea.phasefinal.com/pfi/albok-service:0.1.16@sha256:b28559ec782f1ce93e89c5eb55c7418561667dde38ff819bb18bb53e2d1f2ddf,
deployed by albok-dev at 1943 (healthy in 20 s; compose.yaml.pre-0.1.16 beside it on the host).
2026-10-09 19:51:02 -07:00
vh 5cb610b433 docs(albok-service): old nemi/albok-dev tokens revoked after the library swap 2026-10-09 15:56:14 -07:00
vh fa934cc574 feat(albok-service): library building (fiction, nonfiction) for unit 4.5; widened Nemi and albok-dev tokens minted 2026-10-09 14:57:38 -07:00
vh 65fffe21aa memory: SVOS v0.0.9 (afab123) cut for U13; edit doc docs/operations/u13-svos-edit.md 2026-10-09 12:53:07 -07:00
vh 841cde1029 memory: --app-listen on main (68c9933); U9a release notes (kernel 0.0.9, schema 12, bridge grants, push extra) 2026-10-09 09:40:02 -07:00
vh 8a149a9719 memory: Prime approved the SVOS app-traffic ingress shape; build deferred until after snapshot 2026-10-09 09:39:09 -07:00
vh f613047ccf memory: pending Prime — SVOS app-traffic ingress shape for U13 2026-10-09 09:14:18 -07:00
vh 51da9ff5ea docs(nh3-svos): kernel 0.0.8 reader pool live; LimitNOFILE stopgap removed; soak flat 2026-10-09 05:45:14 -07:00
vh 457707c9ff memory: SVOS leak root-caused; kernel 0.0.8 (b588510) awaits Prime's push 2026-10-09 00:01:52 -07:00
vh 3591f63c54 albok-service: 0.1.15 on nh3-albok (albok 0.1.7 core patch; deployed 2026-10-08 by albok-dev under operator authorization) 2026-10-08 23:49:19 -07:00
vh 6b2de2b356 memory: SVOS kernel 0.0.7 SQLite connection leak — EMFILE outage, LimitNOFILE stopgap on nh3-svos 2026-10-08 23:25:24 -07:00
vh 00d990d485 memory: watch the nightly nh3-svos thaws for app restarts (repeats for the Type=notify fix) 2026-10-08 15:20:45 -07:00
vh d2f9f561c2 docs(nh3-svos): refreshed to SVOS ac42ace — kernel 0.0.7 + Type=notify pair, thaw race fixed (drill 2 -> 0) 2026-10-08 15:17:56 -07:00
vh b04cee5579 feat(nh3-svos): SVOS voice (app-voice) live — /voice route before Basic auth (lease bearer), unit + quiesce hook; app credentials vaulted 2026-10-08 13:55:13 -07:00
vh a3184f66b9 docs(nh3-svos): front door on mesh + LAN, internal DNS answers the LAN address; fv-ml1 off-mesh by design 2026-10-08 13:32:03 -07:00
vh 998d0dca2f feat(nh3-svos): SVOS front door also on the LAN (10.100.50.43); internal DNS points svos names at it 2026-10-08 13:31:34 -07:00
vh cab00585ca docs(nh3-svos): svos names now also rewritten on the three internal AdGuards (mesh-reachable only) 2026-10-08 13:26:53 -07:00
vh 2f587b0d92 feat(homepage): list SVOS (https://svos.phasefinal.com) under Apps, no site monitor (mesh-only, Basic auth) 2026-10-08 13:23:26 -07:00
vh 65c3c8d920 memory: SVOS kernel 0.0.7 (Type=notify) is on main — install as a pair with the next nh3-svos refresh 2026-10-08 11:22:39 -07:00
vh 10c0e342ee memory: snapshot — 2026-10-08 patch night, nh3-svos a737a06 + post office live, albok 0.1.13/0.1.14, gateway glm-5.3, heid sweep incident; 16 entries archived 2026-10-08 07:35:01 -07:00
vh 423bc946df docs(fv-ml1): patched to kernel 6.12.111, ZFS 2.3.9, NVIDIA 580.178.04, toolkit 1.20.1; ZBM boot and the hand-verified driver path recorded 2026-10-08 00:42:50 -07:00
vh e741784e8d memory: 10-07 verifications closed; Prime: svos bridge handle, no z.ai vision alias 2026-10-08 00:12:03 -07:00
vh 469b3ba3cf feat(nh3-svos): SVOS a737a06 refresh — app-terminal on its own mesh origin (svos-terminal.phasefinal.com), app-knowledge, app-postoffice units; quiesce hook covers the new units 2026-10-07 23:17:18 -07:00
vh 9e972872e6 chore(albok-service): deploy 0.1.14 on nh3-albok (unit 4.3 write side + browse view, detector 2; albok-dev ask 8524) 2026-10-07 18:29:18 -07:00
vh 8a6d2f9433 feat(litellm): add glm-5.3, move gen-frontier pair to glm-5.3 (effort low/high), advertise 1M/128K on GLM 5.2/5.3 with a 128K default max_tokens 2026-10-07 17:30:39 -07:00
vh d99f3a1a8d chore(albok-service): deploy 0.1.13 on nh3-albok (unit 4.2 sensitivity gate; albok-dev ask 8413) 2026-10-07 11:38:05 -07:00
vh 7641012448 memory: Worldtree gate FAILs are the #416 ephemeral residual, not recall regressions 2026-10-07 07:49:45 -07:00
vh 3a9eca354a memory: snapshot — 2026-10-06 fv-ml1 rebalance, backup checker, Scriberr diarization, albok 0.1.12, gateway retention; in-flight compacted; 17 entries archived 2026-10-06 21:45:09 -07:00
vh 0f6c7a0912 feat(restic/irv-ml1): exclude arbo incognito uploads from the nightly backup
comfy-dev's ask for Prime's arbo 'incognito' runs: incognito uploads and chained
images are written to /worktank/comfyui/basedir/input/incognito-* and swept after
a TTL. input/ is a backup source, so one alive at 01:00 would be kept for up to
3 years. Verified on irv-ml1: resticprofile show lists the exclude, and a restic
dry-run of input/ skips an incognito-* canary while keeping a control canary.
2026-10-06 15:38:21 -07:00
vh ad939810e7 docs(albok-service): all wings migrated to generation collections; 0.1.10 rollback now needs a full reindex 2026-10-06 15:36:50 -07:00
vh 847424c3cf docs(litellm): mark store_prompts_in_spend_logs=false as a consumer guarantee (arbo incognito)
Verified 2026-10-06 for comfy-dev: the gateway keeps no request or response
content. A canary sent through 'gen' appears in none of SpendLogs' text columns,
LiteLLM's container log, any ana-docker container log, or flash-next's log
(positive controls hit on the same stores). In 24h, 0 of 281,432 spend rows
carried messages, response or proxy_server_request. Langfuse is retired, there
are no DB-stored callbacks, and LiteLLM_ErrorLogs is empty. The per-request
no-log flag skips third-party callbacks but not the proxy's own spend-log
callback (v1.97 source), so the guarantee is this setting. Comment-only change;
the live file was updated in place with no restart.
2026-10-06 15:36:09 -07:00
vh 6ec5a3060f memory: gen-large contention from jekyll; Prime moved it to sec-reasoning 2026-10-06 14:39:40 -07:00
vh efd31b4ef1 docs(scriberr): saved GPU+speaker profiles; first diarized job after the fixes 2026-10-06 13:36:31 -07:00
vh ec888c3130 fix(scriberr): model caches on /tank; HF_TOKEN is a placeholder (no real credential)
HF_HOME, TORCH_HOME and NLTK_DATA now point under /app/whisperx-env (the
/tank bind mount). Before, ~6 GB of models sat in the container layer and
every recreate threw them away. The cache was copied across (98/2/78 files,
apparent sizes identical).

HF_TOKEN is now a placeholder. Measured: with an invalid token, cached gated
pyannote models still load (huggingface_hub falls back to the cache on the 401),
and public models still download (HTTP 200). Scriberr only checks that the token
is non-empty. Re-verified on GPU 3: pyannote community-1 and WhisperX+3.1
diarization both exit 0 from the /tank cache with no downloads.
2026-10-06 13:33:17 -07:00
vh eaa32d6249 memory: mirror retention set; YaRN stays off (Prime) 2026-10-06 13:20:29 -07:00
vh 5896a7479c fix(scriberr): diarization works again: HF_TOKEN passthrough, pyannote env torchcodec pin (patch 0003); mirror retention; YaRN stays off
Scriberr: pyannote's diarization models are gated, and Scriberr had no Hugging
Face token, so every diarized job died at the diarize step (WhisperX after a full
CPU transcription). HF_TOKEN now passes through compose; the value is only in the
host .env (vault fv-ml1/hf-token). The separate pyannote env had torchcodec 0.16
(needs torch >=2.11/CUDA 13) beside torch 2.8, so pyannote 4 had no
AudioDecoder. Pinned to 0.7 by hand on the live env; patch 0003 makes it
durable at the next rebuild. WhisperX's adapter defaults to cpu/small/float32,
now documented. Both paths verified on GPU 3 with a real multi-speaker clip.

pbs-nh3: the backups-mirror prune job now keeps the primary's history
(last 3, daily 14, weekly 8, monthly 12, yearly 5). Dry-run: keep 738,
remove 3,194 across 32 groups; first run at the job's 00:00.
2026-10-06 13:20:21 -07:00
vh ef67546b9c memory: destroyed-guest backup residue pruned on pbs-ana and the pbs-nh3 mirror; mirror has no retention 2026-10-06 13:08:41 -07:00
vh e931b319a2 chore(albok-service): deploy 0.1.12 on nh3-albok (unit 4.1 bug-hunt fold; albok-dev ask 8199)
Image built from a clean archive of vh/albok 751a729 (tag albok-service/v0.1.12),
pushed as gitea.phasefinal.com/pfi/albok-service:0.1.12@sha256:a29a7e46...,
pinned by digest. Recreated between Nemi walks at 1254; healthy at 1254:48,
all four wings ready, canaries alive, write embedder agrees. Config unchanged.
Rollback: compose.yaml.pre-0.1.12 (0.1.11).
2026-10-06 12:54:55 -07:00
vh 24b7195bcd docs(backups): the PBS loop's defect triple of 2026-10-05/06 and the review rule
Three defects in one loop in ninety minutes, none visible by reading the
file, all caught by running it against known truth. The runbook's
tested-note now says what is actually tested (one positive control) and
what that implies for future edits.
2026-10-06 08:07:52 -07:00
vh e7bc70bc48 memory: backup checker fixes for destroyed guests, stdin swallow and snapshot age 2026-10-06 08:07:18 -07:00
vh d920cf3816 fix(check-backup-freshness): age PBS snapshots by their name, not the directory mtime
PBS rewrites index.json.blob inside a snapshot directory at every verify
(the next 02:30, then every 30 days per verification.cfg outdated-after 30)
and on notes/protect edits, which moves the directory mtime forward.
Measured: ana-pve/vm/101's 2026-10-04T10:00:04Z snapshot read as 2026-10-06.
A covered guest whose backups stopped would have alarmed up to a day late,
then gone quiet for ~2 days after each monthly re-verify.

The age now comes from the snapshot name (its backup start time).
Verified: the default run exits 0 with 28 fresh PBS groups and vm/101 dated
2026-10-04. Positive control BACKUP_MAX_AGE_HOURS=5 flags 10 groups by name
age, exit 1.
2026-10-06 08:07:04 -07:00
vh 0a348e548c fix(check-backup-freshness): report destroyed guests as policy residue, not STALE
A guest destroyed with 'qm destroy --purge' also drops out of the vzdump
job's exclude list, so its last snapshot silently ages into a false
🔴 once it passes the threshold (ana-pve/vm/110, destroyed 10-04, fired
this morning). Before reporting coverage, consult the owning cluster's
pvesh inventory: a guest the cluster no longer lists is reported in the
policy section as residue, never as stale. Inventory unreadable fails
loud (falls through to normal alarm).

Two traps pinned the hard way during verification:
- 'guest' is namespaced (ana-pve/vm/110); the case must match the
  segment (*/vm/*) and pre-set pveid so a foreign path shape fails the
  match, not the script, under set -u (infra-ops caught the first cut).
- ssh inside the while-read loop MUST take -n; without it ssh swallows
  the loop's remaining stdin and the entire PBS layer silently vanishes
  from the report while exit code and verdict stay green.
2026-10-06 08:04:17 -07:00
vh 14bf8681f0 memory: vm/110 residue — ask before pruning 2026-10-06 08:02:48 -07:00
vh b3a235c769 memory: keep the vm/110 retirement image 2026-10-06 08:02:42 -07:00
vh 49ecd9c2d7 memory: first backup check with the new layer; vm/110 STALE is the destroyed webhost 2026-10-06 08:02:36 -07:00
vh ccb014987c memory: Worldtree memory gate passed 10-05 and 10-06; the 10-04 negative-filing failure did not recur 2026-10-06 07:48:49 -07:00
vh c189f3daae chore(albok-service): deploy 0.1.11 on nh3-albok (unit 4.1 read priority; albok-dev ask 7991)
Image built from a clean archive of vh/albok ffc6d4e (tag albok-service/v0.1.11),
pushed as gitea.phasefinal.com/pfi/albok-service:0.1.11@sha256:4b641c3e...,
pinned by digest. Recreated between Nemi walks at 0202; healthy at 0202:23, all
four wings ready, canaries alive, write embedder agrees. Config unchanged.
Rollback is compose.yaml.pre-0.1.11, valid only until a wing's first 0.1.11 reindex.
2026-10-06 02:02:35 -07:00
vh e278b0171c memory: albok-dev closed the gen-small runaway loop on the Nemi side 2026-10-06 00:01:08 -07:00