NEXTGROUND · the studio
The disciplineis the product.
Re-entry only works if the mathematics hold, and the mathematics only hold if the engine is built like an exchange. An operator is not buying a title, it is buying the supplier who will still answer in eighteen months when a laboratory asks. So here is how it gets built.
18+ · Simulation · Play money · No real wagering
Six principles.
The engine decides, the client draws
Every price, every fill, every balance is the server's. The browser renders and nothing else.
Tested from inside the browser: no value reachable from the page can reconstruct a live round, and a balance edited in the console does not survive a round trip.
A rule without a test is an intention
Every non-negotiable in the specification has a test that fails when the rule is broken.
Learned the hard way. A documented rule was violated two commits after it was written, and nothing turned red.
Ask what would have to be false
Before a test is trusted, we ask what would have to break for it to fail.
It caught tests that were green for the wrong reason nine times on one milestone, each time because an uncontrolled layer sat between the assertion and the thing it asserted.
Money is integers
Balances and stakes are integer minor units, never floats. The ledger is double-entry and every transaction reconciles to zero.
On drift the market halts rather than continuing with a warning nobody reads.
Say why, never grey out
A control the player cannot use states its reason.
A refused order names what happened: the price moved 2.4% during transmission, beyond your 2% tolerance. Not simply that it was refused.
Defaults protect the player
The riskiest thing we built is re-entry. Left unguarded it becomes a compounding loop, so stakes are flat by default and compounding is opt-in behind a warning.
We ship no stake-progression tools, and we will not build them.
The stack.
Engine
Deterministic, one shared module for the server and the verifier, so a player checking a round and a server running it cannot drift apart.
Server
Node, drift-corrected 20 Hz clock, one authoritative instance per market.
Transport
WebSocket. One serialised frame per tick, broadcast to every session.
Ledger
Postgres. Append-only events enforced by trigger, double-entry, reconciled at every settlement.
Client
HTML5. No framework, no external runtime dependency.
Every runtime dependency is declared, and a test walks the source to check it. A supplier whose production build differs from what it tested is a supplier whose certificate means nothing.
The discipline shows best in a running round.
