Analyze files together, as one dependency graph: references between them (including through re-export barrels and workspace packages) become hash references, and import cycles become hash cycles.
The checker's answers canonicalization needs, asked in batches: every identifier's symbol (and every shorthand property's value) in a few round trips to the compiler process, then every alias's target. Anything not asked ahead is asked when needed. Not a structural name's (`b` in `a.b`, a key, a member): canonicalization doesn't resolve those, and the checker would infer the type of what's left of them to answer. And the modules the files import from (a reference to an import is checked against its module), and what's asked later is kept too: a program's answers don't change.
What a project module re-exports from a package under a name: `export { x as name } from "pkg"`, a name of `pkg`'s in `export * from "pkg"`, or the package's namespace in `export * as name from "pkg"`. Using it through the module is using the package's export.
`const users = table<User>("users")` with `table` a codebase definition with the `table` role (`roleOf`: by its hash, as the server library's has), or where the definition was a table (`was`: code analyzed again): the row type is erased at runtime, but it's known here, so its schema (and that schema's hash) travel with the definition.
The signatures, and functions' parameter schemas, of `sites`, as `signatureOf` and `paramsOf` work them out, but asked of the compiler a stage at a time for all of them (their types, how each prints, functions' call signatures, their parameters, those parameters' types) in a few round trips rather than a few for each. A site it can't tell (none named, or no symbol) is left to them.
tcm's server host interface, for a server API library: what needs the process (the call, SQLite, transactions, jobs). Unversioned, like a Node builtin: its version is the host protocol's.
TCM_REACT_GONE"#tcm/react is the react library now: `tcm lib add tcm react` mounts the one tcm ships (at <root>.l…
What an import of `#tcm/react` is told: it was the module tcm generated for React's routes, links and data, which are the react library tcm ships now.
TCM_SERVER_GONE"#tcm/server is the server library now: `tcm lib add tcm server` mounts the one tcm ships (at <root…
What an import of `#tcm/server` is told: it was the module tcm generated for the server API, which is the server library tcm ships now.