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."