FloodgateSurface/docs/development
DocumentationDevelopment

Development

build, test, format, run

just build

or: gleam build --target erlang

just test

or: gleam test

just format
just run

conformance suites

These live in the Levee repository's client workspace and run against a live server:

just test-floodgate-dual-mode

both wire protocols, one process

just test-levee-suite-vs-floodgate

Levee's own suites, repointed at Floodgate

test-levee-suite-vs-floodgate runs Levee's unmodified integration suites (levee-driver, levee-client, levee-example) against a containerised Floodgate, repointed only via LEVEE_HTTP_URL/LEVEE_SOCKET_URL/LEVEE_TENANT_KEY. Nothing in those suites is Floodgate-aware, so a failure there is a real behavioral difference between the servers.

architecture

Floodgate composes several sibling libraries rather than implementing the protocol itself — see architecture for the process tree and what each one owns.