Documentation
¶
Overview ¶
factory-run is the RFC-201 §5 generation factory: it generates seeded query candidates, executes them against a real FoundationDB through the production SQL path, blesses the ones every oracle agrees on, deduplicates them against the corpus already committed, and WRITES the survivors into pkg/relational/conformance/factorycorpus/testdata as permanent suite content.
Generated tests are committed, not regenerated. A frozen expectation keeps testing the engine when the generator, the oracles and the Java server are broken or gone; it bisects with git; and it turns oracle agreement — a fact about one moment — into a regression pin, a permanent one.
Run a batch:
bazelisk run //cmd/factory-run -- -seeds 400 -quota 200 -date 2026-07-31
Cross-engine blessing needs a reachable Java conformance server:
bazelisk run //conformance:conformance_server # in another terminal bazelisk run //cmd/factory-run -- -java-url http://127.0.0.1:PORT
Without -java-url the batch is blessed by the metamorphic oracles alone and every emitted file says so in its header — honest, weaker, and upgradeable by a later run that can reach a server.
Exit codes: 0 = batch complete, no oracle disagreed; 1 = at least one ORACLE DISAGREEMENT (a potential engine bug, persisted under -findings); 2 = INFRA failure; 3 = the batch committed nothing, which is a broken pipeline rather than a quiet success.