cultmesh-py/rs authority route verification #18

Merged
libby merged 4 commits from libby/cultmesh-route-verification into main 2026-11-07 12:25:15 +00:00
Member

Ports CultMesh authority route verification (ECDSA P-256 Odin route certificates and provider session proofs) from CultMeshAuthorityProof.cs to cultmesh-py (cultmesh_py.authority, cryptography) and cultmesh-rs (cultmesh_rs::authority, new p256 dependency). Typed refusals carry the C# message text. Both runtimes judge contracts/cultmesh/authority-route-vectors.json (C#-written) and .ts-signed.json, with negative cases: tampered fields, wrong root key, untrusted key id, expired/not-yet-valid, unsigned/unprotected, malformed signature, replay/forged session proof, high-S acceptance.

Known limits: endpoint loopback/protected classification follows the TS strict-shape rule, not System.Uri itself. C# has no hop count in route verification, so none is ported. cultmesh-py had zero vector tests; only the route vector judge is added.

Ready: steward ruling accepts the cryptography>=41 (py) and p256 (rs) dependencies. Local results on current main: cultmesh-py 120 OK; cultmesh-rs all suites pass.

🤖 Generated with Claude Code

Ports CultMesh authority route verification (ECDSA P-256 Odin route certificates and provider session proofs) from `CultMeshAuthorityProof.cs` to `cultmesh-py` (`cultmesh_py.authority`, `cryptography`) and `cultmesh-rs` (`cultmesh_rs::authority`, new `p256` dependency). Typed refusals carry the C# message text. Both runtimes judge `contracts/cultmesh/authority-route-vectors.json` (C#-written) and `.ts-signed.json`, with negative cases: tampered fields, wrong root key, untrusted key id, expired/not-yet-valid, unsigned/unprotected, malformed signature, replay/forged session proof, high-S acceptance. Known limits: endpoint loopback/protected classification follows the TS strict-shape rule, not `System.Uri` itself. C# has no hop count in route verification, so none is ported. cultmesh-py had zero vector tests; only the route vector judge is added. Ready: steward ruling accepts the `cryptography>=41` (py) and `p256` (rs) dependencies. Local results on current main: cultmesh-py 120 OK; cultmesh-rs all suites pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ECDSA P-256 route certificate and session proof verification ported from
CultMeshAuthorityProof.cs, with typed refusals, judged against the shared
contracts/cultmesh authority route vectors (C# written and TS signed).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
ECDSA P-256 route certificate and session proof verification ported from
CultMeshAuthorityProof.cs using the p256 crate (new dependency, pure Rust,
no default features), judged against the shared contracts/cultmesh vectors.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cultmesh-py: pin high-S signature acceptance to the .NET reference
Some checks failed
CultMesh QUIC native / Build win32-x64 (pull_request) Has been skipped
CultMesh QUIC native / Build linux-x64 (pull_request) Has been skipped
CultMesh QUIC native / Release native binaries (pull_request) Has been skipped
CultMesh portability and performance / ubuntu-latest one-command multiplayer onboarding (pull_request) Has been cancelled
CultMesh portability and performance / windows-latest one-command multiplayer onboarding (pull_request) Has been cancelled
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
CultMesh portability and performance / windows-latest reactive semantics and leases (pull_request) Has been cancelled
CultNet cross-runtime interop / C# / TypeScript / Rust / Python / Kotlin (pull_request) Has been cancelled
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (pull_request) Has been cancelled
497ff201aa
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Merge remote-tracking branch 'origin/main' into t18
Some checks failed
CultMesh QUIC native / Build win32-x64 (pull_request) Has been skipped
CultMesh QUIC native / Build linux-x64 (pull_request) Has been skipped
CultMesh QUIC native / Release native binaries (pull_request) Has been skipped
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Failing after 7m16s
CultMesh QUIC native / Verify committed binaries match SHA256SUMS (pull_request) Successful in 32s
0c23338204
libby changed title from WIP: cultmesh-py/rs authority route verification to cultmesh-py/rs authority route verification 2026-11-07 12:25:08 +00:00
libby merged commit 33cadb25fa into main 2026-11-07 12:25:15 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/CultLib!18
No description provided.