Releases: inboxpraveen/ThinkLess
Releases · inboxpraveen/ThinkLess
Release list
Project and packaging updates
Immutable
release. Only release title and notes can be modified.
0.4.1 - 2026-09-25
Project and packaging updates; no change to the library's behavior.
Changed
- Package metadata: development status Beta, more keywords, and links to
Discussions, the decision benchmark leaderboard, release notes and funding. - The README links to good first issues and Discussions and shows the docs,
leaderboard and OpenSSF Scorecard badges. - The submission guide says submitters regenerate the leaderboard page in
their pull request; the release guide explains that release tags are
permanent.
Security
- Every GitHub Action in the workflows is pinned to a commit.
- An OpenSSF Scorecard workflow checks the repository's supply chain weekly.
Decision Benchmarks
0.4.0 - 2026-09-25
The decision benchmark.
Added
- The decision benchmark 1.0 (
thinkless bench decisions): eight public
tasks across the four question kinds (banking77, clinc150 with out of
scope, MASSIVE in five languages, MultiWOZ 2.2 conversations, jailbreaks,
Civil Comments toxicity, HelpSteer2 helpfulness ratings and WNUT 2017
entities), with frozen rows and published hashes, calibration rows from a
separate split, result files that hold every prediction,verifythat
recomputes every metric, a generated leaderboard and open submissions.
Baselines for GLiNER 2.5, Laya, Qwen3-1.7B and Qwen 3.7 Flash.
Changed
- A list of chat messages now renders as
role: textlines for providers
that read text, instead of onekey: valueline per field. - README links to the documentation point at the documentation site.
Shadow mode, framework adapters, limits, a decision server and MCP tools.
0.3.0 - 2026-09-25
Shadow mode, framework adapters, limits, a decision server and MCP tools.
Added
- Shadow mode (
thinkless.shadow): run a candidate engine next to existing
decision code without changing what it returns, log both answers, and
report agreement with a 95% interval, the share settled without an LLM,
cost and latency on both sides, thresholds fitted on production traffic,
and a verdict per question (thinkless shadow report). Disagreements
export as labeling rows (thinkless shadow export). The same class audits
a live engine against an LLM. - Framework adapters (
thinkless.integrations): a LangGraph router, decision
node and async decision node; OpenAI Agents SDK input guardrails, tool input
guardrails androute_agent; and framework-neutralRouter,routeand
gate, tested with LangChain tools and Pydantic AI. Extraslanggraphand
openai-agents. - Engine deadlines (
deadline_mson the engine and per call), spend limits
(SpendLimit, lifetime or rolling window) and per-run caps
(engine.run(..., max_cost_usd=...)). Skipped providers are recorded with
reasondeadlineorspend_limit. - A decision server (
thinkless serve,thinkless.server.app.create_app)
with/v1/decideand a System One compatible/v1/systemone, so another
engine'sSystemOneprovider, or TypeSafe's SDK, can use it. Extra
server. - MCP tools (
thinkless mcp,thinkless.server.mcp.create_mcp_server): one
decide_<question>tool per registered question. Extramcp. thinkless trace exportturns traced decisions into labeling rows, and
thinkless trace driftcompares two periods and exits with 1 when a
question drifted.question_from_specrebuilds a question from its spec.- Docs: an integrations section, a migration guide, shadow mode, serving,
a pilot playbook and a FAQ, published to GitHub Pages by a new workflow.
ThinkLess 0.2.0
0.2.0 - 2026-09-25
First release on PyPI.
Added
OpenRouterLLMand theopenrouter:<slug>spec: one key for models from
Anthropic, OpenAI, Google, Qwen, DeepSeek and others.- Billed cost:
Completion.cost_usdandProviderResult.cost_usdcarry the
cost a backend reports (OpenRouter does); the engine prefers it over the
price table and recordscost_sourceon spans. Benchmark reports add a
billed cost row, and the intent benchmark reports cost per 1k per provider
and per cascade threshold. --reasoningfor every CLI command that builds an LLM, and
from_spec(..., reasoning=...), mapped to OpenRouter'sreasoning,
Anthropic'seffortand local thinking switches.HFClassifier: any Hugging Face text-classification model as a provider for
the questions it was trained for.load_env(), and the CLI reads./.envwithout overriding set variables.- Escalation context: when a question escalates to the LLM decider, the
engine includes the decisions already settled in the same batch. It removed
false injection flags on requests for a human that appeared when an LLM saw
the injection question alone. On by default (Engine(escalation_context=...)). - The System One wire format is tested against TypeSafe's official SDK models.
Fixed
LLMDeciderdetects replies cut off at the token limit, logs why, and
retries once with a larger budget instead of abstaining silently.- The OpenAI-compatible client retries once without
response_formatwhen an
endpoint rejects JSON mode. - A redaction test that failed about one run in fifty when a random span id
contained its marker.
0.1.0 - 2026-09-25
First public release.
Added
- Typed questions:
Choice,Score,YesNoandExtract, following the
System One wire format. Enginewith a confidence cascade across providers, batched provider calls,
accepted,uncertainandabstainedstatuses, per-question and
per-provider thresholds ("question@provider"), question-level provider
allowlists, and async variants of every call.- Normalized confidence,
(k * p_max - 1) / (k - 1), applied uniformly across
providers. - Decision providers:
Rules,GLiNER(GLiNER 2.5),Laya,SystemOne
(TypeSafe Jev and compatible servers such as Kev and OpenJev) and
LLMDecider. - LLM backends:
TransformersLLM,OpenAICompatibleLLM(OpenAI, Ollama, vLLM
and others) andAnthropicLLMwith server-side refusal fallbacks. - Tracing: spans for runs, steps, decisions, provider attempts, generations,
tools and rules; JSONL, memory, console and OpenTelemetry sinks; run
summaries with decisions by plane, escalations, tokens, cost and time by
plane; content capture switch; a self-contained HTML viewer. - A price table with sources, overridable with
THINKLESS_PRICING. - The support demo: an agent, a mock store, 53 labeled tickets and a separate
48-row calibration set. - Benchmarks: the support benchmark across
llm,hybridandmodelsmodes,
and intent benchmarks on Banking77, CLINC150 and Emotion with a simulated
cascade. thinklessCLI:doctor,demo,bench support,bench intents,
calibrate,trace ls,trace showandtrace view.