diff --git a/README.md b/README.md index 6f1cb16..9295504 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Umbra decides how much authority an agent's change has earned and proves it. The plugins bring that governance *into the tools where agents work* — enforced by deterministic code, never by the model itself (an agent can't approve its own change). -> Prerequisite for all integrations: `pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3"` and a +> Prerequisite for all integrations: `pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.4"` and a > `.umbra/admission.yaml` in your repo (a conservative default applies without one). ## Claude Code plugin (deepest integration) diff --git a/claude-code/umbra/hooks/umbra-lib.sh b/claude-code/umbra/hooks/umbra-lib.sh index 049988c..468ba79 100755 --- a/claude-code/umbra/hooks/umbra-lib.sh +++ b/claude-code/umbra/hooks/umbra-lib.sh @@ -66,7 +66,7 @@ umbra_provision() { venv_py="$venv/bin/python" { "$py" -m venv "$venv" \ - && "$venv_py" -m pip install --quiet --disable-pip-version-check "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3" + && "$venv_py" -m pip install --quiet --disable-pip-version-check "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.4" } >/dev/null 2>&1 || true [ -x "$venv_py" ] && "$venv_py" -c "import umbra_core" >/dev/null 2>&1 } diff --git a/claude-code/umbra/hooks/umbra-session-start.sh b/claude-code/umbra/hooks/umbra-session-start.sh index 878cc95..c6533b0 100755 --- a/claude-code/umbra/hooks/umbra-session-start.sh +++ b/claude-code/umbra/hooks/umbra-session-start.sh @@ -22,8 +22,8 @@ fi # Could not activate. Say so LOUDLY and specifically — do not pretend to protect. if umbra_py311plus >/dev/null 2>&1; then - echo "Umbra plugin loaded but INACTIVE: could not install umbra-core (offline?). The guard is NOT enforcing anything. Fix with: pip install 'umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3'" + echo "Umbra plugin loaded but INACTIVE: could not install umbra-core (offline?). The guard is NOT enforcing anything. Fix with: pip install 'umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.4'" else - echo "Umbra plugin loaded but INACTIVE: needs Python >=3.11, which was not found (your default python3 may be older). The guard is NOT enforcing anything. Install Python 3.11+ and: pip install 'umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3'" + echo "Umbra plugin loaded but INACTIVE: needs Python >=3.11, which was not found (your default python3 may be older). The guard is NOT enforcing anything. Install Python 3.11+ and: pip install 'umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.4'" fi exit 0 diff --git a/claude-code/umbra/scripts/umbra-mcp.sh b/claude-code/umbra/scripts/umbra-mcp.sh index 2effc12..01f49ff 100755 --- a/claude-code/umbra/scripts/umbra-mcp.sh +++ b/claude-code/umbra/scripts/umbra-mcp.sh @@ -15,5 +15,5 @@ for PY in python3.13 python3.12 python3.11 python3 python; do exec "$PY" -m umbra_core.mcp_server fi done -echo "umbra-core[mcp] not available on a Python >=3.11; run: pip install 'umbra-core[mcp] @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3'" >&2 +echo "umbra-core[mcp] not available on a Python >=3.11; run: pip install 'umbra-core[mcp] @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.4'" >&2 exit 1 diff --git a/claude-code/umbra/skills/admit/SKILL.md b/claude-code/umbra/skills/admit/SKILL.md index 5a0ab06..57556b7 100644 --- a/claude-code/umbra/skills/admit/SKILL.md +++ b/claude-code/umbra/skills/admit/SKILL.md @@ -10,7 +10,7 @@ report the result to the user. Steps: 1. Confirm `umbra` is available: run `umbra --help`. If it is not installed, tell - the user to run `pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3"` and stop. + the user to run `pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.4"` and stop. 2. Run admission over the change already present in the working tree (no agent is re-invoked — the change being governed is what's on disk): diff --git a/codex/README.md b/codex/README.md index 9161ec2..6fefe7e 100644 --- a/codex/README.md +++ b/codex/README.md @@ -6,7 +6,7 @@ with [umbra-core](https://github.com/bkd-dotcom/umbra-core). ## Prerequisite ```bash -pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3" +pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.4" ``` Add a `.umbra/admission.yaml` to your repo (allowed/forbidden paths, diff budget, diff --git a/codex/config.toml b/codex/config.toml index 0881be1..22232b2 100644 --- a/codex/config.toml +++ b/codex/config.toml @@ -1,5 +1,5 @@ # Umbra MCP server for Codex — add to ~/.codex/config.toml -# Requires: pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3" +# Requires: pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.4" [mcp_servers.umbra] command = "python" diff --git a/cursor/README.md b/cursor/README.md index 84e4e3e..9ccab71 100644 --- a/cursor/README.md +++ b/cursor/README.md @@ -6,7 +6,7 @@ Two ways to govern coding-agent changes in Cursor with ## Prerequisite ```bash -pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3" +pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.4" ``` Add a `.umbra/admission.yaml` to your repo declaring allowed/forbidden paths, diff --git a/universal/umbra-guard.sh b/universal/umbra-guard.sh index 077761d..9a1a1d4 100755 --- a/universal/umbra-guard.sh +++ b/universal/umbra-guard.sh @@ -6,7 +6,7 @@ # or manually. It checks proposed file paths and/or a command against the repo's # .umbra/admission.yaml and exits non-zero (blocking) on a violation. # -# Requires: pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3" +# Requires: pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.4" # # Usage: # umbra-guard.sh --path src/app.py @@ -17,7 +17,7 @@ set -euo pipefail if ! command -v umbra >/dev/null 2>&1; then - echo "umbra-guard: umbra-core not installed. Run: pip install 'umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3'" >&2 + echo "umbra-guard: umbra-core not installed. Run: pip install 'umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.4'" >&2 # Fail open by default so this never blocks a commit unexpectedly; set # UMBRA_GUARD_STRICT=1 to fail closed when umbra is missing. [ "${UMBRA_GUARD_STRICT:-0}" = "1" ] && exit 1 || exit 0