Golden path
Run one command. Inspect one trace.
This page is the cleanest TS entrypoint: one bounded TS-Reasoner run, one JSON trace, and one visible refusal to overclaim.
Copy-paste command
git clone https://github.com/BoggersTheFish/TS-Reasoner-v0
cd TS-Reasoner-v0
python3 inference.py --question "If some artists are makers and all makers are creators, are all artists creators?"This command matches the current public TS-Reasoner README and was locally verified during the site truth sync. It writes `artifacts/latest_trace.json`.
Expected output
Answer: Not enough information.
Selected chain: candidate_cautious
Global tension: 0.0000
Trace: artifacts/latest_trace.jsonThe direct candidate tries to conclude that all artists are creators. The selected answer abstains because the premises only support some-artists support, not the requested universal.
Inspect artifacts/latest_trace.json
candidates[*].steps: compare the direct and cautious chains.
trace.candidate_scores[*].local_tension: find the high-tension conclusion step.
trace.candidate_scores[*].global_tension: compare direct pressure against the settled trace.
trace.rejected_alternatives: confirm the overstrong candidate was not selected.
trace.candidate_operation_loops.candidate_direct.cycles[0].repair: inspect the proposed weakening.
trace.chosen_action and trace.settled_answer: confirm the final abstention path.
Why abstention matters
The impressive behavior is refusal.
A weak demo forces an answer. A useful verifier records why a tempting answer is unstable, shows the local pressure on the bad step, proposes a repair or weaker alternative, and can still settle on not enough information when that is the honest result.
candidate_direct:
final_answer: "all artists are creators."
local_tension.s1: 0.85
issue_kinds: ["unsupported_conclusion", "quantifier_jump"]
repair.proposed_text: "Therefore some artists are creators."
candidate_cautious:
settled_answer: "Not enough information."
selected_next_op: "ACCEPT_TRACE"