- Pin TypeScript as a direct dependency. It was only present transitively
via typescript-eslint, so nothing enforced tsconfig.json and nine
latent type errors had gone unnoticed.
- Add `pnpm typecheck` (`tsc --noEmit`) and document it.
- Add .npmrc with engine-strict, so the declared Node and pnpm ranges
are actually enforced.
- Ignore doc_build/ in ESLint. It was unignored and reported 1650 errors
from build output, which made lint unusable as a gate.
- Refresh README, CLAUDE.md, AGENTS.md and CONTRIBUTING.md to match the
current structure, build targets and navigation rules.