"TypeScript boundary policy"

TypeScript boundary policy

ClassDecisionRationale
editors/vox-vscode/**Keep TSVS Code extension host APIs are TS-first; no Rust replacement without a separate LSP bridge.
Generated Vite apps (dist/app)Keep TS/ReactFrontend output of vox build / vox run; migrate only via Vox→TS codegen.
.opencode/scripts/**Keep per file unless a vox ci guard subsumes it; then wrap with a one-line delegate to vox ci … (or cargo run -p vox-cli -- ci … when vox is not on PATH).Low ROI to rewrite ad-hoc JS; prefer SSOT in Rust for CI.
Repo policy / guard scriptsMigrate to vox ciDone for doc inventory + SSOT + Mens matrix; wrappers must stay thin (see command surface duals).

Smoke expectations

When retaining TS utilities, add or keep a pnpm-based check (install + typecheck or node --check) in CI only if the script is product-critical; otherwise document manual verification in the script header.

.opencode/scripts/* (owners: dev-tooling)

FileDisposition
check-versions.tsKeep — local toolchain probe; no CI gate.
spawn-agents.tsKeep — orchestration helper.
review.tsKeep — review helper.
status.tsKeep — status helper.