On a machine without Soufflé, axiomcode impact (and any verb that runs a query program) exits 2:
this query needs soufflé and none is installed … — or a compiled rule binary in …/scripts/dl/.cache/, which runs without it
The engine packages ship the five language engines prebuilt, but not the query programs under plugins/axiomcode/skills/axiomcode/scripts/dl/ (impact.dl, path.dl, path-opt.dl, path-every.dl). Those are compiled on first use, which needs Soufflé and a C++ compiler on the user's machine. dl_program.py already keys its cache on the rules alone so that a shipped binary would work without Soufflé, but nothing ships one.
Reproduced on a fresh Ubuntu 24.04 VM after npm i -g @axiomcode/code-graph@0.1.0.
Fix: compile the query programs in build-engines.yml on every platform, ship them in each @axiomcode/engine-<platform> package, and have dl_program.py use the packaged binary when its rules hash matches.
On a machine without Soufflé,
axiomcode impact(and any verb that runs a query program) exits 2:The engine packages ship the five language engines prebuilt, but not the query programs under
plugins/axiomcode/skills/axiomcode/scripts/dl/(impact.dl,path.dl,path-opt.dl,path-every.dl). Those are compiled on first use, which needs Soufflé and a C++ compiler on the user's machine.dl_program.pyalready keys its cache on the rules alone so that a shipped binary would work without Soufflé, but nothing ships one.Reproduced on a fresh Ubuntu 24.04 VM after
npm i -g @axiomcode/code-graph@0.1.0.Fix: compile the query programs in
build-engines.ymlon every platform, ship them in each@axiomcode/engine-<platform>package, and havedl_program.pyuse the packaged binary when its rules hash matches.