Limitations
Thoth is an alpha. These are the honest edges — prefer reading a NOT VERIFIED claim over assuming coverage it doesn't claim.
Language and platform
- —TypeScript/JavaScript only, analyzed with the TypeScript compiler API.
- —macOS and Linux tested; Windows is not supported yet.
- —Requires Git for impact/verify (
scanworks without it).
Analysis precision
- —Barrel-heavy graphs over-count — file-level reachability through mega-barrels inflates the upper-bound blast radius. Use
symbolLinkedFilesfor the tighter bound. - —Symbol links follow imports, not types — method dispatch, inheritance, and shadowed names aren't tracked.
- —Dynamic imports with non-literal specifiers can't be resolved; they appear as explicit unknowns.
- —Hunk-level, not AST-level, diff scope — a change near the bottom of a file can attribute to module scope.
- —Coverage isn't read yet — "test linked by import" is structural evidence, not proof the lines executed.
Verification
- —Thoth runs the repository's own scripts — it is not a sandbox.
- —Custom toolchains degrade honestly — missing runners are reported rather than guessed.
- —e2e never runs by default —
--checks e2eopts in. - —Targeted test narrowing only applies to plain
vitest/jestscript bodies.
Monorepos
- —pnpm/npm-workspace layouts are supported: per-package checks, workspace-source import resolution, per-package
tscinference. - —Non-standard layouts may yield
NOT VERIFIEDwhere a human could do better.
Stability
- —
--jsonand MCP outputs carryschemaVersion: 1; additive fields may appear, existing ones won't change meaning within the version. - —Human output is not a stable interface — parse --json instead.