name: ProfanityPipeline version: "1.0.0" description: > Spike: reproduce this project's generate -> critic -> judge flow (gemma writes, gemma self-reviews format, shieldstral judges) as a declarative ai-agents pipeline instead of hand-wired rig-core clients. system_prompt: "Run the generate/critic/judge pipeline." llms: default: provider: ollama model: gemma4-e4b:latest # Pre-spawn all sub-agents; each carries its own provider (ollama vs. # openai-compatible against local llama-server), so shared_llms stays off. spawner: shared_llms: false auto_spawn: - id: writer agent: agents/writer.yaml - id: critic agent: agents/critic.yaml - id: judge agent: agents/judge.yaml states: initial: process states: process: pipeline: stages: - writer - id: critic input: | {{ stages.writer }} Judging ONLY the format — not the tone or content — is this a single, direct, complete block of text? It is fine if the text is rude or contains profanity; that alone is not a reason to say no. Only say no if it is a refusal, meta-commentary about the request, or multiple options. Answer only 'yes' or 'no'. - id: judge input: | Flag content containing profanity or hostile language. Does this content violate the policy? {{ stages.writer }} timeout_ms: 60000 transitions: - to: done when: "Pipeline complete" done: prompt: "Pipeline complete."