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.
adversarial review findings were fixed and reverified.
Issue remains open for external gates only:
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.
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.
v1.0.0 shipped (2026-08-22): the Unscouted pilot's outstanding external dependency — packages restorable from the public feed — is now satisfied (FinalFactory.Rendezvous.Client/Contracts 1.0.0 live on the Gitea NuGet registry; anonymous restore verified). The hosted test instance also carries a provisioned unscouted/test scope at https://rendezvous.foxden.at:8443 (UDP 45.141.116.212:9050). Remaining before close: repeating the pilot's restore/traversal evidence from the released artifacts on the Unscouted side.
v1.0.0 shipped (2026-08-22): the Unscouted pilot's outstanding external dependency — packages restorable from the public feed — is now satisfied (`FinalFactory.Rendezvous.Client`/`Contracts` 1.0.0 live on the Gitea NuGet registry; anonymous restore verified). The hosted test instance also carries a provisioned `unscouted`/`test` scope at https://rendezvous.foxden.at:8443 (UDP 45.141.116.212:9050). Remaining before close: repeating the pilot's restore/traversal evidence from the released artifacts on the Unscouted side.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Parent: #1
Depends on: #19, #20
Outcome
Independently prove the public contracts are not accidentally shaped only around SpaceGame.
Scope
Acceptance criteria
Upstream #22 configuration, regression contracts, and evidence are pushed on
codex/issue-22-unscouted-pilot:f368fec— provisions anunscouted/smoke/ protocol 1 tenant, a distinct scoped local signing-key ID, boundedmode/world/modsmetadata, 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:
NotFound, join authorization, same-socket NAT coordination, Unscouted keypair admission, direct gameplay, typed traversal failure, game-owned fallback gameplay, and deregistration;Issue remains open for external gates only:
NU1101for both immutable1.0.0packages. They must be published/exposed, then restored cleanly.v1.0.0 shipped (2026-08-22): the Unscouted pilot's outstanding external dependency — packages restorable from the public feed — is now satisfied (
FinalFactory.Rendezvous.Client/Contracts1.0.0 live on the Gitea NuGet registry; anonymous restore verified). The hosted test instance also carries a provisionedunscouted/testscope at https://rendezvous.foxden.at:8443 (UDP 45.141.116.212:9050). Remaining before close: repeating the pilot's restore/traversal evidence from the released artifacts on the Unscouted side.