THOTH

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 (scan works without it).

Analysis precision

  • —Barrel-heavy graphs over-count — file-level reachability through mega-barrels inflates the upper-bound blast radius. Use symbolLinkedFiles for 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 e2e opts in.
  • —Targeted test narrowing only applies to plain vitest/jest script bodies.

Monorepos

  • —pnpm/npm-workspace layouts are supported: per-package checks, workspace-source import resolution, per-package tsc inference.
  • —Non-standard layouts may yield NOT VERIFIED where a human could do better.

Stability

  • —--json and MCP outputs carry schemaVersion: 1; additive fields may appear, existing ones won't change meaning within the version.
  • —Human output is not a stable interface — parse --json instead.