3.5 KiB
Ponytail audit — repo-wide over-engineering scan, 2026-09-09
Whole-tree audit (ponytail-audit skill), not a diff review. The only real
code in this repo is scripts/update.sh (253L) and scripts/switch-model.sh
(50L), plus docker-compose.yml and .env.example; the rest is docs.
switch-model.sh and the compose comments (ROCm GID workarounds,
GPU_MAX_HW_QUEUES rationale, lazytainer label placement) are load-bearing
and lean — left alone. Scope: over-engineering and complexity only;
correctness/security/performance out of scope. Findings ranked biggest cut
first. One-shot report — nothing was applied.
Findings
-
delete:thedownloader-fastline — it references a service removed in5d6a17f("feat: remove llama-server-fast") and no longer exists indocker-compose.yml. Underset -euo pipefail,docker compose run downloader-fasterrors on the unknown service and aborts everyupdate.shrun right after config sync, before omniroute comes up. Dead code that also breaks the mandatory deploy flow. Remove the line. [scripts/update.sh:235] -
delete:the entire gum path —ensure_gum()(~27L, L59–85), theGUM_VERSION/GUM_DIR/GUM_BINvars (L56–58), the vendoredscripts/vendor/gum_0.14.5_Linux_x86_64.tar.gz(4.4MB checked into git), the download fallback, and theif [ -n "$gum_bin" ]branch (L123, L127–130). The plain-bash fallback (L131–148) already makes the identical decision (which keys take the new value) whenever gum is absent; the gum TUI is a speculative nicer prompt on top of a working path. ~4.4MB in git + arch detection + a.cache/gumlayer, all to prettify a rare interactive conflict. Replacement: nothing — always use the plain-bash one-screen prompt. [scripts/update.sh, scripts/vendor/] -
delete:stalellama-server-fast/fastModelreferences — the fast model was removed but the docs still describe a two-model Qwen Code setup..env.example:98comment still lists it;docs/coding-cli-setup/index.md:32says "2 models: chat +fastModel"; anddocs/coding-cli-setup/qwen-code.mdcarries a whole fast-model section (11 refs: thefastModelconfig block,LLAMA_FAST_CTX_SIZEnotes, Qwen3-4B). Rewrite to single-model. [docs/coding-cli-setup/ qwen-code.md, index.md, .env.example:98] -
shrink:the 3× repeatedtest -f … || curl …blocks indownloader-comfyui(YAML L85–99, ~15 lines) → aforloop over the 3 model files (~5 lines). Low confidence: the env var names are non-uniform (COMFYUI_DIFFUSION_MODEL_FILE/TEXT_ENCODER_FILE/VAE_FILE), so the loop needs a smallcase— marginal win, and it matches the house "one-off downloader" style. [docker-compose.yml] -
yagni:(verify-first) qdrant + neo4j run with no consumer in the stack yet — added ahead of the RAG app via thefeat-rag-databasesmerge; nothing writes to them. Two always-on DBs for a feature that isn't wired. Confirm the RAG consumer is still on the roadmap before keeping both; the compose comment already concedes neo4j "can absorb qdrant's job later." Low confidence — deliberate tracked decision, and cheap to leave running. [docker-compose.yml]
Net
net: -45 lines script/compose (+~15 stale doc lines), -1 dep (gum, 4.4MB vendored binary) possible.
No out-of-scope (correctness/security/performance) findings. #1 is the one to fix first — it's not just bloat, it's the deploy script halting on every run.