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
+4 -4
View File
@@ -43,7 +43,7 @@ const inputSpec = InputSpec.of({
parakeet_host: Value.text({
name: 'Parakeet host (optional)',
description:
'Override the host running the Parakeet STT container. Leave blank if Parakeet runs on Spark 2 — that\'s the default. Set this if you run Parakeet on Spark 1 or a different machine.',
"Override the host running the Parakeet STT container. Leave blank if Parakeet runs on Spark 2 — that's the default. Set this if you run Parakeet on Spark 1 or a different machine.",
required: false,
default: null,
placeholder: 'leave blank to use Spark 2',
@@ -69,8 +69,7 @@ const inputSpec = InputSpec.of({
}),
kokoro_container: Value.text({
name: 'Kokoro container name (optional)',
description:
'Docker container name for Kokoro. Defaults to "kokoro-tts".',
description: 'Docker container name for Kokoro. Defaults to "kokoro-tts".',
required: false,
default: null,
placeholder: 'kokoro-tts',
@@ -87,7 +86,8 @@ const inputSpec = InputSpec.of({
}),
embed_container: Value.text({
name: 'Embedding container name (optional)',
description: 'Docker container name for the embedding server. Defaults to "spark-embed".',
description:
'Docker container name for the embedding server. Defaults to "spark-embed".',
required: false,
default: null,
placeholder: 'spark-embed',
+1 -5
View File
@@ -16,11 +16,7 @@ export const showPublicKey = sdk.Action.withoutInput(
}),
async ({ effects }) => {
// The container generates the key under /data/ssh/id_ed25519.pub on first boot.
const pubKeyPath = path.join(
sdk.volumes.main.path,
'ssh',
'id_ed25519.pub',
)
const pubKeyPath = path.join(sdk.volumes.main.path, 'ssh', 'id_ed25519.pub')
let key: string
try {
key = (await fs.readFile(pubKeyPath, 'utf8')).trim()