memory: archive 13 settled 2026-05-30/31 entries (Recent 7 + Tried 6) to archival-memory.md

This commit is contained in:
vh
2026-06-03 10:49:09 -07:00
parent 23f2b63884
commit 9090fb59d7
2 changed files with 103 additions and 88 deletions
+2 -88
View File
@@ -335,54 +335,7 @@ _As of 2026-06-03:_
schema field once they read it. Tracked: althing msg
`01KT2K2SY9N7AY69R9V0B4RXSW` to asset-engine-dev.
- `[2026-05-31]` Dia2 deployed as **two fixed-model instances**
(`dia2-2b` :8200, `dia2-1b` :8202) from `local/dia:v2`, retiring
legacy Dia 1.6B; catalog `dia` entry **removed → dia2-2b + dia2-1b**
(breaking for asset-engine). Rationale: the devnen wrapper is
single-model and IGNORES the OpenAI `model` field (verified on its live
OpenAPI), so the only way to offer both Dia2 models as real per-request
asset-engine choices is one fixed endpoint per model. `3139e81`
(deploy), `db15638` (catalog swap).
- `[2026-05-31]` Both dia2 catalog entries route to the wrapper's richer
**`/tts`** endpoint (not `/v1/audio/speech`) to expose the full control
surface (cfg_scale/temperature/top_p/cfg_filter_top_k/voice_mode/clone);
all defaults sourced from the wrapper's `CustomTTSRequest` Pydantic
blessed values. Voice default is `voice_mode: clone` +
`clone_reference_filename: Abigail.wav` so a stable (non-random-gender)
voice is the out-of-box behavior. `55602b7`, `5c47843`.
- `[2026-05-31]` Zonos REST adapter (`stacks/zonos/adapter/`,
`local/zonos-api`) — thin OpenAI-ish `/v1/audio/speech` FastAPI in front
of the Gradio-only Zonos SDK; JSON-envelope `{audio, audio_format,
seed}` (Zonos is the fleet's first seedable TTS). Port 8203 (moved off
8201 — collided with csm). Built; NOT deployed (stack down for VRAM).
Also fixed the upstream image's missing CMD (`71df6f7`). `81efa8d`.
- `[2026-05-31]` Catalog schema regenerated: added `CatalogLifecycle` +
`reproducibility.seed_field` (`b7b2130`). Resolves the stale-schema
hand-off; catalog now validates clean. (asset_engine `catalog.py`
Pydantic already supported both — schema file was just behind.)
- `[2026-05-31]` TTS bench expanded with `stacks/{dia,zonos,csm}`
(`666f7f3` dia+zonos, `a4b8c2a` csm). The bench already had Fish
S2-Pro / Chatterbox-Turbo / IndexTTS-2 / CosyVoice3 / Kokoro /
VibeVoice / Qwen3-TTS / Kyutai. (csm since removed 2026-06-01.)
- `[2026-05-31]` Remote browser/iPad/Vision-Pro driver seat for the
agent-fleet zellij session `Claude` stood up on nh3-dev (ttyd behind
Caddy, network-gated). Out of this repo — full architecture + the
HTTP2/OSC52/Safari-auth gotchas in auto-memory `reference_ttyd_fleet_seat`.
- `[2026-05-30]` esh-docker-vm NFS boot-ordering fix:
`playbooks/fix-esh-nfs-boot-ordering.yaml` (`c0458d9`, + `53157b1`
drop-in filename-collision fix) adds `_netdev,nofail` to the four
10.0.50.50 NFS mounts + a docker `After=remote-fs.target` drop-in —
resolves paperless `Exited(255)` on reboot. traefik also gained
`restart: unless-stopped`. Full incident → auto-memory
`incident_esh_docker_nfs_boot_race`.
_25 older entries archived to archival-memory.md._
_32 older entries archived to archival-memory.md._
## Tried and abandoned
@@ -493,43 +446,4 @@ _25 older entries archived to archival-memory.md._
same clips gave the correct answer (clone 0.79 to real Imogen, 0.10 to
default). Use ECAPA, not resemblyzer, for speaker-verification.
- `[2026-05-31]` Building the dia2-capable image surfaced THREE upstream
packaging quirks: (1) `pip install -e nari-labs/dia2` fails — no PEP 660
`build_editable` hook; (2) plain `pip install` builds an empty
`UNKNOWN-0.0.0` wheel (base setuptools 59.6 < dia2's required ≥70); (3)
`--no-deps` leaves `transformers`/`sphn`/`whisper-timestamped` missing. Fix
(`local/dia:v2`): copy the pure-python `dia2/` package into site-packages +
install ONLY those 3 deps; base torch/numpy already satisfy Dia2.
- `[2026-05-31]` Dia2 predefined voices (43, baked at `/app/voices`) are NOT
reachable from the `/tts` clone path — it resolves `clone_reference_filename`
against the reference_audio dir ONLY. The OpenAI `/v1/audio/speech` `voice`
param auto-resolves them (separate code path), which masked the gap. Fix:
stage `/app/voices/*` into `/worktank/dia/reference_audio`. Lesson: verify on
the endpoint the catalog ACTUALLY targets.
- `[2026-05-31]` `voice_mode=clone` with an empty `clone_reference_filename`
→ asset-engine serializes it as the literal string `"undefined"` → `/tts`
404. First observed on dia2; worked around in the catalog (default the field
to a real voice). **[2026-06-01] root cause found** — the Kokoro voice-blend
widget reading Shoelace `.value` before hydration (see Current state); the
real fix is asset-engine-side and is escalated.
- `[2026-05-31]` asset-engine `services.schema.json` is DERIVED (regen from the
Pydantic model via `dump_schema.py`) and had DRIFTED — rejected the
`lifecycle` field 12/14 services use. RESOLVED: regenerated with
`CatalogLifecycle` + `reproducibility.seed_field` (`b7b2130`). Lesson:
hand-editing `services.yaml` shape without regenerating re-introduces drift.
- `[2026-05-31]` ttyd-over-TLS forces HTTP/2 (kills ttyd's terminal WebSocket
→ blank screen); Safari/WebKit never sends HTTP basic-auth on WS upgrades.
Both solved for the fleet seat (Caddy forces HTTP/1.1; auth → network-gating)
— detail in auto-memory `reference_ttyd_fleet_seat`.
- `[2026-05-30]` esh-docker-vm: `hard` NFS mounts from 10.0.50.50 froze a
container worker in UNKILLABLE D-state when the NAS stalled — only a host
reboot clears it. Separately, `fstab defaults` (no `_netdev`) made NFS-bind
containers `Exited(255)` on reboot. → auto-memory
`incident_esh_docker_nfs_boot_race`.
_29 older entries archived to archival-memory.md._
_35 older entries archived to archival-memory.md._