Skip to content
Slow ThinkerDocumentation
Reference library
Documentation/Reference library

Reference library / Reference maintenance

Changelog

The project’s change history, rendered directly from its root CHANGELOG.md.

Download the original Markdown or read the version guide. Historical entries retain the component versions they describe.

Slow Thinker is three components, versioned separately (see src/slow_thinker/versions.py): the Process executor (slow-thinker: planner, prompts of the agents, LLM providers, storage, database schema), the Analysis generator (slow-thinker-report --analyze: the analyst, its prompts and answer models) and the Report generator (slow-thinker-report: views and templates). Every change raises the BUILD number of the components it touches and is noted here, newest first, with the versions it raises. Each run, analysis and report is stamped with the version of the component that made it. The package version (pyproject) names a release of the whole.

01

2026-09-21

#
  • Documentation — Complete English user and technical reference microsite: the six-stage workflow, report fields and controls, calculation methods, reviewed component versions, real screenshots with provenance, a searchable element directory and this changelog. Documentation-only change; runtime component versions remain unchanged.

  • Report generator 0.1.16 — The run index and the prompt pages redesigned as one "history" view (history.css.j2, shared): a hero with the counts, two tabs (Runs · Models across runs; on a prompt page, Runs · Full prompt), a toolbar with search, status and sort, and one row per run — participants as model chips, collaboration (agents, rounds, voters), duration, cost and the selected proposal — grouped by prompt in the index and, on a prompt page, with an expandable block of configuration, execution and latest-analysis details. The base page gains blocks for the bar (barmain, barlinks), the page's own styles and body attributes, and the head above the tabs (runhead); the run report and the prompt library use them.

  • Configurationconfig/slow-thinker.base.json is published as the starting point ("starter 3x2": GPT-5.6 terra, Grok 4.6 and DeepSeek V4 pro, two refinement rounds, Claude Opus 5 as analyst); the 5×4 council it held is the full profile, next to cheap and study. The example base file goes: the base itself is the example.

  • Report generator 0.1.15 — The project is "Slow Thinker", in two words, wherever the pages name it (browser title, brand), as the README has it; the same in the code headers, the docstrings and this log. The package description follows the README's tagline. The docs catch up with the code: the keys file in the README's start (the example base points to it), the Process diagram in the table of views, the early-stage note; in the guides, the four final calls of the analysis, the ⓘ icon, the notes only in old runs, the cheap profile's analyst, thinking_budget: 0 and the temperature rule of Claude, and what happens with a missing key.

  • Report generator 0.1.14 — The GitHub mark (inline SVG, nothing loaded) before the repository link in the footer.

  • Report generator 0.1.13 — In the Process diagram the summary of a box (and of a voter) opens from an ⓘ icon in its bottom-right corner, not from the box itself: hovering the box lights the lineage and the tooltip no longer covers it.

  • Analysis generator 0.1.4 · Report generator 0.1.12 — The brief: a last call in which the analyst sums its whole analysis up in at most eight points — the outcome, what happened in the rounds, the problems that matter, the changes that would help — from what it already wrote, nothing new. Stored as final.brief; the Analysis summary opens with it, and an analysis made before says so where it would go.

  • Process executor 0.1.5 — Every timestamp of the trace is time-zone aware (datetime.now().astimezone()), and PostgreSQL stores the records' own times: the proposals, votes, plans and analyses pass their created_at, and a status update sets updated_at from the process clock instead of the server's CURRENT_TIMESTAMP. Before, a task's naive local created_at next to a UTC updated_at gave durations of "0 s" in the index and a shifted timeline whenever the database ran in another zone (Docker, the CI). Reported by a reviewer.

  • Toolingpythonpath = ["."] in the pytest options: the tests import tests.conftest, which uv run pytest (the CI's command) could not resolve; only python -m pytest worked. Reported by a reviewer.

  • Process executor 0.1.4 — Claude models with extended thinking (before 4.6) were sent the default temperature 0.7 next to thinking: enabled, which the API rejects: every call of such an agent or analyst failed unless the configuration said "temperature": 1. Now no temperature is sent with extended thinking, a temperature other than 1 next to it is refused when the configuration is loaded (Provider.check, a hook every provider may refine), and "thinking_budget": 0 switches thinking off, with the temperature back. The example configuration's analyst is Claude Opus 5 with high effort. Reported by a reviewer.

  • Process executor 0.1.3 — Security: a provider left without an API key (none in its entry, in api_keys nor in its environment variable) stops the run with a ConfigurationError instead of going on as "MISSING"; and a client for a provider at its own base URL (xAI, DeepSeek, Alibaba) is never built without a key, because ChatOpenAI would otherwise pick up OPENAI_API_KEY from the environment and send it to that host. Reported by a reviewer.

  • Report generator 0.1.11 — The Selected plan tab shows the winner's success metrics (a third pane) and its estimated complexity, and links to the winner's card in its round.

  • Analysis generator 0.1.3 · Report generator 0.1.10 — The process evaluation is a call of its own (asked at the end of the outcome call, Opus 5 left it empty after 15k characters of answer); an empty evaluation is refused. The final summary is asked as a list (one item per proposal, one on what they share). In the report: the Analysis summary opens with "At a glance" (first choice, vote and agreement, against the initial proposals, rounds, process) linking to each section; the blind ranking says how it was obtained and puts "why this order" before the list; the process evaluation says how it was obtained and announces an empty answer instead of showing "none"; each proposal's plan is shown in panes — Graph (open by default) · Steps · Success metrics · Raw prompt and response — under "The plan produced", the selected plan in Graph · Steps; the costs by model join the Totals section and their own section goes.

02

2026-09-20

#
  • Process executor 0.1.2 · Report generator 0.1.9 — The notes are removed from the process: refining agents answer with the plan alone, every previous proposal is shown alike (no "your own previous proposal" mark) and one strict schema serves every round. Reason: a note about a proposal reached the others two versions late, after its author had rewritten once without it; not a feedback loop. The report still shows the notes of the runs that have them (executor up to 0.1.1) and says so in the influence legend; the "no notes" line under proposals goes; the footer drops "static file, nothing is loaded from the network".
  • Report generator 0.1.8 — In a proposal's tab, the analyst's ideas are headed "Ideas the analyst saw taken…" / "…saw rejected", and a refined proposal without notes says so where they would be (the run predates the notes, or the model left them out).
  • Report generator 0.1.7 — Smaller type in the cells of the influence table (labels 9 px, numbers 11.5 px); the agent names in its column headers are no longer forced to upper case.
  • Report generator 0.1.6 — The influence table explains itself: each cell's lines are labelled (same titles · agent says · analyst sees · kept · new) and every number has a tooltip saying what it counts and how it was obtained (titles only, or the whole proposal) and listing the items behind it: the matched steps, the agent's note (verdict, adopted, rejected) or the analyst's ideas with their evidence. The legend names the three sources.
  • Process executor 0.1.1 · Analysis generator 0.1.2 · Report generator 0.1.5 — Component versions: versions.py; the executor stamps executor_version on the task, the analyst analyst_version on each analysis (PostgreSQL schema 1.8 adds both columns); the report footer names the three versions that made the page, the About tab too; the indexes say "executor x.y.z" in Made with; this log and a test that every current version is in it. Legends of P1, P2… (the analyst's proposal numbers) in the round summaries and the Analysis tab.
  • Analysis generator 0.1.1 · Report generator 0.1.4 — The analyst gets its own writing guidance (skimmable: short sentences, lists, the point before the evidence, proposals and steps by number) and answers two lists per round: what the proposals share and what separates them (round 0), what still separates them and who took what from whom (refinement rounds); what_changed, improvement_summary, process_evaluation and the vote comment asked as short sentences or lists. Analysis schema 5 (2–4 still rendered). The Round summary shows the lists and, below, one bar per agent with the time of its call against the slowest; the same bars for the voters in the Votes tab.
  • Report generator 0.1.3 — Tooltips placed from their measured size and kept inside the viewport; a pinned tooltip can be dragged by its head.
  • Report generator 0.1.2 — The Process tab is a diagram: lanes per round, a box per proposal, barriers between rounds, lines with the steps taken between proposals, dots listing them, the full lineage of a proposal's steps on hover, selection, zoom and pan.
  • Report generator 0.1.1 — Footer as a strip always in view, with the author (linked to the web), the license and the repository, links opening in a new tab; pages start at the doctype.
← Documentation homeFind a report element →
Reference edition 2026-09-21Versions & compatibilityChangelogCHANGELOG.md ↓
Search documentation

Search both guides, report elements and the changelog.

Report screenshot