From d89ee6e3fc7903bfd8f1e1782f6e29d9a98f0056 Mon Sep 17 00:00:00 2001 From: mdheller <21163552+mdheller@users.noreply.github.com> Date: Fri, 22 May 2026 10:20:38 -0400 Subject: [PATCH 1/2] Document governed-runner inspection facade commands --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 2fb6014..a4bdea3 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,9 @@ 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 list --runs-root ./.socioprophet/smoke/governed-runner +prophet governed-runner status ./.socioprophet/smoke/governed-runner/run +prophet governed-runner inspect ./.socioprophet/smoke/governed-runner/run 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 @@ -68,9 +71,11 @@ For AgentPlane governed-runner commands, install or expose the AgentPlane-owned python3 -m pip install -e /path/to/agentplane sp-run doctor sp-run smoke --output-dir ./.socioprophet/smoke/governed-runner +sp-run list --runs-root ./.socioprophet/smoke/governed-runner prophet agentplane doctor prophet governed-runner doctor prophet governed-runner smoke --output-dir ./.socioprophet/smoke/governed-runner +prophet governed-runner list --runs-root ./.socioprophet/smoke/governed-runner ``` ## Boundary From 631d185ce28f572cf9c4029f04a1b1a2f1cd7a4f Mon Sep 17 00:00:00 2001 From: mdheller <21163552+mdheller@users.noreply.github.com> Date: Fri, 22 May 2026 10:57:29 -0400 Subject: [PATCH 2/2] Test governed-runner inspection facade delegation --- .../test_governed_runner_inspection_facade.py | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 tests/test_governed_runner_inspection_facade.py diff --git a/tests/test_governed_runner_inspection_facade.py b/tests/test_governed_runner_inspection_facade.py new file mode 100644 index 0000000..15a11a0 --- /dev/null +++ b/tests/test_governed_runner_inspection_facade.py @@ -0,0 +1,92 @@ +"""Tests for Prophet governed-runner inspection facade commands.""" + +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_list_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", + "list", + "--runs-root", + ".socioprophet/smoke/governed-runner", + ]) + + assert rc == 0 + assert calls == [[ + "/usr/bin/sp-run", + "list", + "--runs-root", + ".socioprophet/smoke/governed-runner", + ]] + + +def test_governed_runner_status_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", + "status", + ".socioprophet/smoke/governed-runner/run", + ]) + + assert rc == 0 + assert calls == [[ + "/usr/bin/sp-run", + "status", + ".socioprophet/smoke/governed-runner/run", + ]] + + +def test_governed_runner_inspect_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", + "inspect", + ".socioprophet/smoke/governed-runner/run", + ]) + + assert rc == 0 + assert calls == [[ + "/usr/bin/sp-run", + "inspect", + ".socioprophet/smoke/governed-runner/run", + ]]