TANHI — UDP layer telemetry
TANHI streams sparse, non-blocking JSON-line events over UDP so external tools (notably the SoulGlitch → TANHI HUD) can visualize per-layer forward/backward activity, timing, dtypes, and routing links (parallel branches / sequential substeps).
Implementation: poly/tanhi.go. Integration hooks live in poly/forward.go, poly/backward.go, and poly/wgpu_forward.go (GPU transformer path). Optional Welvet C-ABI exports: welvet/cabi/tanhi_ext.go.
Defaults
| Constant / env | Default | Meaning |
|---|---|---|
poly.DefaultTanhiUDPPort |
17481 | UDP destination port (IANA unassigned range). |
| Host | 127.0.0.1 |
When TanhiUDPConfig.Host is empty. |
| Disabled | nil / off |
VolumetricNetwork.Tanhi == nil or Enabled == false → no UDP. |
Configuration (TanhiUDPConfig)
Set on VolumetricNetwork.Tanhi:
Enabled— master switch.Host,Port— UDP listener address (engine sends to this address).SendShape— include approximate tensorshapein each event (CPU path uses activations when available; GPU path usesTanhiGPULayerShapeHint— no readback).
Telemetry is best-effort: a buffered queue (1024 packets); overflow drops silently so training/inference never blocks on HUD lag.
Wire format
Each datagram payload is one JSON object per line (newline-terminated). Schema version v: "tanhi1".
Typical fields:
| Field | Meaning |
|---|---|
seq |
Monotonic sequence number |
phase |
"fwd" or "bwd" |
idx |
Layer index in traversal (-1 or special indices possible on GPU fused paths) |
z, y, x, l |
Volumetric coordinate |
layer |
Layer type string |
dtype |
Integer dtype code |
connections |
Fan-out hint from weight masters (or override for GPU LM head) |
t0_ns, t1_ns |
Wall-clock nanoseconds around the layer |
shape |
Optional shape slice when SendShape is true |
links |
Optional routing targets for LayerParallel / LayerSequential (capped, for arc drawing) |
SoulGlitch / Glitch CLI
GLITCH_TANHI=1— enable when runningloom/glitchinteractively (or answer the prompt).TANHI_HOST,TANHI_PORT,TANHI_SHAPE=1— override host, port, and shape inclusion (same conventions inglitch/measure/*harnesses).
Open SoulGlitch first; set the listener port to match TANHI_PORT / 17481.
C-ABI (Welvet)
LoomNetworkTanhiConfigure— enable/disable, host C string, port (0 → default 17481), send-shape flag.LoomNetworkTanhiDisable— clearTanhion the network handle.LoomTanhiDefaultPort— returnsDefaultTanhiUDPPort.
Security note
UDP telemetry is localhost-oriented by default. Pointing Host at a remote machine sends layer metadata and timing to that address — use only on trusted networks when not using 127.0.0.1.