Writes priv/dl/base.dl and priv/dl/layer2.dl from Argus.Schema.
Fact declarations are positional: .decl remote_call(id: symbol, mod: symbol, ...) has to agree with the column order Argus.Pipeline.Emit
writes. Souffle cannot check that — a field swapped between two symbol
columns parses fine and silently joins the wrong values — so the
declarations were the one part of the schema with no mechanical link back
to it, maintained by hand in 95 places across 19 files.
mix argus.gen.dl # rewrite the generated files
mix argus.gen.dl --check # verify they match; exit 1 if not--check is what the test suite runs. Editing a relation in
Argus.Schema and forgetting to regenerate fails the build rather than
producing facts that decode wrongly.