vendor/README.md declared cultcache-rs, cultnet-rs and cultmesh-rs "a locally owned compatible protocol generation". That charter is the defect. A consumer holding its own generation of the wire stack sits outside the only harness that checks cross-runtime agreement, and the fork behaved exactly as that predicts: runtime_authority_contracts.rs drifted to e542225 while this repo's own authority map named f4ab237, and the Rust CultMesh implementation existed nowhere else in GameCult. All three now come from CultLib pinned at 85f7024, and 19,604 lines of forked substrate are deleted. Nothing was lost on the way out. The vendored cultnet tree was compared file by file against CultLib: ten of twelve matched, lib.rs differed only in module declarations, and transport.rs carried one guard that existed nowhere else -- a framed length checked against the advertised maximum before allocating. That guard is now CultLib 85f7024 with a test. The migration this was expected to need does not exist. RuntimePresenceCorrelation changing from enum to struct is Odin's side of the contract and no file here touches it; with line endings normalised the two contract copies differ by 132 lines, and the only production change that reaches a provider is IdunnExpectedRoute requiring rudp:// schemes for rudp transport, which this service does not use. The code compiles unchanged. 89 tests pass across the workspace against the pinned rev. vendor/ still holds the cultcache-py and eve submodules. cultcache-py is the same pattern -- a runtime-specific repo CultLib also carries as packages/cultcache-py -- but it backs the state tooling rather than the daemon, so it is left for its own change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
39 lines
1.4 KiB
TOML
39 lines
1.4 KiB
TOML
[workspace]
|
|
members = [
|
|
"crates/ghostlight-dungeon",
|
|
"crates/ghostlight-persona-projection",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2024"
|
|
license = "MIT"
|
|
version = "0.1.0"
|
|
|
|
[workspace.dependencies]
|
|
anyhow = "1"
|
|
aes-gcm = "0.10"
|
|
async-trait = "0.1"
|
|
async-stream = "0.3"
|
|
axum = { version = "0.8", features = ["macros"] }
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
base64 = "0.22"
|
|
codex-connector = { git = "https://github.com/GameCult/CodexConnector.git", rev = "68fe94b9475823de92ed766a97ea962d48723708" }
|
|
cultcache-rs = { git = "https://github.com/GameCult/CultLib.git", rev = "85f7024a35ea42cf9f0a0199a064526427150191", package = "cultcache-rs" }
|
|
cultnet-rs = { git = "https://github.com/GameCult/CultLib.git", rev = "85f7024a35ea42cf9f0a0199a064526427150191", package = "cultnet-rs" }
|
|
cultmesh-rs = { git = "https://github.com/GameCult/CultLib.git", rev = "85f7024a35ea42cf9f0a0199a064526427150191", package = "cultmesh-rs" }
|
|
jsonwebtoken = "9"
|
|
hmac = "0.12"
|
|
rand = "0.9"
|
|
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "stream"] }
|
|
rmp-serde = "1.3"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
sha2 = "0.10"
|
|
thiserror = "2"
|
|
tokio = { version = "1", features = ["full"] }
|
|
tower-http = { version = "0.6", features = ["fs", "trace"] }
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
uuid = { version = "1", features = ["v4", "serde"] }
|
|
zeroize = "1.8"
|