doubleo7/swear_cleanup/src/models.rs
Austin Schaefer 0bb5870f66 refactor: split into a Cargo workspace with per-project dependency sets
deep_research and swear_cleanup were sharing one Cargo.toml, so every
build compiled clap/indicatif/scraper/chrono (only needed by
deep_research) even when just building swear_cleanup for its own
course work, and vice versa. Moves each into its own workspace member
crate (deep_research/, swear_cleanup/) with an independent Cargo.toml
declaring only the deps it actually uses; common deps/versions are
pinned once via [workspace.dependencies] so the two don't drift.

Verified `cargo build -p swear_cleanup` alone no longer pulls in
clap/indicatif/scraper/chrono (schemars still compiles for it, but
that's a direct transitive dependency of rig itself, not something
this split can avoid). Also verified the relocated deep_research
binary still runs end-to-end against live Ollama with correct
footnote citations and sources.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-14 19:43:13 +02:00

43 lines
963 B
Rust

use serde::Deserialize;
#[derive(Deserialize)]
pub(crate) struct ChatLogprobs {
pub(crate) content: Vec<TokenLogprob>,
}
#[derive(Deserialize)]
pub(crate) struct TokenLogprob {
pub(crate) top_logprobs: Vec<TopLogprob>,
}
#[derive(Deserialize)]
pub(crate) struct TopLogprob {
pub(crate) token: String,
pub(crate) logprob: f64,
}
#[derive(Deserialize)]
pub(crate) struct Prompts {
pub(crate) shieldstral: ShieldstralPrompts,
pub(crate) gemma: GemmaPrompts,
pub(crate) critic: CriticPrompts,
}
#[derive(Deserialize)]
pub(crate) struct CriticPrompts {
pub(crate) system: String,
pub(crate) prompt_template: String,
}
#[derive(Deserialize)]
pub(crate) struct ShieldstralPrompts {
pub(crate) system: String,
pub(crate) prompt_template: String,
}
#[derive(Deserialize)]
pub(crate) struct GemmaPrompts {
pub(crate) preamble: String,
pub(crate) evil_seed_prompt: String,
pub(crate) revise_template: String,
}