feat(vdb): make project installable — `vdb` console script on PATH
Step 7b. Builds on !11 (merged).
Flips the project to a real package (reversing !5 (merged)'s deliberate non-package, as planned — the on-PATH vdb is the payoff):
- hatchling build backend +
[project.scripts] vdb = "vdb.cli:main", -
[tool.uv] package = true; wheel targetpackages = ["vdb"]withfeature-catalog.yamlforce-included, -
uv syncnow installs the project editable and drops.venv/bin/vdb.
The editable install keeps the engine scripts, scripts/ dev tools, skills/, and systemd units on disk in the clone, so vdb's in-process dispatch (engines.py) and subprocess dispatch (ext.py) still resolve them by path — verified by running .venv/bin/vdb index/serve/status against a vault outside the repo. Wheel builds cleanly with the entry point + catalog.
tests/test_vdb_packaging.py locks the contract (build backend, console script, package list, callable entry point, catalog location). Full suite green.