open-standards/joule-code/examples/transport-moqt/Cargo.toml
Transaction Science 08c499f8ca joule-code: port CommunicationOS transport (jwp + joule-moq) into the public standard
The MoQT transport that joule-code-collab's network rung needs lived in the
private joulesperbit repo (as inv-moq + jwp), so a public consumer couldn't
depend on it. Port both into the public open-standards joule-code workspace,
self-contained (concrete dep versions, not workspace-inherited) so a bare git
clone builds them:

- crates/jwp: Joule Wire Protocol — energy-aware binary framing (CBOR, zstd/lz4,
  TCP + optional QUIC). Self-contained, external deps only.
- crates/joule-moq: MoQT (Media-over-QUIC) wire protocol + JWP signed-receipt
  extension for CommunicationOS — Publisher/Subscriber/Relay traits, MockFabric
  (in-process) + a production QUIC path (quic feature). Renamed from inv-moq
  to drop the invisible-* namespace and match the joule-code branding; depends
  only on jwp.

Both build (default + quic) and pass their tests (joule-moq 29, jwp 152) in the
new home. The transport-moqt example now path-deps the public joule-moq instead
of reaching into joulesperbit, and its end-to-end BFT-ops-over-MoQT-with-signed-
receipts tests pass. This unblocks public consumers (agent-zed) from git-depping
the transport for cross-machine fleet coordination.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-13 21:29:05 -04:00

25 lines
902 B
TOML

# Standalone example (own workspace): carry a Joule Code collaboration's committed
# coding operations over CommunicationOS's MoQT transport (the public `joule-moq`),
# with object-level signed receipts. Verified in-process via joule-moq.s MockFabric
# (real Ed25519/BLAKE3 receipts) — no QUIC, no network.
[workspace]
[package]
name = "transport-moqt-binding"
version = "0.1.0"
edition = "2021"
rust-version = "1.96"
license = "Apache-2.0"
publish = false
[dependencies]
joule-code-schema = { path = "../../joule-code-rs/crates/joule-code-schema" }
joule-code-cargo = { path = "../../joule-code-rs/crates/joule-code-cargo" }
joule-code-collab = { path = "../../joule-code-rs/crates/joule-code-collab" }
joule-moq = { path = "../../joule-code-rs/crates/joule-moq" }
ed25519-dalek = "2"
bytes = "1"
serde_json = "1"
[dev-dependencies]
tokio = { version = "1", features = ["rt", "macros", "sync"] }