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:
@@ -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',
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user