Create the buildable repository foundation described by the approved architecture.
Scope
Land the existing README and repository hygiene files.
Create FinalFactory.Rendezvous.Server, FinalFactory.Rendezvous.Contracts, FinalFactory.Rendezvous.Client, FinalFactory.Rendezvous.TestClient, and test projects with enforced dependency direction.
Target the current .NET LTS for the server; choose a client/contracts target compatible with the Godot consumers.
Pin a stable LiteNetLib 2.x package and all other direct dependencies centrally.
Enable nullable reference types, deterministic builds, warnings as errors, analyzers, formatting rules, and package lock/restore policy.
Add Gitea Actions for restore, build, format/analyzer checks, and tests.
Document local commands and architecture boundaries.
Acceptance criteria
A clean clone restores, builds, and tests on Linux.
CI runs the same gates and fails on warnings or formatting drift.
Contracts, Client, and TestClient contain no Godot dependency.
Contracts contain no server or LiteNetLib implementation types.
TestClient may reference Client, Contracts, and LiteNetLib, but cannot reference Server internals.
Server starts and shuts down as a minimal HTTP/UDP-capable process with cancellation.
Dependency versions are reproducible and the supported SDK/runtime versions are documented.
No license is added without an explicit owner choice.
Parent: #1
Depends on: #2
## Outcome
Create the buildable repository foundation described by the approved architecture.
## Scope
- Land the existing README and repository hygiene files.
- Create `FinalFactory.Rendezvous.Server`, `FinalFactory.Rendezvous.Contracts`, `FinalFactory.Rendezvous.Client`, `FinalFactory.Rendezvous.TestClient`, and test projects with enforced dependency direction.
- Target the current .NET LTS for the server; choose a client/contracts target compatible with the Godot consumers.
- Pin a stable LiteNetLib 2.x package and all other direct dependencies centrally.
- Enable nullable reference types, deterministic builds, warnings as errors, analyzers, formatting rules, and package lock/restore policy.
- Add Gitea Actions for restore, build, format/analyzer checks, and tests.
- Document local commands and architecture boundaries.
## Acceptance criteria
- A clean clone restores, builds, and tests on Linux.
- CI runs the same gates and fails on warnings or formatting drift.
- Contracts, Client, and TestClient contain no Godot dependency.
- Contracts contain no server or LiteNetLib implementation types.
- TestClient may reference Client, Contracts, and LiteNetLib, but cannot reference Server internals.
- Server starts and shuts down as a minimal HTTP/UDP-capable process with cancellation.
- Dependency versions are reproducible and the supported SDK/runtime versions are documented.
- No license is added without an explicit owner choice.
Starting the first scoped bootstrap checkpoint: land the project README on main, including the thin TestClient in the planned solution layout. Solution/project scaffolding and CI remain pending in this issue.
Starting the first scoped bootstrap checkpoint: land the project README on `main`, including the thin TestClient in the planned solution layout. Solution/project scaffolding and CI remain pending in this issue.
README checkpoint pushed to main in 2959c7e (docs: describe Rendezvous service (#3)). It documents purpose, responsibilities, connection flow, security boundaries, non-goals, and the planned thin TestClient. Remaining solution/CI bootstrap scope stays open.
README checkpoint pushed to `main` in `2959c7e` (`docs: describe Rendezvous service (#3)`). It documents purpose, responsibilities, connection flow, security boundaries, non-goals, and the planned thin TestClient. Remaining solution/CI bootstrap scope stays open.
Resuming the remaining bootstrap scope on top of the completed #2 architecture checkpoint: solution/projects, dependency boundaries, deterministic/locked builds, analyzers/format gates, CI, and minimal cancellable HTTP/UDP server startup.
Resuming the remaining bootstrap scope on top of the completed #2 architecture checkpoint: solution/projects, dependency boundaries, deterministic/locked builds, analyzers/format gates, CI, and minimal cancellable HTTP/UDP server startup.
Bootstrap completed and pushed on codex/issue-3-bootstrap (commit e626b89) on top of #2. It adds the five-project solution, exact .NET/LiteNetLib pins and lock files, enforced dependency tests, analyzer/format/build/test CI, and a cancellable HTTP/UDP server. Verification: locked restore pass, release build 0 errors, formatter 0 changes, 5/5 tests pass, live/ready loopback smoke pass, graceful cancellation pass. The issue will close when the stacked branch lands on main.
Bootstrap completed and pushed on `codex/issue-3-bootstrap` (commit `e626b89`) on top of #2. It adds the five-project solution, exact .NET/LiteNetLib pins and lock files, enforced dependency tests, analyzer/format/build/test CI, and a cancellable HTTP/UDP server. Verification: locked restore pass, release build 0 errors, formatter 0 changes, 5/5 tests pass, live/ready loopback smoke pass, graceful cancellation pass. The issue will close when the stacked branch lands on `main`.
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: #2
Outcome
Create the buildable repository foundation described by the approved architecture.
Scope
FinalFactory.Rendezvous.Server,FinalFactory.Rendezvous.Contracts,FinalFactory.Rendezvous.Client,FinalFactory.Rendezvous.TestClient, and test projects with enforced dependency direction.Acceptance criteria
Starting the first scoped bootstrap checkpoint: land the project README on
main, including the thin TestClient in the planned solution layout. Solution/project scaffolding and CI remain pending in this issue.README checkpoint pushed to
mainin2959c7e(docs: describe Rendezvous service (#3)). It documents purpose, responsibilities, connection flow, security boundaries, non-goals, and the planned thin TestClient. Remaining solution/CI bootstrap scope stays open.Resuming the remaining bootstrap scope on top of the completed #2 architecture checkpoint: solution/projects, dependency boundaries, deterministic/locked builds, analyzers/format gates, CI, and minimal cancellable HTTP/UDP server startup.
Bootstrap completed and pushed on
codex/issue-3-bootstrap(commite626b89) on top of #2. It adds the five-project solution, exact .NET/LiteNetLib pins and lock files, enforced dependency tests, analyzer/format/build/test CI, and a cancellable HTTP/UDP server. Verification: locked restore pass, release build 0 errors, formatter 0 changes, 5/5 tests pass, live/ready loopback smoke pass, graceful cancellation pass. The issue will close when the stacked branch lands onmain.