Skip to content

Phase 9 Runtime Dependency Removal #2579

Description

@usalu

🤖️ Prompt

Phase 9 of the Interactive Job Runtime Refactor (master ticket 26/08/20/INTERACTIVE-JOB-RUNTIME-REFACTOR).

Replace third-party runtime dependencies with repo-owned implementations. The declared boundary: no third-party source or package dependencies in runtime products; compiler, linker, OS and browser ABI, graphics driver and the browser's own WASM engine are platform boundaries; no dependency may be replaced merely by copying its source unchanged into the repo.

Every replacement follows: old implementation, then dual-run differential tests, then parity and performance gates, then the new implementation becomes the default, then the old dependency is deleted. No flag-day purge.

Baseline: 238 third-party dependencies (104 Rust, 134 JS) recorded in the committed ratchet file at the repo root; the freeze check fails the build on any newly introduced package.

Ordered scope: thiserror to plain enums with Display and Error; serde, serde_json and ts-rs to an internal schema description plus the existing owned pack codec, an owned streaming JSON parser and writer where compatibility is required, and owned schema-to-language generation with explicit versioning and migration tests; tokio to the Phase 1 worker pool plus an owned platform I/O reactor (kqueue, epoll, IOCP, browser); flate2, libz-sys, miniz_oxide and zip to an owned streaming DEFLATE and ZIP implementation covering only the formats the products actually consume; getrandom and uuid to an owned seeded RNG plus an OS entropy shim; image and gltf to owned decoders for the formats actually used; rayon to pool lanes; jsonschema, prost, notify, reqwest and axum to owned equivalents scoped to their real consumers; rusqlite, sqlx and neo4j to an owned append-only event-log store matching the mandated CQRS and event-sourcing model; wasmtime and wit-bindgen to a repo-owned WASM interpreter whose instruction-level fuel metering becomes the preemption mechanism, differential-tested against wasmtime across the full plugin suite before wasmtime is deleted; and nalgebra, parry3d and spade to owned math, collision and triangulation, differential-tested against the Puzzle and FEM suites.

Sequencing constraint: a concurrent peer session is rewriting the plugin tree under ticket 26/08/20/COMPOSE-TO-PUZZLE5D-MIGRATION, so dependency work that touches plugin crates must wait until that settles. Framework-level replacements proceed first.

Exit gate: the dependency audit reports no third-party package under the declared boundary, and parity and performance gates are green for every replacement.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions