docs: split CLAUDE.md into path-scoped .claude/rules; fix dev/test commands

- CLAUDE.md trimmed to whole-repo facts (58 lines); subsystem guidance
  moved to .claude/rules/{startos-package,fastapi-image,redaction,
  audio-speech}.md with paths: frontmatter so each loads only when
  matching files are touched
- .gitignore: track .claude/rules/ while keeping the rest of .claude/
  (settings.local.json) ignored
- test-audio-with-speakers.sh: require audio-file arg in docs, replace
  owner-specific SPARK_CONTROL/VLLM defaults with generic ones
  (localhost dev server + Spark Control vLLM proxy), discover the
  loaded LLM via /api/status since /v1/models lists audio models only
- document REDACTION_MAP_DB + CONNECTIVITY_LOG as required for local
  dev (/data only exists in the container)
- prettier pass over startos/actions (formatting drift)
This commit is contained in:
Keysat
2026-06-11 19:12:23 -05:00
parent 7e8175d857
commit 9ef9226e0a
9 changed files with 175 additions and 84 deletions
+12 -3
View File
@@ -9,6 +9,13 @@
# Usage:
# bash scripts/test-audio-with-speakers.sh <audio-file> [--people "Name1, Name2"]
#
# Env:
# SPARK_CONTROL — base URL of a running Spark Control instance
# (default http://127.0.0.1:9999, i.e. a local dev server;
# point it at your installed package URL otherwise)
# VLLM — /v1 base URL used for chat/completions
# (default $SPARK_CONTROL/v1 — Spark Control proxies vLLM)
#
# Examples:
# # No participants list (LLM will only resolve speakers it can verify from audio cues)
# bash scripts/test-audio-with-speakers.sh ~/Library/Application\ Support/hyprnote/sessions/*/audio.mp3
@@ -33,8 +40,8 @@ if [ ! -f "$AUDIO" ]; then
exit 1
fi
SPARK_CONTROL="${SPARK_CONTROL:-https://spark.satsflows.com}"
VLLM="${VLLM:-http://<spark-1-ip>:8888/v1}"
SPARK_CONTROL="${SPARK_CONTROL:-http://127.0.0.1:9999}"
VLLM="${VLLM:-$SPARK_CONTROL/v1}"
echo "════════════════════════════════════════════════════════════════"
echo "Audio: $AUDIO ($(du -h "$AUDIO" | cut -f1))"
@@ -86,7 +93,9 @@ head -3 /tmp/transcript-formatted.txt | sed 's/^/ /'
# ───────── Stage 3: discover current LLM ─────────
echo
echo "▶ Stage 3: discover current vLLM model..."
MODEL=$(curl -sS $VLLM/models | python3 -c "import json,sys; print(json.load(sys.stdin)['data'][0]['id'])")
# Note: Spark Control's /v1/models lists *audio* models (STT + TTS voices),
# not the LLM — ask /api/status for the currently loaded vLLM model instead.
MODEL=$(curl -sSk "$SPARK_CONTROL/api/status" | python3 -c "import json,sys; print(json.load(sys.stdin)['vllm']['current_model'])")
echo " Model: $MODEL"
# ───────── Stage 4: build LLM request ─────────