Pilot Unscouted against Rendezvous v1 #22

Open
opened 2026-07-15 10:04:32 +02:00 by Kyuubi · 1 comment
Owner

Parent: #1
Depends on: #19, #20

Outcome

Independently prove the public contracts are not accidentally shaped only around SpaceGame.

Scope

  • Create/link the consumer-side Unscouted issue when implementation starts; keep its code in that repository.
  • Validate session publication, browsing, join authorization, same-socket NAT coordination, direct connection, host admission, and fallback.
  • Fit Unscouted presentation data into bounded common metadata or an explicit per-game validator without game-specific server/SDK branches.
  • Confirm player/gameplay identity, authority, simulation, fog/interest, and traffic remain Unscouted-owned.
  • Feed reusable consumer needs back into Client/Contracts rather than copying an adapter.

Acceptance criteria

  • Unscouted consumes released packages without game-specific code in Server, Contracts, or Client.
  • Direct and expected-failure/fallback paths run in the real consumer run shape.
  • Cross-game/environment isolation between Unscouted and SpaceGame is tested.
  • Metadata remains bounded and treated as untrusted display data.
  • No canonical gameplay identity/state leaks into Rendezvous.
  • Configuration, compatibility versions, and evidence are documented.
  • Any shared SDK changes have Rendezvous regression tests.
Parent: #1 Depends on: #19, #20 ## Outcome Independently prove the public contracts are not accidentally shaped only around SpaceGame. ## Scope - Create/link the consumer-side Unscouted issue when implementation starts; keep its code in that repository. - Validate session publication, browsing, join authorization, same-socket NAT coordination, direct connection, host admission, and fallback. - Fit Unscouted presentation data into bounded common metadata or an explicit per-game validator without game-specific server/SDK branches. - Confirm player/gameplay identity, authority, simulation, fog/interest, and traffic remain Unscouted-owned. - Feed reusable consumer needs back into Client/Contracts rather than copying an adapter. ## Acceptance criteria - Unscouted consumes released packages without game-specific code in Server, Contracts, or Client. - Direct and expected-failure/fallback paths run in the real consumer run shape. - Cross-game/environment isolation between Unscouted and SpaceGame is tested. - Metadata remains bounded and treated as untrusted display data. - No canonical gameplay identity/state leaks into Rendezvous. - Configuration, compatibility versions, and evidence are documented. - Any shared SDK changes have Rendezvous regression tests.
Kyuubi added reference codex/issue-22-unscouted-pilot 2026-07-16 20:34:04 +02:00
Kyuubi self-assigned this 2026-07-16 20:34:04 +02:00
Author
Owner

Upstream #22 configuration, regression contracts, and evidence are pushed on codex/issue-22-unscouted-pilot:

  • f368fec — provisions an unscouted / smoke / protocol 1 tenant, a distinct scoped local signing-key ID, bounded mode/world/mods metadata, whitelist-only short-lived credential minting, and both-key production-process smoke coverage;
  • 6bad659 — pins the consumer/package/config commits and hashes, real Godot run results, verification counts, ownership boundary, and open gates.

Linked consumer delivery is on HeiKyu/Unscouted:feat/rendezvous-pilot (1e5886aa, e7b36bbd, f0574a7d); details: HeiKyu/Unscouted#459 (comment)

Verified:

  • Rendezvous Debug: 299 passed, 0 failed;
  • Rendezvous Release: 299 passed, 0 failed;
  • formatter, ShellCheck, JSON, and whitespace gates passed;
  • hardened Compose + real Godot Unscouted host/clients passed publication, renewal, browse, incompatible protocol, exact wrong-game/wrong-environment NotFound, join authorization, same-socket NAT coordination, Unscouted keypair admission, direct gameplay, typed traversal failure, game-owned fallback gameplay, and deregistration;
  • Unscouted Debug/Release: 3,310 passed + 15 intentional skips in each; gdUnit: 360/360;
  • adversarial review findings were fixed and reverified.

Issue remains open for external gates only:

  1. Empty-cache restore using only the checked-in consumer feed config returns NU1101 for both immutable 1.0.0 packages. They must be published/exposed, then restored cleanly.
  2. Representative residential NAT/CGNAT/IPv6/multi-host canaries remain required. The local proof does not claim production Internet traversal.
Upstream #22 configuration, regression contracts, and evidence are pushed on `codex/issue-22-unscouted-pilot`: - `f368fec` — provisions an `unscouted` / `smoke` / protocol 1 tenant, a distinct scoped local signing-key ID, bounded `mode`/`world`/`mods` metadata, whitelist-only short-lived credential minting, and both-key production-process smoke coverage; - `6bad659` — pins the consumer/package/config commits and hashes, real Godot run results, verification counts, ownership boundary, and open gates. Linked consumer delivery is on `HeiKyu/Unscouted:feat/rendezvous-pilot` (`1e5886aa`, `e7b36bbd`, `f0574a7d`); details: https://git.finalfactory.de/HeiKyu/Unscouted/issues/459#issuecomment-11499 Verified: - Rendezvous Debug: 299 passed, 0 failed; - Rendezvous Release: 299 passed, 0 failed; - formatter, ShellCheck, JSON, and whitespace gates passed; - hardened Compose + real Godot Unscouted host/clients passed publication, renewal, browse, incompatible protocol, exact wrong-game/wrong-environment `NotFound`, join authorization, same-socket NAT coordination, Unscouted keypair admission, direct gameplay, typed traversal failure, game-owned fallback gameplay, and deregistration; - Unscouted Debug/Release: 3,310 passed + 15 intentional skips in each; gdUnit: 360/360; - adversarial review findings were fixed and reverified. Issue remains open for external gates only: 1. Empty-cache restore using only the checked-in consumer feed config returns `NU1101` for both immutable `1.0.0` packages. They must be published/exposed, then restored cleanly. 2. Representative residential NAT/CGNAT/IPv6/multi-host canaries remain required. The local proof does not claim production Internet traversal.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: HeiKyu/Rendezvous#22