v0.2 scaffold: vendor clawdforge SDK + forge module + Whisper plan
The Rust SDK already existed at Sulkta-Coop/clawdforge clients/rust/ — async,
reqwest-based, bearer-auth, exposes Client::run() + Session for multi-turn.
Vendoring it into vendor/clawdforge so skald is self-contained: no
git-submodule + no needing the clawdforge repo cloned next to skald.
Trade-off accepted: updates require manual re-copy until both sides
stabilize and we publish to a private cargo registry.
What landed:
- vendor/clawdforge/ — full SDK source from Sulkta-Coop/clawdforge HEAD.
Pinned in skald-core/Cargo.toml as a path dep.
- skald-core/src/forge.rs — three-pass orchestration shell. Forge wraps
clawdforge::Client; generate() / cleanup() / audit() each build a
RunRequest with the right system prompt + model alias (always opus),
call client.run(), return a PassOutput.
Prompt templates are TODO stubs (SYSTEM_GEN_TODO etc) — filling in the
actual prose-craft prompts is its own deep session.
- skald-core/src/config.rs — ForgeConfig { base_url, app_token, model }.
Resolved by the binary from env (CLAWDFORGE_URL + CLAWDFORGE_TOKEN);
lib stays env-agnostic.
- skald-core::AuditFinding + AuditResponse — parse shape for what the
third-Opus canon audit returns, ready to map onto audit_findings rows.
- docs/tts-pipeline.md — full plan for v0.2 narration + post-TTS audit
chain. Whisper-large-v3 STT does text-to-text verification on every
render; an optional Gemini Flash audio pass catches subjective issues
(prosody, tone) Whisper can't see. Reroll loop on crit findings.
What's still stubbed:
- Prompt templates in forge.rs (gen / cleanup / audit) — placeholders
that describe the role but don't constrain output shape yet.
- context.rs (assemble the LLM context blob from DB rows) — entire module
TBD.
- No CLI subcommand yet for invoking forge — that comes after context.rs.
Naming note: in Rust 2024 'gen' is a reserved keyword (for generators),
so the method is Forge::generate(), not Forge::gen().
This commit is contained in:
parent
4a91e0738d
commit
f71b533e52
17 changed files with 3340 additions and 19 deletions
19
README.md
19
README.md
|
|
@ -20,13 +20,24 @@ What's wired:
|
|||
- `skald serve` exposes `/health` and runs migrations on boot
|
||||
- Single-container deploy: postgres + skald in one image
|
||||
|
||||
Wired (this commit):
|
||||
|
||||
- clawdforge Rust SDK vendored at `vendor/clawdforge/` (upstream:
|
||||
`Sulkta-Coop/clawdforge` `clients/rust/`)
|
||||
- `skald-core::forge` — three-pass orchestration shell (gen / cleanup /
|
||||
audit). Prompts are TODO stubs; pipeline plumbing is in place.
|
||||
|
||||
Not yet wired:
|
||||
|
||||
- Web UI (the inbox + browse + queue surface)
|
||||
- clawdforge calls (the actual generate / cleanup / canon-audit
|
||||
pipeline)
|
||||
- Embeddings + similarity search
|
||||
- TTS sidecar
|
||||
- Prompt templates for the three passes (heavy prompt-engineering
|
||||
work — own session)
|
||||
- `skald-core::context` — assemble the LLM context blob from DB rows
|
||||
(bible + characters + parent prose summaries + similarity-matched
|
||||
passages)
|
||||
- Embeddings backfill + ivfflat index
|
||||
- TTS sidecar container + post-render audit chain (see
|
||||
`docs/tts-pipeline.md`)
|
||||
|
||||
## v0.1 smoke
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue