From 8bbf6f783c1cbd7fbd6cc237f8f7fe878ca94ab8 Mon Sep 17 00:00:00 2001 From: data-engineer Date: Sun, 7 Jun 2026 20:29:51 -0700 Subject: [PATCH] test: isolate quickstart smoke brain env --- Gradata/docs/getting-started/install.md | 4 +++- Gradata/examples/offline_quickstart_smoke.py | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Gradata/docs/getting-started/install.md b/Gradata/docs/getting-started/install.md index 0189040e..5d8e2579 100644 --- a/Gradata/docs/getting-started/install.md +++ b/Gradata/docs/getting-started/install.md @@ -114,7 +114,9 @@ gradata --brain-dir ./my-brain audit # data-flow audit ``` For a non-mutating offline smoke test that exercises init, agent-install dry -run, correction, recall, stats, and audit: +run, correction, recall, stats, and audit. The script creates a temporary HOME +and ignores inherited live-brain variables such as `BRAIN_DIR`/`GRADATA_BRAIN` +so it can be run safely from an agent shell: ```bash PYTHONPATH=src python examples/offline_quickstart_smoke.py diff --git a/Gradata/examples/offline_quickstart_smoke.py b/Gradata/examples/offline_quickstart_smoke.py index 3a67f0b2..9058390f 100644 --- a/Gradata/examples/offline_quickstart_smoke.py +++ b/Gradata/examples/offline_quickstart_smoke.py @@ -43,6 +43,10 @@ def main() -> int: env["HOME"] = str(home) env["GRADATA_BRAIN_DIR"] = str(brain) env.setdefault("GRADATA_LOG", "WARNING") + # Make this smoke deterministic when run by developers/agents that already + # export a live Gradata brain path in their shell. + env.pop("BRAIN_DIR", None) + env.pop("GRADATA_BRAIN", None) run(["--help"], env=env) run(["init", str(brain), "--domain", "Smoke", "--name", "Quickstart Smoke", "--no-interactive"], env=env) @@ -57,9 +61,11 @@ def main() -> int: "Hey, check out what we just shipped.", ], env=env) run(["--brain-dir", str(brain), "recall", "draft a launch email", "--max-tokens", "400"], env=env) - run(["--brain-dir", str(brain), "stats"], env=env) + stats = run(["--brain-dir", str(brain), "stats"], env=env) run(["--brain-dir", str(brain), "audit"], env=env) + if f"Brain: {brain}" not in stats: + raise SystemExit(f"stats used the wrong brain directory:\n{stats}") if not (brain / "system.db").exists(): raise SystemExit(f"missing expected brain database: {brain / 'system.db'}")