From 94b7e0792d68d19e13fcfa011f2f19b45b26f0bc Mon Sep 17 00:00:00 2001 From: mdheller <21163552+mdheller@users.noreply.github.com> Date: Fri, 22 May 2026 09:12:51 -0400 Subject: [PATCH 1/2] Document governed-runner smoke facade command --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index fa3b98b..2fb6014 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ prophet agentplane admit ./governed-run-contract.json --preflight ./preflight-re prophet agentplane dossier ./.socioprophet/runs/governed-run-alpha-001 prophet agentplane validate-dossier ./run-dossier.json prophet governed-runner doctor +prophet governed-runner smoke --output-dir ./.socioprophet/smoke/governed-runner prophet governed-runner preflight ./governed-run-contract.json prophet governed-runner admit ./governed-run-contract.json --preflight ./preflight-receipt.json --authority-state ./agent-authority-current-state.json --projected-cost-usd 0.25 prophet governed-runner dossier ./.socioprophet/runs/governed-run-alpha-001 @@ -66,8 +67,10 @@ For AgentPlane governed-runner commands, install or expose the AgentPlane-owned ```bash python3 -m pip install -e /path/to/agentplane sp-run doctor +sp-run smoke --output-dir ./.socioprophet/smoke/governed-runner prophet agentplane doctor prophet governed-runner doctor +prophet governed-runner smoke --output-dir ./.socioprophet/smoke/governed-runner ``` ## Boundary From 574f9374eba3d86254c21ec7e7e8e8a9bbb43021 Mon Sep 17 00:00:00 2001 From: mdheller <21163552+mdheller@users.noreply.github.com> Date: Fri, 22 May 2026 09:13:23 -0400 Subject: [PATCH 2/2] Test governed-runner smoke facade delegation --- tests/test_governed_runner_smoke_facade.py | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tests/test_governed_runner_smoke_facade.py diff --git a/tests/test_governed_runner_smoke_facade.py b/tests/test_governed_runner_smoke_facade.py new file mode 100644 index 0000000..efb22ee --- /dev/null +++ b/tests/test_governed_runner_smoke_facade.py @@ -0,0 +1,40 @@ +"""Tests for the Prophet governed-runner smoke facade.""" + +from __future__ import annotations + +import subprocess + +from prophet_cli.cli import main + + +class Completed: + def __init__(self, returncode: int = 0): + self.returncode = returncode + + +def test_governed_runner_smoke_delegates_to_sp_run(monkeypatch): + calls: list[list[str]] = [] + + monkeypatch.setattr("shutil.which", lambda binary: f"/usr/bin/{binary}") + + def fake_run(cmd, check=False): + calls.append(cmd) + assert check is False + return Completed(0) + + monkeypatch.setattr(subprocess, "run", fake_run) + + rc = main([ + "governed-runner", + "smoke", + "--output-dir", + ".socioprophet/smoke/governed-runner", + ]) + + assert rc == 0 + assert calls == [[ + "/usr/bin/sp-run", + "smoke", + "--output-dir", + ".socioprophet/smoke/governed-runner", + ]]