memory: snapshot — the Ada inference server is a stripped used R750xa
Dell R750xa JPJ1ZP3, 2x RTX 6000 Ada to be fitted, ComfyUI's new home at NH3. Diffing Dell's factory CSV against the reseller invoice shows four downgrades: half the RAM, the 2400 W PSUs, and the GPU risers, cables and high-performance fans all absent. Records the resolved GPU power chain, correcting my own first answer: the chassis' CPU 8-pin cabling is the right source type and NVIDIA 930-00030-1546-000 bridges it to the card's 12VHPWR, so the PCIe-type RCCWC I first proposed is withdrawn. Also closes the NVMe question — the backplane is SAS/SATA only — and notes that free PCIe slots may moot it. Auto-archival fired at 308 lines; seven entries moved to archival-memory.md. The 250-line target was not reached because the guards hold nearly everything else back as under 14 days or carrying open deferred work.
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
# Graph Report - eshpfi-management (2026-09-01)
|
||||
|
||||
## Corpus Check
|
||||
- 378 files · ~573,530 words
|
||||
- 382 files · ~576,491 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
|
||||
## Summary
|
||||
- 3878 nodes · 4117 edges · 426 communities (385 shown, 41 thin omitted)
|
||||
- 3906 nodes · 4144 edges · 424 communities (384 shown, 40 thin omitted)
|
||||
- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 38 edges (avg confidence: 0.71)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## Graph Freshness
|
||||
- Built from commit: `73866f6a`
|
||||
- Built from commit: `71426577`
|
||||
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
|
||||
- Run `graphify update .` after code changes (no API cost).
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
- blend_kokoro_voice.py
|
||||
- Handler
|
||||
- estimated_latency
|
||||
- Path
|
||||
- booth/app.py
|
||||
- bench.py
|
||||
- serve_nvfp4.sh
|
||||
- bench_w4a16_recheck.json
|
||||
@@ -217,7 +217,7 @@
|
||||
- phasefinal-web
|
||||
- build.sh script
|
||||
- heretic2-nvfp4-quant — fast char-rp-reasoning seat (NVFP4 + MTP)
|
||||
- booth/app.py
|
||||
- FastAPI
|
||||
- soong-lab push-to-deploy (gitea webhook → corviduo-dev, test-gated)
|
||||
- nh3-dev `~/development` — hourly off-box backup
|
||||
- nh3-dev-development-backup.sh script
|
||||
@@ -339,7 +339,7 @@
|
||||
- [2026-08-23] hrafn adopted; its CI deploy reported green while deploying nothing
|
||||
- optional
|
||||
- properties
|
||||
- gpu.py
|
||||
- kl_divergence.py
|
||||
- step
|
||||
- `[2026-08-27]` A transport failure that enters a measurement as a VALUE looks like whatever you hoped to find
|
||||
- host
|
||||
@@ -381,9 +381,9 @@
|
||||
- `[2026-08-27]` Run 3 gated: the rule PASSED and a k=25 follow-up found a self-harm guardrail collapse
|
||||
- CLOSED OUT (2026-08-23): ACME disabled; and the "all-port VIP" alarm was FALSE
|
||||
- ERP/RP tune run-01 COMPLETE — 7.36h, gate passed on the axis it was built for
|
||||
- stream_chunks
|
||||
- `[2026-09-01]` Ada migration settled on `zfs send` — and branch (b) was never available
|
||||
- CatalogField
|
||||
- ChunkResult
|
||||
- `[2026-09-01]` Matrix: 39-release Synapse upgrade, appservice namespace opened, admin API closed
|
||||
- type
|
||||
- `[2026-08-28]` althing v3.0.0 flag day (U9b) — the post office replaced the P2P bus, one-way
|
||||
- counted_classifier.py
|
||||
@@ -411,9 +411,7 @@
|
||||
- index-tts/app.py
|
||||
- parakeet/app.py
|
||||
- tts/app.py
|
||||
- adapter/server.py
|
||||
- test_keep_and_unkeep_go_through_the_same_name_guard
|
||||
- FastAPI
|
||||
- generate_pickup_id
|
||||
- license
|
||||
- version
|
||||
- FOLLOW-UP 4 (2026-08-23): a downstream WireGuard terminator costs nothing to forward through
|
||||
@@ -433,19 +431,19 @@
|
||||
## Surprising Connections (you probably didn't know these)
|
||||
- `convert()` --references--> `Any` [EXTRACTED]
|
||||
tools/mistral-small4-nvfp4/convert_hf_to_native.py → stacks/omnivoice/app.py
|
||||
- `_speaker_embedding()` --references--> `Tensor` [EXTRACTED]
|
||||
stacks/zonos/adapter/server.py → services/coldfusion-abliteration/kl_divergence.py
|
||||
- `test_cli_unlink_by_id_even_when_the_id_is_all_digits()` --calls--> `parse_link_entries()` [INFERRED]
|
||||
services/booth/tests/test_booth.py → services/booth/booth/links.py
|
||||
- `test_cli_unlink_of_a_stale_id_leaves_the_board_alone()` --calls--> `parse_link_entries()` [INFERRED]
|
||||
services/booth/tests/test_booth.py → services/booth/booth/links.py
|
||||
- `test_cli_unlink_rejects_a_non_id_non_index()` --calls--> `parse_link_entries()` [INFERRED]
|
||||
services/booth/tests/test_booth.py → services/booth/booth/links.py
|
||||
- `test_remove_on_a_board_with_no_file_is_a_no_op()` --calls--> `remove_link_entry()` [INFERRED]
|
||||
services/booth/tests/test_booth.py → services/booth/booth/links.py
|
||||
|
||||
## Import Cycles
|
||||
- None detected.
|
||||
|
||||
## Communities (426 total, 41 thin omitted)
|
||||
## Communities (424 total, 40 thin omitted)
|
||||
|
||||
### Community 0 - "quant_modelopt.py"
|
||||
Cohesion: 0.53
|
||||
@@ -761,7 +759,7 @@ Nodes (7): ana-ml2, GPU allocation policy, Hardware, Key paths, Network, Refresh
|
||||
|
||||
### Community 78 - "test_booth.py"
|
||||
Cohesion: 0.06
|
||||
Nodes (33): build_gallery(), Files in a booth as render items, with caption sidecars folded in. A…, (rendered, is_html). Markdown → HTML (fenced code, tables, sane lists); plain…, render_doc(), Releasing something already released is a no-op, not a 500., test_booth_autogallery_renders_media(), test_build_gallery_folds_caption_sidecars(), test_build_gallery_oversize_doc_is_not_inlined() (+25 more)
|
||||
Nodes (37): build_gallery(), Files in a booth as render items, with caption sidecars folded in. A…, (rendered, is_html). Markdown → HTML (fenced code, tables, sane lists); plain…, render_doc(), Releasing something already released is a no-op, not a 500., Both mutating routes must use resolve_booth, not raw path joining. A name…, It is a dotfile, so it must not inflate the item count or become a tile., test_booth_autogallery_renders_media() (+29 more)
|
||||
|
||||
### Community 79 - "pfi-tacticalrmm"
|
||||
Cohesion: 0.25
|
||||
@@ -1075,9 +1073,9 @@ Nodes (6): H, BaseHTTPRequestHandler, Handler, zed-fim-proxy — a keyless front
|
||||
Cohesion: 0.67
|
||||
Nodes (3): anyOf, default, estimated_latency
|
||||
|
||||
### Community 160 - "Path"
|
||||
Cohesion: 0.14
|
||||
Nodes (18): booth_age_seconds(), booth_image_names(), classify(), doc_kind(), list_booths(), _newest_mtime(), Path, Image files in a booth, in gallery (sorted-rel) order — for viewer prev/next. (+10 more)
|
||||
### Community 160 - "booth/app.py"
|
||||
Cohesion: 0.13
|
||||
Nodes (22): booth_age_seconds(), booth_image_names(), classify(), doc_kind(), is_expired(), list_booths(), _newest_mtime(), Path (+14 more)
|
||||
|
||||
### Community 163 - "bench_w4a16_recheck.json"
|
||||
Cohesion: 0.20
|
||||
@@ -1108,8 +1106,8 @@ Cohesion: 0.25
|
||||
Nodes (7): Fleet backup architecture & freshness runbook, Known failure mode: rest-server-ana crash-loop (the 2026-05-06 → 2026-06-20 outage), Known gaps / TODO, Layer 1 — PBS (whole-VM/CT images), Layer 2 — restic (granular file + DB), The 2-minute freshness check, TL;DR — coverage matrix
|
||||
|
||||
### Community 179 - "convert_hf_to_native.py"
|
||||
Cohesion: 0.07
|
||||
Nodes (42): ArgumentParser, _arrow_rows(), _datasets_root(), load_calibration(), load_evaluation(), Held-out evaluation prompts. Returns (harmless, harmful, provenance). This, Read the `text` column out of one cached HF arrow split., Return (harmful, harmless, provenance). `builtin` is the legacy 8/8 set. `m (+34 more)
|
||||
Cohesion: 0.10
|
||||
Nodes (29): _get_model(), OpenAI-ish /v1/audio/speech adapter in front of the Zonos Python SDK. Why this, _speaker_embedding(), speech(), SpeechRequest, ArgumentParser, _is_mtp(), main() (+21 more)
|
||||
|
||||
### Community 181 - "Mistral Small 4 → NVFP4 (vision-intact) build tooling"
|
||||
Cohesion: 0.29
|
||||
@@ -1164,8 +1162,8 @@ Cohesion: 0.33
|
||||
Nodes (5): Containerization plan (pending build), Live invocation (source of truth), Status (2026-07-16): NATIVE, config was live-only — now captured here, The engine, zonos-engine — ZONOS2 native TTS engine (`:1920`, irv-ml1 3090)
|
||||
|
||||
### Community 200 - "omnivoice/app.py"
|
||||
Cohesion: 0.14
|
||||
Nodes (12): Any, _base_gen_kwargs(), _pcm16(), Thin FastAPI wrapper exposing OmniVoice (k2-fsa/OmniVoice) for the fleet. Upstr, Validate the voice source and build the MODEL.generate kwargs minus `text`., Synthesize one text span -> (float32 audio [-1,1], audio_seconds)., float32 [-1,1] -> little-endian s16 PCM bytes (24 kHz mono on the wire)., WAV header. data_len=None -> streaming (0xFFFFFFFF sizes, read to EOF); an i (+4 more)
|
||||
Cohesion: 0.06
|
||||
Nodes (46): Any, ChunkConfig, ChunkResult, ClockFn, GenerateFn, _base_gen_kwargs(), _chunk_config(), GenParams (+38 more)
|
||||
|
||||
### Community 202 - "phasefinal-web"
|
||||
Cohesion: 0.29
|
||||
@@ -1175,9 +1173,9 @@ Nodes (6): Content constraints, Deploy, DNS, phasefinal-web, Routing — and the
|
||||
Cohesion: 0.29
|
||||
Nodes (6): 2026-07-14 status — gibberish FIXED, format PIVOTED to modelopt for MTP, Artifacts (on ana-ml2), Fire sequence, Gates, heretic2-nvfp4-quant — fast char-rp-reasoning seat (NVFP4 + MTP), Serve target
|
||||
|
||||
### Community 205 - "booth/app.py"
|
||||
Cohesion: 0.11
|
||||
Nodes (18): fixture, create_app(), _from_env(), generate_pickup_id(), human_dur(), The Booth — a standing web server that renders drop-folders as ephemeral media…, A Content-Disposition-safe `<booth>.zip` (strip quotes/control chars)., Reduce a client-supplied filename to a safe basename (no path, no hidden). (+10 more)
|
||||
### Community 205 - "FastAPI"
|
||||
Cohesion: 0.18
|
||||
Nodes (12): FastAPI, fixture, create_app(), _from_env(), human_dur(), client(), test_human_dur(), test_upload_rejects_too_large() (+4 more)
|
||||
|
||||
### Community 206 - "soong-lab push-to-deploy (gitea webhook → corviduo-dev, test-gated)"
|
||||
Cohesion: 0.33
|
||||
@@ -1456,8 +1454,8 @@ Cohesion: 0.17
|
||||
Nodes (11): ANSWERED — Lobe TTS is a SPLIT: endpoint env-driven, voice/model/format UI-only, ⚠️ Capacity — tell tts-dev if this ramps, ⚠️ CORRECTION — my earlier voice foot-gun warning was wrong, Credential posture, Deploy, lobe-chat — chat frontend over the LiteLLM gateway (esh-docker-vm), System Agent — why `gpt-5-mini` was being called, The real constraint is SIZE, not length (+3 more)
|
||||
|
||||
### Community 296 - "sweep_once"
|
||||
Cohesion: 0.16
|
||||
Nodes (16): is_expired(), Pure age question. Deliberately does NOT consider the keep sentinel. Expiry…, Wipe every direct-child booth older than the TTL. Returns names wiped. Only…, sweep_once(), Age a booth and everything in it well past any test TTL., The point of the whole feature: expiry does not apply to a kept booth., is_expired stays a pure age question; only the sweeper honours the pin. Keeping…, Counter-intuitive, and the reason release-then-sweep is not a delete path.… (+8 more)
|
||||
Cohesion: 0.19
|
||||
Nodes (13): Wipe every direct-child booth older than the TTL. Returns names wiped. Only…, sweep_once(), Age a booth and everything in it well past any test TTL., The point of the whole feature: expiry does not apply to a kept booth., is_expired stays a pure age question; only the sweeper honours the pin. Keeping…, Counter-intuitive, and the reason release-then-sweep is not a delete path.…, It does rejoin the sweep — just on a fresh clock, not the old one., _stale() (+5 more)
|
||||
|
||||
### Community 297 - "heretic2-charrp-reasoning — NVFP4 + native MTP reasoning seat (ana-ml2)"
|
||||
Cohesion: 0.40
|
||||
@@ -1556,8 +1554,8 @@ Cohesion: 0.70
|
||||
Nodes (4): ask(), classify(), load_prompts(), main()
|
||||
|
||||
### Community 327 - "worker/app.py"
|
||||
Cohesion: 0.14
|
||||
Nodes (10): RuntimeError, get_gpu_status(), post_train(), FastAPI surface for the LoRA training worker (§4.1 API — arbo is the client). E, TrainRequest, Static configuration for the LoRA training worker. Everything load-bearing is a, LoRA training worker — a host service (runs as llmuser on irv-ml1) that runs sd-, Busy (+2 more)
|
||||
Cohesion: 0.12
|
||||
Nodes (18): RuntimeError, get_gpu_status(), post_train(), FastAPI surface for the LoRA training worker (§4.1 API — arbo is the client). E, TrainRequest, Static configuration for the LoRA training worker. Everything load-bearing is a, _bus_id_by_index(), _cmdline() (+10 more)
|
||||
|
||||
### Community 329 - "`[2026-08-20]` Cold-Fusion abliteration — Robinson recipe captured, and the transformers/DeltaNet bf16-NaN fight"
|
||||
Cohesion: 0.29
|
||||
@@ -1607,9 +1605,9 @@ Nodes (4): default, title, type, optional
|
||||
Cohesion: 0.11
|
||||
Nodes (19): additionalProperties, properties, required, title, type, CatalogAuditEntry, title, type (+11 more)
|
||||
|
||||
### Community 343 - "gpu.py"
|
||||
Cohesion: 0.42
|
||||
Nodes (8): _bus_id_by_index(), _cmdline(), gpu_status(), _query_compute_apps(), _query_devices(), GPU status for arbo's device-aware scheduler (GET /gpu-status). arbo steers a l, Return `{devices: [...], tts_on_3090: bool}`. Degrades to an error field on nvid, _run()
|
||||
### Community 343 - "kl_divergence.py"
|
||||
Cohesion: 0.13
|
||||
Nodes (20): _arrow_rows(), _datasets_root(), load_calibration(), load_evaluation(), Held-out evaluation prompts. Returns (harmless, harmful, provenance). This, Read the `text` column out of one cached HF arrow split., Return (harmful, harmless, provenance). `builtin` is the legacy 8/8 set. `m, collect() (+12 more)
|
||||
|
||||
### Community 344 - "step"
|
||||
Cohesion: 0.50
|
||||
@@ -1767,17 +1765,17 @@ Nodes (4): ACME disabled — the WAN IP now exposes nothing, CLOSED OUT (2026-08
|
||||
Cohesion: 0.17
|
||||
Nodes (10): ERP/RP tune run-01 COMPLETE — 7.36h, gate passed on the axis it was built for, lora_B gate — PASSED, twice, The confound I built and he caught, The gate — brokkr-smithy-dev, The noise-floor near-miss — the methodology lesson, The run, ⚠⚠ But it is the WRONG AXIS — brokkr's catch, and it is the better one, Refusal retention — the axis the gate did not have, and the axis I measured wrong (+2 more)
|
||||
|
||||
### Community 388 - "stream_chunks"
|
||||
Cohesion: 0.19
|
||||
Nodes (17): ClockFn, GenerateFn, ChunkConfig, _ema(), _est_gen_time(), plan_chunk(), protect_first_audio(), Split into sentence units, preserving punctuation. Whitespace-collapsed. (+9 more)
|
||||
### Community 388 - "`[2026-09-01]` Ada migration settled on `zfs send` — and branch (b) was never available"
|
||||
Cohesion: 0.11
|
||||
Nodes (16): `[2026-09-01]` Ada migration settled on `zfs send` — and branch (b) was never available, (c) rebuild-from-source: rejected on reproducibility, not time, Open, The answer: (a) `zfs send`. Measured, not derived., ⚠ The two-boxes confusion — do not repeat it, Their distinction, worth keeping, Why (b) — physically moving the disks — was never on the table, `[2026-09-01]` pfi-gx10 (ASUS Ascent GX10) onboarded headless — and it is the intended new home for run 3c (+8 more)
|
||||
|
||||
### Community 389 - "CatalogField"
|
||||
Cohesion: 0.33
|
||||
Nodes (6): additionalProperties, description, required, title, type, CatalogField
|
||||
|
||||
### Community 390 - "ChunkResult"
|
||||
Cohesion: 0.15
|
||||
Nodes (13): ChunkConfig, ChunkResult, _chunk_config(), _log_chunk(), Streaming /tts request — chatterbox-fast-compatible wire protocol., Streaming: chunked 24 kHz mono PCM (or open-ended WAV) for live consumers., tts(), TTSStreamRequest (+5 more)
|
||||
### Community 390 - "`[2026-09-01]` Matrix: 39-release Synapse upgrade, appservice namespace opened, admin API closed"
|
||||
Cohesion: 0.22
|
||||
Nodes (8): `[2026-09-01]` Matrix: 39-release Synapse upgrade, appservice namespace opened, admin API closed, Conventions ratified (operator, 2026-09-01), Push reality — measured, and it inverts the obvious reading, QR sign-in — requires MAS, deferred, Shared-secret registration gotcha, `/_synapse/admin` closed to the internet, The appservice namespace — `exclusive: true` → `false`, The upgrade
|
||||
|
||||
### Community 391 - "type"
|
||||
Cohesion: 0.50
|
||||
@@ -1800,8 +1798,8 @@ Cohesion: 0.19
|
||||
Nodes (14): Path, test_published_relative_path(), test_published_relative_path_explicit_train_id_wins(), ValueError, InvalidTrainRequest, published_relative_path(), Fixed-invocation command builder — the enforcement point for INV-T7. arbo hands, The ComfyUI-relative loras path for a succeeded LoRA (Phase 2 publish step). (+6 more)
|
||||
|
||||
### Community 396 - "BaseModel"
|
||||
Cohesion: 0.19
|
||||
Nodes (12): ACEStepInput, ACEStepOutput, generate_audio(), initialize_pipeline(), Generate music; respond with the audio bytes inline. Pre-2026-05-11 this re, ACEStepPipeline, SpeechRequest, BaseModel (+4 more)
|
||||
Cohesion: 0.31
|
||||
Nodes (7): ACEStepInput, ACEStepOutput, generate_audio(), initialize_pipeline(), Generate music; respond with the audio bytes inline. Pre-2026-05-11 this re, ACEStepPipeline, BaseModel
|
||||
|
||||
### Community 398 - "_cli"
|
||||
Cohesion: 0.25
|
||||
@@ -1871,13 +1869,9 @@ Nodes (8): OfflineRecognizer, _decode(), _ensure_model_present(), _load_recogniz
|
||||
Cohesion: 0.30
|
||||
Nodes (7): _build_prompt(), _cap(), _decode(), _encode_ref(), tts(), tts_stream(), TTSReq
|
||||
|
||||
### Community 420 - "adapter/server.py"
|
||||
Cohesion: 0.31
|
||||
Nodes (6): _get_model(), OpenAI-ish /v1/audio/speech adapter in front of the Zonos Python SDK. Why this, _speaker_embedding(), speech(), JSONResponse, Zonos
|
||||
|
||||
### Community 422 - "FastAPI"
|
||||
Cohesion: 0.47
|
||||
Nodes (4): FastAPI, lifespan(), sfx(), SfxRequest
|
||||
### Community 420 - "generate_pickup_id"
|
||||
Cohesion: 0.24
|
||||
Nodes (7): generate_pickup_id(), Reduce a client-supplied filename to a safe basename (no path, no hidden)., A human-readable id like '4-wombat' or 'star-84'. `exists(name)->bool` gates…, safe_upload_name(), test_generate_pickup_id_avoids_collision(), test_generate_pickup_id_format(), test_safe_upload_name()
|
||||
|
||||
### Community 423 - "license"
|
||||
Cohesion: 0.67
|
||||
@@ -1892,19 +1886,19 @@ Cohesion: 0.67
|
||||
Nodes (3): Design consequences of terminating downstream — the parts that need decisions, FOLLOW-UP 4 (2026-08-23): a downstream WireGuard terminator costs nothing to forward through, Standing recommendation
|
||||
|
||||
## Knowledge Gaps
|
||||
- **2337 isolated node(s):** `⚠ The password is NOT in this copy`, `/_synapse/admin is LAN-only`, `Upgrades`, `Active migration — docker.io 20.10 → docker-ce 29.x`, `Architecture decisions (durable)` (+2332 more)
|
||||
- **2357 isolated node(s):** `The answer: (a) `zfs send`. Measured, not derived.`, `Why (b) — physically moving the disks — was never on the table`, `(c) rebuild-from-source: rejected on reproducibility, not time`, `⚠ The two-boxes confusion — do not repeat it`, `Their distinction, worth keeping` (+2352 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components.
|
||||
- **41 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
- **40 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
|
||||
## Suggested Questions
|
||||
_Questions this graph is uniquely positioned to answer:_
|
||||
|
||||
- **Why does `Tensor` connect `convert_hf_to_native.py` to `adapter/server.py`?**
|
||||
- **Why does `Tensor` connect `convert_hf_to_native.py` to `kl_divergence.py`?**
|
||||
_High betweenness centrality (0.005) - this node is a cross-community bridge._
|
||||
- **Why does `divergences()` connect `kl_divergence.py` to `convert_hf_to_native.py`?**
|
||||
_High betweenness centrality (0.004) - this node is a cross-community bridge._
|
||||
- **Why does `_speaker_embedding()` connect `adapter/server.py` to `convert_hf_to_native.py`?**
|
||||
_High betweenness centrality (0.004) - this node is a cross-community bridge._
|
||||
- **What connects `⚠ The password is NOT in this copy`, `/_synapse/admin is LAN-only`, `Upgrades` to the rest of the system?**
|
||||
_2337 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
- **What connects `The answer: (a) `zfs send`. Measured, not derived.`, `Why (b) — physically moving the disks — was never on the table`, `(c) rebuild-from-source: rejected on reproducibility, not time` to the rest of the system?**
|
||||
_2357 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
- **Should `Status + Open Issues` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.05555555555555555 - nodes in this community are weakly interconnected._
|
||||
- **Should `CatalogReproducibility` be split into smaller, more focused modules?**
|
||||
|
||||
Reference in New Issue
Block a user