Make screening provider-neutral with compatible v2 contracts #233
Loading…
Reference in a new issue
No description provided.
Delete branch "clawdie/screener-role-api"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Export the advisory role as Screener / ScreeningVerdict so callers do not encode the current Jev provider into their policy API. Gate remains deterministic; Gatekeeper names the composition and existing Rust Gatekeeper* names stay unchanged. This PR is stacked on fix/probe-unprivileged-bastille-discovery at
3976f64714, the same source head as main-targeted PR #231. Merge/review #231 first, then rebase and retarget this PR onto main. Do not use this naming PR as a shortcut to merge the jail-policy feature. - Preserve deprecated Jev Go and CLI aliases; conflicting aliases fail closed. - New writers emit canonical v2 schemas/keys; readers accept v1/legacy inputs. Upgrade receivers first. - Add injectable Screener and explicit provider factory/config selection. Credentials stay in adapters; no Ollama adapter, new network client, or automatic fallback is implemented. - Keep provider/model provenance audit-only. Deterministic vetoes remain authoritative, including with operator override. - Update migration documentation, v2 health schema files, and the tracked Lisica document digest; signed fixtures remain unchanged. E_SCREENING_ESCALATED is a documentation label with its legacy alias, not a newly implemented runtime code. Validation: scripts/ci-checks.sh passed on Linux with Go 1.26.10, GOFLAGS=-buildvcs=false and isolated writable caches. Includes Rust workspace/clippy tests, Go race/staticcheck/vulnerability checks, FreeBSD cross-build, wiki/format/date/OKF/token gates, and Lisica acceptance tests. Native FreeBSD validation is pending. No live jail, mesh, vault, or Tarsnap state was touched.