memory: archive 13 settled 2026-05-30/31 entries (Recent 7 + Tried 6) to archival-memory.md
This commit is contained in:
@@ -193,6 +193,61 @@ _Entries moved out of persistent-memory.md to keep the active file scannable. Re
|
|||||||
parsing for Kokoro /dev/captioned_speech multi-line responses.
|
parsing for Kokoro /dev/captioned_speech multi-line responses.
|
||||||
_Archived 2026-06-01._
|
_Archived 2026-06-01._
|
||||||
|
|
||||||
|
- `[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).
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
- `[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`.
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
- `[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`.
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
- `[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.)
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
- `[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.)
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
- `[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`.
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
- `[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`.
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
|
||||||
## Tried and abandoned (archived)
|
## Tried and abandoned (archived)
|
||||||
|
|
||||||
- `[2026-04-30]` task-board workflow with
|
- `[2026-04-30]` task-board workflow with
|
||||||
@@ -431,3 +486,49 @@ _Entries moved out of persistent-memory.md to keep the active file scannable. Re
|
|||||||
- `[2026-05-27]` `head -c N` piped after a streaming curl SIGPIPEs the curl,
|
- `[2026-05-27]` `head -c N` piped after a streaming curl SIGPIPEs the curl,
|
||||||
killing the request early. Use file-write + separate read.
|
killing the request early. Use file-write + separate read.
|
||||||
_Archived 2026-06-01._
|
_Archived 2026-06-01._
|
||||||
|
|
||||||
|
- `[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.
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
- `[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.
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
- `[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.
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
- `[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.
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
- `[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`.
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
- `[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`.
|
||||||
|
_Archived 2026-06-03._
|
||||||
|
|
||||||
|
|||||||
+2
-88
@@ -335,54 +335,7 @@ _As of 2026-06-03:_
|
|||||||
schema field once they read it. Tracked: althing msg
|
schema field once they read it. Tracked: althing msg
|
||||||
`01KT2K2SY9N7AY69R9V0B4RXSW` to asset-engine-dev.
|
`01KT2K2SY9N7AY69R9V0B4RXSW` to asset-engine-dev.
|
||||||
|
|
||||||
- `[2026-05-31]` Dia2 deployed as **two fixed-model instances**
|
_32 older entries archived to archival-memory.md._
|
||||||
(`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._
|
|
||||||
|
|
||||||
## Tried and abandoned
|
## 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
|
same clips gave the correct answer (clone 0.79 to real Imogen, 0.10 to
|
||||||
default). Use ECAPA, not resemblyzer, for speaker-verification.
|
default). Use ECAPA, not resemblyzer, for speaker-verification.
|
||||||
|
|
||||||
- `[2026-05-31]` Building the dia2-capable image surfaced THREE upstream
|
_35 older entries archived to archival-memory.md._
|
||||||
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._
|
|
||||||
|
|||||||
Reference in New Issue
Block a user