29 Commits
Author SHA1 Message Date
kyleandClaude Opus 5.5 c8b3b21004 dixie: honcho-embed pooling cls -> last
Qwen3-Embedding is a causal model; its card pools the last token. With cls every
input embedded as its first token's state ("the cat sat on the mat" and "the stock
market crashed today" at cosine 1.0). A CPU side server with --pooling last
reproduced the card's example scores within 0.002 without a manual EOS. Honcho's
stored vectors and sift's embed cache are re-embedded / flushed after the switch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 23:46:37 -07:00
kyle ec39a569de dixie: Z tmpfiles rules use ~0755 so existing files stay 0644 (exec dropped), dirs become 0755 2026-09-25 07:49:51 -07:00
kyle e5c47007cd dixie: Z tmpfiles rules to relabel dropsonde2 trees 0755 recursively (fixes rsync's 0700 dirs) 2026-09-25 07:48:32 -07:00
kyle 9a5920da2b dixie: drop uid/gid from rsyncd modules — daemon runs as dropsonde via SSH, setgroups() fails otherwise 2026-09-25 03:03:40 -07:00
kyle 2305f4099a dixie: rsync --server --daemon sync key (no rrsync/python3 on dixie)
- authorized key forces rsync --server --daemon --config=/etc/rsyncd-dropsonde.conf
- environment.etc rsyncd-dropsonde.conf: cold + analysis modules, read only=false,
  use chroot=false, uid/gid dropsonde, max connections 2, lock file global
- tmpfiles: /srv/{cold,analysis}/dropsonde2 owned dropsonde
2026-09-25 02:45:44 -07:00
kyle 2e4aa6ed57 dixie: dropsonde sync key — rrsync -wo /srv (write-only, hyperborea -> dixie) 2026-09-25 02:24:26 -07:00
kyle 0ac90515bf dixie: use script attr for dropsonde-pg-setup (ExecStart heredoc+bash path broken) 2026-09-25 00:51:32 -07:00
kyle c402c1c599 dixie: drop python3.withPackages (duckdb CLI only) to trim the closure 2026-09-25 00:27:38 -07:00
kyle eed2821cea dixie: slice submodule uses sliceConfig, not serviceConfig 2026-09-24 23:42:12 -07:00
kyle 43b8e2288f dixie: listen_addresses under settings, not top-level 2026-09-24 23:41:40 -07:00
kyle 3980242da5 dixie: close the ExecStart indented string in dropsonde-pg-setup 2026-09-24 23:41:25 -07:00
kyle 4b751796c6 dixie: import analysis.nix (was never wired into the module list) 2026-09-24 23:36:31 -07:00
kyle 0c37b07099 dixie: label /srv/cold as ds2-cold, use sfdisk for wipe 2026-09-24 23:20:01 -07:00
kyle fddaffc825 dixie: fix slice unit name, pg-setup ExecStart, listen_addresses 2026-09-24 22:27:12 -07:00
kyle a40873685a dixie: open Postgres 5432 on tailscale0 for dropsonde 2026-09-24 22:17:44 -07:00
kyle 3c2a272722 dixie: dropsonde2 analysis tier (HDD /srv/cold, pg17+timescale+postgis+h3, analysis.slice, duckdb/polars) 2026-09-24 22:03:44 -07:00
kyle 4958493485 metrics: phase 1 orion+dixie (review, no switch)
VictoriaMetrics on 127.0.0.1:8428. LoadCredential for the Mattermost
webhook and the sift scrape token. Honcho scrapes keep a closed metric
name set. Meta-alerts for target-down, VM size, orion disk. Dixie gets
node_exporter, nvidia_gpu_exporter, and llama-server --metrics.

Tether labelled series still wait on titan's fix. Rule 2 is written
against reason=client_disconnect so it stays silent until then.
2026-09-23 23:22:38 -07:00
kyle c839f7c8ae dixie: fail over USB Wi-Fi to internal CNVi
NM dispatcher plus a boot oneshot keep the AX9L (mt7921u) primary and
bring up the on-box iwlwifi profile if the dongle is gone. Connection
PSKs stay on-box; this only selects the radio.
2026-09-23 14:03:30 -07:00
kyleandClaude Opus 5.5 46a7241dba dixie: 9B batch-size 512 so decodes interleave with long prefills
Prefill ran in 2048-token scheduler steps of ~2.4 s; each decoding slot
gets one token per step, so guardian calls (16 tokens) waited behind
Honcho's 10-28k-token prompts: p90 10 s, max 14 s under two sift
digests (2026-09-23 05:50). ubatch is already 512, so prefill
throughput is unchanged; steps drop to ~0.6 s.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 05:54:00 -07:00
kyleandClaude Opus 5.5 8790005c53 dixie: 9B KV pool 96k -> 128k
The unified 96k pool overflowed ~every 2-3 min under Honcho load
(39 events 2026-09-23 00:50-04:28). Each overflow fails every in-flight
slot with 'Context size has been exceeded', so Honcho retries and the
guardians' calls die with it. KV is ~20 KB/token on this model; 128k
costs ~0.65 GB of the ~2.5 GB free.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 04:47:24 -07:00
kyle c831385cbd dixie: tether on :11435 in front of llama-server
Pin kyle/tether at c89894b. Listen 0.0.0.0:11435, upstream
127.0.0.1:11434. Open 11435 on tailscale0 next to 11433/11434.
2026-09-23 02:44:22 -07:00
kyleandClaude Opus 5.5 b743d3f360 dixie: 9B to 8 slots over a 96k pool
A Honcho catch-up wave (48 deriver batches + 11 dreams + dialectic prefetches)
held all 6 slots with long thinking generations; tiny aux calls (title,
approval guardian) queued behind them and title_generation timed out at 60 s.
Two spare slots plus a bigger shared KV pool (so 6 long prompts can't exhaust
it). VRAM 9.7 GB.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 19:14:45 -07:00
kyleandClaude Opus 5.5 8a6d0039d3 dixie: 9B to 6 slots over a 64k pool
Room for the deriver, dialectic prefetches from three agents and their approval
guardians at once. Under full load (deriver + dialectic + guardian probes):
guardian p50 0.4 s / max 10 s, no KV-space failures. VRAM 8.9 GB.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 15:37:46 -07:00
kyleandClaude Opus 5.5 6d5586c63c dixie: retire the 4B dialectic model; 9B gets 4 slots over a 48k pool
Dialectic benchmark (8 hermes-fleet questions): Qwen3-4B answered in 2-12 s but
often wrongly (invented facts, 'no information' on things memory holds); the 9B
answered correctly. All Honcho dialectic levels now use the 9B (rift .env). Its
VRAM goes to the 9B's KV pool: at 2 x 16k, concurrent deriver + dialectic hit
'failed to find free space in the KV cache'. 9B 6.3 GB + embed 2.2 GB = 8.4 GB.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 14:29:01 -07:00
kyleandClaude Opus 5.5 3f68a43c21 dixie: patched chat template for the 9B (no raise on tool-loop turns)
The stock Ornith template raises 'No user query found in messages.' when a request
has no plain user turn, which Honcho's dialectic tool loop sends on later
iterations: 6 of 8 'low'-level dialectic calls failed with HTTP 500 when routed to
the 9B. The patched copy treats the last message as the query instead.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 13:26:18 -07:00
kyleandClaude Opus 5.5 72cae29d5c dixie: unified KV per model; Qwen thinking sampling for the 9B
kv-unified lets one request use a model's whole 16k (split slots capped each at
8k and every Honcho dialectic prompt of 11-17k tokens failed). 9B gets temp 0.6 /
top-p 0.95 / top-k 20 / min-p 0: in a 20-batch replay of Honcho's deriver the
0.8 default dropped 7 batches (empty or wrong-shape output); with these, 3,
and 1 with a format instruction on rift. VRAM unchanged at 11.5 GB.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 12:56:16 -07:00
kyleandClaude Opus 5.5 91b2e6b33e dixie: honcho-embed back to 2048/slot, with explicit batch-size
8192/slot (previous commit) cost 6.6 GB of compute buffers and the 9B then
failed to load; 4096/slot did not fit beside the 9B and dialectic either.
2048/slot with batch-size set explicitly; long inputs are handled on rift
instead (EMBEDDING_MAX_INPUT_TOKENS=1536 makes Honcho chunk). All three
models resident at 11.5 GB.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 11:24:35 -07:00
kyleandClaude Opus 5.5 12cfe1e519 dixie: size honcho-embed so long inputs fit one batch and one slot
batch-size defaulted to 2048 (capping ubatch) and ctx 8192 over 4 slots left
2048 per slot, so Honcho inputs over 2048 tokens failed with 'input is too
large to process'. Now batch/ubatch 8192, ctx 16384 over 2 slots = 8192/slot,
matching Honcho's EMBEDDING.MAX_INPUT_TOKENS. Verified a 6191-token input.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 11:20:15 -07:00
kyleandClaude Fable 5.1 b632e20fd6 dixie: new host — Aurora R11 helper-tier inference node
Alienware Aurora R11 (i7-10700, 64 GB, one RTX 3060 12 GB today; second card
when its fans are replaced). Headless, Wi-Fi only, unencrypted root by
decision (always-on box that must come back from a power cut unattended).

- llama.cpp router (CUDA, from unstable) on :11434 with the three helper
  models resident (--models-max 3): ornith 9B for the Hermes approval guardian
  / title / web_extract and Honcho deriver, qwen3-4b for Honcho dialectic,
  Qwen3-Embedding-0.6B for Honcho embeddings. Vision (qwen3-vl-8b) on its own
  on-demand server on :11433 since it does not fit beside them in 12 GB.
- Both servers tailnet-only (tailscale0 firewall); GPUs capped at 140 W
  (thermal hour 2026-09-21: 75 C plateau, no throttling).
- Model weights on the USB cache stick (ext4 label dixie-cache) bind-mounted
  into /var/lib/llama-server/models; filled from straylight with dixie-push.
- 6.12 LTS kernel (mt7921u for the AX9L USB Wi-Fi arriving 2026-09-24).
- SSH keys baked in: no console after install to add them from.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 21:53:40 -07:00