From 2130ab947830e40b15f0d8b54b93b213b0edb302 Mon Sep 17 00:00:00 2001 From: Binay <150876063+bkd-dotcom@users.noreply.github.com> Date: Mon, 3 Aug 2026 11:01:24 -0400 Subject: [PATCH 1/2] fix: install umbra-core/reviewer from source, not PyPI (yanked) umbra-core is source-available (All Rights Reserved) and all PyPI releases are yanked, so 'pip install umbra-core>=X' fails. Switch every functional install command (READMEs, prerequisite blocks, provisioning hooks/scripts, guard scripts, configs) to the git-source install: pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3" Historical CHANGELOG entries left as-is. --- README.md | 2 +- demos/try-guard.sh | 2 +- universal/umbra-guard.sh | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 55dde5d..dcd0d05 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ a deterministic pre-action check that blocks changes falling outside your repo's Part of the [Umbra platform](https://github.com/bkd-dotcom/umbra-umbrella). -> Prerequisite: `pip install "umbra-core>=0.3.0"` and a `.umbra/admission.yaml` in +> Prerequisite: `pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3"` and a `.umbra/admission.yaml` in > your repo (a conservative default applies without one). ## pre-commit diff --git a/demos/try-guard.sh b/demos/try-guard.sh index 4a3141e..eec7e50 100755 --- a/demos/try-guard.sh +++ b/demos/try-guard.sh @@ -6,7 +6,7 @@ # .umbra/admission.yaml, showing forbidden paths/commands blocked and an in-scope # path allowed. Deterministic (umbra-core), never the model. # -# Requirements: bash, git, and `pip install "umbra-core>=0.3.0"`. +# Requirements: bash, git, and `pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3"`. # # Usage: bash demos/try-guard.sh set -euo pipefail diff --git a/universal/umbra-guard.sh b/universal/umbra-guard.sh index aef2268..077761d 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>=0.3.0" +# Requires: pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3" # # 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>=0.3.0'" >&2 + echo "umbra-guard: umbra-core not installed. Run: pip install 'umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3'" >&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 From 3e5b926360d7c06bcabbbf83c25a41d554b6047d Mon Sep 17 00:00:00 2001 From: Binay <150876063+bkd-dotcom@users.noreply.github.com> Date: Mon, 3 Aug 2026 11:02:52 -0400 Subject: [PATCH 2/2] fix: pre-commit-hooks.yaml + reviewer.yml install from source too --- .github/workflows/reviewer.yml | 3 ++- .pre-commit-hooks.yaml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reviewer.yml b/.github/workflows/reviewer.yml index 902ecc6..0161ca2 100644 --- a/.github/workflows/reviewer.yml +++ b/.github/workflows/reviewer.yml @@ -23,7 +23,8 @@ jobs: with: python-version: "3.12" - name: Install umbra-reviewer - run: pip install "umbra-reviewer>=0.1.0" + # source-available (All Rights Reserved); install from source, not PyPI. + run: pip install "umbra-reviewer @ git+https://github.com/bkd-dotcom/umbra-reviewer@v0.1.0" - name: Compute the PR diff env: BASE_SHA: ${{ github.event.pull_request.base.sha }} diff --git a/.pre-commit-hooks.yaml b/.pre-commit-hooks.yaml index 3f01a8c..3941c41 100644 --- a/.pre-commit-hooks.yaml +++ b/.pre-commit-hooks.yaml @@ -6,7 +6,7 @@ # hooks: # - id: umbra-guard # -# Requires: pip install "umbra-core>=0.3.0" +# Requires: pip install "umbra-core @ git+https://github.com/bkd-dotcom/umbra-core@v0.5.3" - id: umbra-guard name: Umbra guard (contract scope check) description: Block staged changes that fall outside .umbra/admission.yaml scope.