Files
vh 9b9f0625c9 fix(refresh): refuse to promote an empty capture over a good snapshot
ssh exiting 0 is not proof the capture is usable — the inspect script can emit
nothing and both refresh scripts would mv that over a good system-details.txt and
report 'ok (0 bytes)'. Every reader tests the snapshot with -s, so the writer was
producing an artifact its own readers call invalid: a guard whose test disagrees
with its writer's contract has quietly stopped guarding. Prompted by
brokkr-smithy-dev hitting the same shape from the other side (a -s test against a
sentinel written with touch, a precondition that could never pass).

- empty capture -> refused, previous snapshot kept, host counted as failed (exit 1)
- capture under 1/4 of the previous -> promoted but flagged, since a host can
  legitimately shed services and the script should not guess
- header + CLAUDE.md contract lines corrected to say what is actually guaranteed
- verified red (empty inspect -> FAIL, snapshot intact, rc=1) then green (real host
  -> ok 6727 bytes)
2026-09-09 16:58:25 -07:00

203 lines
6.6 KiB
Plaintext

===== HOST =====
Hostname: nh3-dev.phasefinal.com
Date: 2026-09-09T16:58:11-07:00
Uptime: up 1 week, 5 days, 11 hours, 10 minutes
OS: Debian GNU/Linux 12 (bookworm)
Kernel: 6.1.0-49-amd64
Arch: x86_64
===== HARDWARE =====
CPU cores: 16
CPU model: QEMU Virtual CPU version 2.5+
MemTotal: 27.4 GB
MemAvailable: 12.0 GB
===== GPUS =====
nvidia-smi not present (no NVIDIA GPUs or driver not installed)
===== FILESYSTEMS (df) =====
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 245G 173G 60G 75% /
10.100.50.50:/volume1/Backup 42T 32T 11T 76% /mnt/backup
10.100.50.50:/volume1/smithy 42T 32T 11T 76% /mnt/smithy
===== PERSISTENT MOUNTS (/etc/fstab, non-comment) =====
UUID=689f8c0c-1230-43a5-93c2-6baf76867d70 / ext4 errors=remount-ro 0 1
UUID=97bca850-bf72-4881-ae33-23d9b68315b6 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
10.100.50.50:/volume1/Backup /mnt/backup nfs defaults 0 0
10.100.50.50:/volume1/smithy /mnt/smithy nfs _netdev,nofail,x-systemd.automount,vers=4.1 0 0
===== TARGETED DATA PATHS =====
/opt (total: 1.9G)
total 12
drwxr-xr-x 3 root root 4096 2026-06-04 14:08 .
drwxr-xr-x 18 root root 4096 2026-06-07 13:16 ..
drwxr-xr-x 10 root root 4096 2026-08-01 12:41 ms-playwright
/var/lib/docker (total: 4.0K)
/srv (total: 4.0K)
total 8
drwxr-xr-x 2 root root 4096 2024-06-12 12:59 .
drwxr-xr-x 18 root root 4096 2026-06-07 13:16 ..
===== DOCKER =====
Server: 20.10.24+dfsg1 Client: 20.10.24+dfsg1
----- docker info -----
Containers: 5 (running 3, paused 0, stopped 2)
Images: 325
Runtimes: map[io.containerd.runc.v2:{runc [] <nil>} io.containerd.runtime.v1.linux:{runc [] <nil>} runc:{runc [] <nil>}]
Default runtime: runc
Storage driver: overlay2
Root dir: /var/lib/docker
Server version: 20.10.24+dfsg1
----- running containers -----
NAMES IMAGE STATUS PORTS
talk local/talk:v4 Up 18 hours (healthy) 0.0.0.0:8092->8443/tcp
vastblue-u5-pg postgres:16 Up 3 days 0.0.0.0:55433->5432/tcp, :::55433->5432/tcp
----- all containers -----
NAMES IMAGE STATUS
talk local/talk:v4 Up 18 hours (healthy)
vastblue-u5-pg postgres:16 Up 3 days
althing-post-office althing-post-office:local Exited (137) 12 days ago
grimnir-dummy-target python:3.13-slim Exited (255) 12 days ago
sharp_sinoussi b17950483b74 Exited (2) 3 months ago
----- networks -----
NAME DRIVER SCOPE
bridge bridge local
grimnir-tracer-net bridge local
host host local
none null local
talk_default bridge local
----- networks (external, non-default — worth knowing for compose external: true) -----
grimnir-tracer-net
talk_default
----- named volumes -----
VOLUME NAME DRIVER
0a1ad370e11b3e41c565429b99885039a6ef60baec65f7d86cff7659381212e8 local
1a7877d6e4f02056b6d19d89d30c8cdd163719ded8ae12bfef94471ef765abdf local
1f934d7d319da86d2b624d15f16477bce02fae4f3ca9a64b618e521e1f61c231 local
02c20a181ec3d9dfefa130e9474633c073cfddcaa0bea7e66e50e9c901e59cd4 local
6ec972c1bab4f004e666d3cab20f77b2985157a6a3a075efdb826a4eec8399cd local
6f79f1af8583f182df4660a9e0b45f3037e7462ac81dcf5a9f8328a4f8f04a3e local
8b1d77980b517df27267dc5664045a87070c48936658dfb5206513e2a53c7c8a local
047ff78fe8797c88116aa33952c2ee2b550212d94a320f277b6aa57ea17b555f local
054c13b2bc932eb4b26bcde2be65d2685d2dd5446f5174e1799209f839f99bef local
758b3c52f02f3b1984f8880d83e810760729bd612716d9a40102896d95a2891a local
2043e5d75f88373bc0c9d55b14d4c95487e1adbe040f7168deb481cde6468410 local
a6e4cbf1f328c986293a587e142fe1dd8ec592a62170f2ef783adb98a7b5ab25 local
aa6d3222027fbaba5a55455914324537dabdbdf21ce970f52ac222fc5431b0f1 local
althing-post-office-data local
c3fded26f46f925e6a5e2b6fcf75c56b78544af8a1bbfaf978bde4450804c625 local
cf2390953b60b0aa0b9300a6eb3f85078236c27b2538fa8af1219b5a16f6a563 local
d766391ab892abc6f08466acd5d53ee7cae780f68048aafeeb2643b101922716 local
supabase_edge_runtime_jackdaw local
----- compose projects currently running -----
talk
===== COMPOSE FILES (/opt/docker/compose/) =====
/opt/docker/compose not present
===== CONFIG LAYOUT (/opt/docker/conf/ — top 200 entries) =====
/opt/docker/conf not present
===== LISTENING PORTS =====
0.0.0.0:111
0.0.0.0:22
0.0.0.0:5174
0.0.0.0:55433
0.0.0.0:8010
0.0.0.0:8090
0.0.0.0:8092
0.0.0.0:8093
0.0.0.0:8321
0.0.0.0:8391
0.0.0.0:8443
0.0.0.0:8770
0.0.0.0:8791
100.64.0.4:37067
[::]:111
127.0.0.1:17681
127.0.0.1:17682
127.0.0.1:2019
127.0.0.1:2201
127.0.0.1:38111
127.0.0.1:8000
127.0.0.1:9477
[::1]:5333
[::1]:9477
[::]:22
*:443
*:5173
[::]:55433
*:7681
*:7682
*:80
*:8477
[fd7a:115c:a1e0::4]:40203
===== MODEL / HUGGINGFACE CACHES =====
/home/lkraven/.cache/huggingface (7.0G)
hub entries:
CACHEDIR.TAG
datasets--agentlans--combined-roleplay
datasets--anthracite-org--c2_logs_32k_llama3_qwen2_v1.2
datasets--anthracite-org--kalo-opus-instruct-22k-no-refusal
datasets--anthracite-org--nopm_claude_writing_fixed
datasets--anthracite-org--stheno-filtered-v1.1
datasets--bigcode--bigcodebench-hard
datasets--ccdv--govreport-summarization
datasets--Dampfinchen--Creative_Writing_Multiturn
datasets--deepvk--NonverbalTTS
datasets--detection-datasets--coco
datasets--glaiveai--glaive-function-calling-v2
datasets--go_emotions
datasets--interstellarninja--hermes_reasoning_tool_use
datasets--jondurbin--airoboros-3.2
datasets--jondurbin--gutenberg-dpo-v0.1
datasets--kalomaze--Opus_Instruct_3k
datasets--laion--Project-Gutenberg
datasets--lara-martin--FIREBALL
datasets--lemon07r--VellumK2T-Fiction-SFT-01
datasets--lemonilia--LimaRP
datasets--Moemu--Muice-Dataset
datasets--mpasila--LimaRP-PIPPA-Mix-8K-Context
datasets--mrcuddle--literotica-pile
datasets--open-thoughts--OpenThoughts-114k
datasets--open-thoughts--OpenThoughts3-1.2M
datasets--PleIAs--common_corpus
datasets--pszemraj--qmsum-cleaned
datasets--PygmalionAI--PIPPA
datasets--rafaelpadilla--coco2017
===== DOCKER-ADJACENT SYSTEMD SERVICES =====
containerd.service running
docker.service running
===== DONE =====
Paste the above back into the chat, or pass a path as argv[1] to save.