OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

Spec pack

Data Transmission keeps fetch, realtime, invalidation, and CRDT seams protocol-neutral.

The V0 package family separates transmission contracts, deterministic runtime proofs, and the Loro adapter so collaboration features can evolve without pulling CRDT, GraphQL, Drizzle, or hosted transport dependencies into core packages.

Contract surfaces

  • standard fetch/RPC operation envelopes

  • realtime subscribe, presence, invalidation, reconnect, and idempotency semantics

  • DataView compatibility metadata for queryable/presentable data surfaces

  • collaboration envelopes that keep CRDT engines behind adapters

Package boundaries

  • @lssm-tech/lib.data-transmission-spec owns protocol-neutral contracts.

  • @lssm-tech/lib.data-transmission-runtime owns deterministic in-memory proofs and no hosted WebSocket server.

  • @lssm-tech/integration.crdt-loro is the only package that imports loro-crdt.

  • GraphQL remains available but optional/legacy for new data transmission work.

V0 verification

V0 intentionally excludes production WebSocket hosting and production CRDT persistence. Validate bundler constraints before shipping a Loro-backed app.

data-transmission-verification
bun run --cwd packages/libs/data-transmission-spec typecheck
bun run --cwd packages/libs/data-transmission-runtime typecheck
bun run --cwd packages/integrations/crdt-loro typecheck
bun test packages/libs/data-transmission-spec/src/package-exports.test.ts packages/libs/data-transmission-runtime/src/runtime.test.ts packages/libs/data-transmission-runtime/src/static-boundaries.test.ts packages/integrations/crdt-loro/src/adapter.test.ts packages/integrations/crdt-loro/src/import-boundary.test.ts
bun run workflows:check:no-prisma
OSS docscore-modelStart with OSS. Adopt Studio when you want the operating layer.

Why ContractSpec

Keep educational and comparison content reachable without letting it define the primary OSS learning path.