Stress-test a claim before it becomes a decision.
Decision-readiness grading for humans and agents — the anti-slop layer.
It grades claims, never people.
You paste a statement. It tells you where that statement sits on the road from Noise to Tested Vantage, and — more usefully — why it stops where it stops.
F Noise static; heat and leaps, no load-bearing structure
D Opinion stable judgment, nothing tests it
C Bias pattern + conviction; directional skew does the work
B Perspective context helps; still one situated lens
A POV defined stance, explicit criteria, aligned evidence
S Vantage multi-source, testable, interpretable — within declared scope
S+ Tested Vantage invariant: still true when domain, language, or reader changes
Grading is strict on purpose. Most real writing lands at C–B. S+ is rare and
should stay rare. A tool that hands out high grades is a tool that means nothing.
A claim's final grade is the minimum across every frame it has to survive:
final = min( domain lenses…, language stability, agent-reading stability )
A statement that is Vantage to an engineer but Opinion under compliance is not Vantage — it is scoped. One collapse drags the whole claim down, because decisions inherit the weakest lens they touch.
Assumption load with compound-error math (drift = (1+ε)ⁿ − 1), a precision-window
read (too vague vs too rigid), a claim map, a fallacy scan, per-domain grades,
language and agent stability, token cost, and rephrases predicted to grade higher.
Never a bare number. Every grade decomposes into visible parts. A score you can't take apart is a score you can't argue with, and a score you can't argue with is not evidence — it's authority.
| Local | Hosted | |
|---|---|---|
| What it is | Lexical screening floor | Semantic judgment |
| Where it runs | Entirely in your browser | Your own gateway |
| Network | Nothing leaves the page | Request goes to your endpoint |
| Needs | Nothing | A gateway URL you control |
Local mode is a floor, not a verdict. It reads surface features — structure, hedging, sourcing language, specificity. It does not understand your claim. It is useful for catching obvious problems fast and offline, and it is honest about being a screen rather than a judgment.
The UI labels which mode produced every result. That labeling is not decoration. Do not quote a local-mode grade as if a model had reasoned about it.
There are none in this code, and none belong here.
- No key is stored, read, or transmitted by this page. Search the source; there is nothing to find.
- Hosted mode requires your own gateway URL — a small server you run that holds your provider credentials and forwards requests.
- With no gateway configured, hosted mode refuses to run. It does not silently fall back to local and present the result as if a model had answered.
Anything that asks you to paste an API key into a web page is teaching you a habit
that will eventually cost you. See SECURITY.md and
docs/GATEWAY.md.
This is the part most tools bury. It is the part we lead with, because the honesty is the product.
All numeric scores are heuristic estimates. None are calibrated against ground truth. There is no published ROC curve, no reliability diagram, no Brier score, because the benchmark corpus that would produce them does not exist yet. Invariance figures are proxies, not measurements.
Calibration status: UNCALIBRATED.
What that means in practice: use this to find weaknesses in your own reasoning before you commit to it. Do not use it to gate other people's work, rank submissions, or settle a dispute. A classifier that has not published its error rates has no business making decisions about anyone, and a rigor tool that ignored that about itself would be the joke telling itself.
See docs/METHODOLOGY.md for what is arithmetic, what is
heuristic, and what is model judgment.
Short version — the full version is in docs/NON_CLAIMS.md:
- Not a truth detector. It grades how well a claim is supported and framed. A well-argued claim can be false. A badly-argued claim can be true. Naming a fallacy proves an argument unproven, not a conclusion false.
- Not an AI-authorship detector. It will not tell you whether a human or a model wrote something, and it does not try. Detectors of that kind have a documented false-positive history that lands hardest on non-native English writers. We will not ship that harm.
- Not social scoring. It grades statements. It does not grade, rank, profile, or maintain a reputation score for any person. This is a deliberate posture toward EU AI Act Article 5, and it is a design constraint, not a disclaimer.
Open index.html in a browser. That is the whole install. One file, no build step,
no dependencies, no telemetry.
For hosted mode, stand up a gateway first — see docs/GATEWAY.md.
Genuinely wanted:
- Lens packs — new domains and regulations. Packs are YAML data, not code.
- Injection signatures — patterns that try to talk the grader out of grading.
- Benchmark cases — especially ones where the tool is confidently wrong. These are worth more than agreement.
One rule, and it is not negotiable:
Changes to scoring weights require an adversarial test case demonstrating the failure the change fixes.
No "this felt too harsh." Show the input, show the wrong grade, show why. A rubric that drifts on vibes stops being comparable across versions, and comparability across time is the entire point.
AGPL-3.0. See LICENSE.
Use it, fork it, embed it, sell services around it. If you run a modified version as a network service, your users get the source. The grading logic stays inspectable — a trust mark you can't audit isn't one.
Copyright is held by the author; commercial licensing is available separately.
Part of the BEACON Framework.