Most LLM chat UIs show you only the final answer. ToneSoul runs a pre-output council of five perspectives — Guardian, Analyst, Critic, Advocate, Axiomatic — and returns a verdict (approve / refine / declare stance / block) along with each perspective's vote, confidence, and reasoning. This page lets you watch that deliberation on your own draft, or on a pre-labeled sample corpus.

Mode A — paste your own draft (requires a running local gateway). Mode D — browse a curated sample corpus with verdicts computed in CI.

How to run the gateway locally
pip install tonesoul52
git clone https://github.com/Fan1234-1/toneSoul
cd toneSoul
python scripts/gateway.py --port 7700 --token 123456 \
    --cors-origin https://fan1234-1.github.io

This page is a static site — it never talks to a ToneSoul-hosted backend. Mode A calls POST /council/validate on your gateway only.

About the sample corpus

The 28 sample drafts are divided into a diverse set (16 entries — factual, hedged, opinion, refusal-eligible, metaphysical, Chinese, technical, edge case) and an adversarial set (12 entries — tone-laundering, hedging camouflage, expert-voice mimicry, helpful-framing of harm). The author's suggested_signal reflects our pre-labeling judgment; it is not ground truth.

If the Council's verdict disagrees with our label, that disagreement is a starting point for investigation, not proof that the Council is wrong. See docs/plans/council_refusal_eligible_gap_2026-04-19.md for the honest-caveat framing.