prism-harness-suite
The package builds from source hosted on a project-owned git domain (sovereign-society.org), which is not on the default whitelist but plausibly official; the source is not a prebuilt binary, and the unverifiable checksum (SKIP) is acceptable for development versions, resulting in low risk.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 90%): The package builds from source hosted on a project-owned git domain (sovereign-society.org), which is not on the default whitelist but plausibly official; the source is not a prebuilt binary, and the unverifiable checksum (SKIP) is acceptable for development versions, resulting in low risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:13
source=("git+https://git.sovereign-society.org/prism/prism-harness.git#tag=v1.0.0-rc.3")
PKGBUILD
1 offending line(s) highlighted# Maintainer: Markus Maiwald <markus@maiwald.tk>
pkgname=prism-harness-suite
pkgver=1.0.0_rc.3
pkgrel=1
pkgdesc="PRISM harness suite for AI coding agents: doctrine rules, review steering, overnight loops, model routing and security gates on one Bun runtime"
arch=('x86_64')
url=https://getharness.app
license=('custom:LSL-1.0')
depends=('bun')
makedepends=('git' 'bun')
provides=('prism-harness' 'prism-loop' 'prism-proxy' 'prism-route' 'prism-sober')
conflicts=('prism-harness' 'prism-loop' 'prism-proxy' 'prism-route' 'prism-sober')
source=("git+https://git.sovereign-society.org/prism/prism-harness.git#tag=v1.0.0-rc.3")
sha256sums=('SKIP')
build() {
cd "$srcdir/prism-harness"
# Clone the other components (they are separate repos on Forgejo)
for r in prism-loop prism-sober prism-proxy prism-route; do
if [ ! -d "../$r" ]; then
git clone --depth 1 "https://git.sovereign-society.org/prism/$r.git" "../$r"
fi
done
# Build small bundles (each package has its "build" script from the suite setup)
for d in . ../prism-loop ../prism-sober ../prism-proxy ../prism-route; do
if [ -f "$d/package.json" ]; then
(cd "$d" && bun install --frozen-lockfile 2>/dev/null || bun install; bun run --if-present build) || echo "note: build for $d"
fi
done
}
package() {
# git+https extracts the repo into "$srcdir/prism-harness/" — cd there
# so all paths align with build() (the build clones sibling components
# under "$srcdir/prism-harness/../$r" = "$srcdir/$r").
cd "$srcdir/prism-harness"
# Install each component's built tree to /usr/lib/prism/<name> and wrapper in /usr/bin
# This keeps node_modules for native deps (e.g. sharp in proxy) next to the code
# Small size, one Bun runtime
install -d "$pkgdir/usr/lib/prism"
install -d "$pkgdir/usr/bin"
for comp in prism-harness prism-loop prism-sober prism-proxy prism-route; do
srcdir_comp="."
if [ "$comp" != "prism-harness" ]; then
srcdir_comp="../$comp"
fi
if [ -d "$srcdir_comp/dist" ]; then
# Copy the full component (for deps) or at least dist + needed
install -d "$pkgdir/usr/lib/prism/$comp"
cp -r "$srcdir_comp/dist" "$pkgdir/usr/lib/prism/$comp/" 2>/dev/null || true
# For components with node_modules (proxy etc), copy if present after build
if [ -d "$srcdir_comp/node_modules" ]; then
cp -r "$srcdir_comp/node_modules" "$pkgdir/usr/lib/prism/$comp/" 2>/dev/null || true
fi
# Copy package.json if needed for resolution
if [ -f "$srcdir_comp/package.json" ]; then
install -Dm644 "$srcdir_comp/package.json" "$pkgdir/usr/lib/prism/$comp/package.json"
fi
# The bundle .js
bundle="$pkgdir/usr/lib/prism/$comp/dist/$comp.js"
if [ -f "$bundle" ]; then
# Wrapper script (ensures correct exec with bun and resolution)
cat > "$pkgdir/usr/bin/$comp" << WRAP
#!/usr/bin/env sh
exec /usr/bin/bun "/usr/lib/prism/$comp/dist/$comp.js" "\$@"
WRAP
chmod +x "$pkgdir/usr/bin/$comp"
fi
else
echo "warning: no dist for $comp"
fi
done
# Identity canon templates (scaffold by prism-harness init; reference doc for humans)
if [ -d "templates/identity" ]; then
install -d "$pkgdir/usr/lib/prism/prism-harness/templates/identity"
cp -r "templates/identity" "$pkgdir/usr/lib/prism/prism-harness/templates/" 2>/dev/null || true
fi
# Install helper
if [ -f "install.sh" ]; then
install -Dm755 "install.sh" "$pkgdir/usr/share/doc/$pkgname/install.sh"
fi
}
Changes since previous scan
--- PKGBUILD @ 2026-09-02 00:02+++ PKGBUILD @ 2026-09-17 00:27@@ -1,16 +1,16 @@ # Maintainer: Markus Maiwald <markus@maiwald.tk> pkgname=prism-harness-suite-pkgver=1.0.0_beta.8+pkgver=1.0.0_rc.3 pkgrel=1 pkgdesc="PRISM harness suite for AI coding agents: doctrine rules, review steering, overnight loops, model routing and security gates on one Bun runtime" arch=('x86_64')-url="https://getharness.app"+url=https://getharness.app license=('custom:LSL-1.0') depends=('bun') makedepends=('git' 'bun') provides=('prism-harness' 'prism-loop' 'prism-proxy' 'prism-route' 'prism-sober') conflicts=('prism-harness' 'prism-loop' 'prism-proxy' 'prism-route' 'prism-sober')-source=("git+https://git.sovereign-society.org/prism/prism-harness.git#tag=v1.0.0-beta.8")+source=("git+https://git.sovereign-society.org/prism/prism-harness.git#tag=v1.0.0-rc.3") sha256sums=('SKIP') build() {Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 13:53:13 | Medium | 1 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 19:51:22 | Medium | 1 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |