recon + sqlglot validator + drill_down package; guard ReAct dimension picks against candidate list

This commit is contained in:
2026-06-03 07:15:02 -03:00
parent e124a8a7d9
commit 2dad62f7e7
38 changed files with 1954 additions and 596 deletions

View File

@@ -1,5 +1,5 @@
.PHONY: kind tilt-up tilt-down seed seed-fetch seed-push evals test \
compose-up compose-down compose-clean compose-seed compose-evals \
.PHONY: kind tilt-up tilt-down seed seed-fetch seed-push recon evals test \
compose-up compose-down compose-clean compose-seed compose-recon compose-evals \
docs-graphs
COMPOSE := docker compose -f ctrl/docker-compose.yml
@@ -32,6 +32,22 @@ seed-push:
seed: seed-fetch seed-push
kubectl $(KCTX) $(KNS) exec deploy/api -- uv run python -m seed.load_bird
# Rebuild api/datasets/<name>/{extracted_schema,recon}.json from the YAML +
# live warehouse introspection. Runs inside the api pod (needs Postgres
# access), then copies the artefacts back to the host so they appear next
# to the source YAMLs.
recon:
@POD=$$(kubectl $(KCTX) $(KNS) get pod -l app=api -o jsonpath='{.items[0].metadata.name}'); \
kubectl $(KCTX) $(KNS) exec $$POD -- uv run python -m api.recon.build; \
for ds in $$(ls api/datasets); do \
[ -d "api/datasets/$$ds" ] || continue; \
case "$$ds" in __*|.*) continue ;; esac; \
for f in extracted_schema.json recon.json; do \
kubectl $(KCTX) $(KNS) cp $$POD:/app/api/datasets/$$ds/$$f api/datasets/$$ds/$$f 2>/dev/null \
&& echo " → api/datasets/$$ds/$$f" || true; \
done; \
done
evals:
kubectl $(KCTX) $(KNS) exec deploy/api -- uv run python -m api.evals.run_evals
@@ -55,6 +71,9 @@ compose-clean:
compose-seed: seed-fetch
$(COMPOSE) exec api uv run python -m seed.load_bird
compose-recon:
$(COMPOSE) exec api uv run python -m api.recon.build
compose-evals:
$(COMPOSE) exec api uv run python -m api.evals.run_evals