All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Major UX refactor. Tool surface collapsed to 3, sessions added,
visualization made on-demand, approval moved off the filesystem.
See MIGRATION_v2_to_v3.md for the full migration guide.
- Tool renames:
AoT-light→AoT-fastAoT→AoT-full
- Tools removed (folded into other tools):
generate_visualization→ setviz: trueonAoT-fast/AoT-fullcheck_approval→atomcommandssubcommand"check_approval"export_graph→atomcommandssubcommand"export"
- Server flags removed:
--no-viz,--no-approval,--viz(boolean) → use--viz auto|always|never
- Config fields removed:
vizEnabled,approvalEnabled→ replaced byvizMode: 'auto' | 'always' | 'never' - processAtom response shape: now includes
sessionId; empty collection fields andterminationStatusare omitted when not meaningful (callers that snapshot the JSON should expect a leaner shape)
- Sessions: atom state scoped per-session. Default session
"default". Two reasoning problems in one process no longer collide. atomcommandssubcommands:new_session,switch_session,list_sessions,reset_session- Auto-archive: session marked
completedwhen reasoning terminates - Auto-spawn: next zero-dep atom in a completed session
spawns a fresh
default-Nsession automatically - HTTP approval callback: local 127.0.0.1 listener on an ephemeral port. Browser POSTs approval JSON back via XHR. Falls back to file polling on the configured downloads dir if the POST fails.
viz: trueparam on AoT calls renders the D3 graph and opens the browser. Server flag--viz auto|always|nevercontrols overall policy.sessionIdparam on AoT calls targets a specific session (auto-creates if unknown).
- Tool count: 6 → 3 (
AoT-fast,AoT-full,atomcommands) - Default response payload: ~12 fields → ~6 (empty arrays, null fields, and unactionable termination status omitted)
- Tool descriptions tightened with explicit fast/full decision rule and planning-mode visualization heuristic
approval.tsusesos.homedir()for cross-platform Downloads dir detection (wasprocess.env.HOME)
- Replace
mcp__atom-of-thoughts__AoT-lightwithmcp__atom-of-thoughts__AoT-fast - Replace
mcp__atom-of-thoughts__AoTwithmcp__atom-of-thoughts__AoT-full - Replace
mcp__atom-of-thoughts__generate_visualization(...)withmcp__atom-of-thoughts__AoT-full({..., viz: true}) - Replace
mcp__atom-of-thoughts__check_approval()withmcp__atom-of-thoughts__atomcommands({command: "check_approval"}) - Replace
mcp__atom-of-thoughts__export_graph()withmcp__atom-of-thoughts__atomcommands({command: "export"}) - Replace
--no-vizwith--viz never,--no-approvalis gone (approval is always on; control viz via--viz)
- 121 → 165 tests passing across 12 test files
- New:
tests/sessions.test.ts,tests/approval-server.test.ts,tests/payload-shape.test.ts
- Visualization off by default — pass
--vizto enable (was--no-vizto disable) - Lenient validation — partial atom inputs accepted; missing fields get sensible defaults
- Shorter tool descriptions — improved display in Claude Code tool listings
- Removed
isErrorfrom non-error response shapes for cleaner MCP compliance
- Tests updated to match new defaults and validation behavior
Initial public release.
- AoT — Full decomposition with up to 5 depth levels and confidence tracking
- AoT-light — Quick analysis mode (max 3 levels, no visualization)
- atomcommands — Advanced atom manipulation (contract, merge, prune, split, reweight)
- export_graph — Export reasoning graphs as JSON or Mermaid
- generate_visualization — Interactive D3.js force-directed graph with approve/reject workflow
- check_approval — Poll user approval status from the visualization UI
- 5 atom types with confidence thresholds: Premise (0.9), Reasoning (0.8), Hypothesis (0.7), Verification (0.85), Conclusion (0.9)
- CLI flags:
--mode,--max-depth,--no-viz,--no-approval,--output-dir,--downloads-dir - Docker support with multi-stage build
- Smithery deployment configuration
- GitHub Actions CI across Node 18, 20, 22
- 121 tests covering all tools, atom types, and edge cases
- Built on
@modelcontextprotocol/sdk^1.24.0 (MCP protocol 2025-03-26) - TypeScript strict mode, ES2022 target
- Vitest test runner
- Bundled D3.js v7 for offline visualization