Status: Accepted · 2026-08-20
Context
A platform whose job is to run other people’s code should be easy to reason about and hard to compromise through its own supply chain.Decision
The workspace has zero runtime dependencies. SQLite, crypto, HTTP, and the test runner all come from Node’s standard library. TypeScript executes through Node’s type stripping, sonode tools/cli/src/main.ts
runs the CLI and tsc --noEmit is a check rather than a build.
Consequences
- No bundler, no transpile step, and no gap between what is typechecked and what runs.
- Type-stripping constraints apply: no enums, no namespaces, no parameter
properties, and relative imports carry their
.tsextension. - Hand-written YAML and JSON Schema implementations replace
yamlandajv. Both are deliberately partial and reject what they do not support, which suits a manifest format that is meant to stay small. - A published SDK will need a compiled artifact; that is a packaging decision, not a change to how the platform runs.