Files
harness-tools/docs/todos.md
T

2.6 KiB

Todos

Investigate transient concurrent NeMo benchmark failures

During Dictate Phase 0 on 26AUG2026, repeated overlapping throwaway benchmark processes produced two one-off failures in the external /srv/data/tools/parakeet-v3/.venv environment:

  1. ASRModel.restore_from() raised MemoryError while OmegaConf rebuilt joint.vocabulary. The exact clean/noisy/silence harness passed on its immediate rerun.
  2. A later production-adapter check raised ValueError: bad marshal data (invalid reference) while importing torch._tensor. An immediate standalone import torch succeeded, and the cached _tensor.cpython-312.pyc passed marshal.loads().

The production service serializes model loading and inference and therefore does not intentionally launch concurrent NeMo processes. Before treating concurrent workers as supported, build a repeatable cold-load stress loop, monitor process and cgroup memory, disable bytecode writes, and determine whether the failures come from NeMo/OmegaConf resource pressure or concurrent access to the external environment's bytecode cache.

Repair nono self-diagnosis after terminal path drift

During Dictate waveform testing on 26AUG2026, every Unix socket bind() in services/dictate/tests/test_unix_server.py failed with EACCES or EPERM, including when TMPDIR pointed inside the repository worktree. The required diagnostic also failed:

$ nono why --self --path /tmp --op readwrite
nono: Configuration parse error: sandbox state path drifted at reload: serialized resolved=/dev/pts/15, actual resolved=/dev/null

Reproduce in a non-interactive or reloaded Pi session, determine whether /dev/pts/* should be serialized by identity rather than resolved path, and make nono why --self report the active policy even after the controlling terminal changes. Also verify whether the Pi profile intentionally denies AF_UNIX socket creation in otherwise writable paths; the Dictate service loop tests need local throwaway sockets.

Reuse the verified Dictate model during reinstall

The protocol-v2 reinstall on 26AUG2026 attempted to download the pinned model again even though the exact model already existed under ~/.local/share/pi-dictate/models/. The sandbox correctly blocked unapproved access to huggingface.co, so installation had to be repeated with the installed model passed explicitly through --model-source.

Teach services/dictate/install.sh to checksum an existing model first and keep it when it matches MODEL_SHA256. Download only when the model is absent or invalid, while preserving the current atomic temporary-file replacement for new model sources.