Make screening provider-neutral with compatible v2 contracts #233

Merged
clawdie merged 1 commit from clawdie/screener-role-api into main 2026-10-29 16:42:46 +01:00 AGit
Owner

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.

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 3976f64714187339be01060ec104c49d75f302c1, 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.
feat: separate screening role from provider names
All checks were successful
ci-gate / gate (pull_request) Successful in 1m2s
CI / packaging (pull_request) Successful in 3s
CI / markdown (pull_request) Successful in 9s
CI / mcp-cross-language (pull_request) Successful in 25s
leak-guard / guard (pull_request) Successful in 15s
CI / python-tests (pull_request) Successful in 21s
CI / go (pull_request) Successful in 43s
ec7be317cd
Introduce Screener and ScreeningVerdict, preserve deprecated Jev source/CLI aliases, and emit versioned canonical wire keys with legacy reads. Keep deterministic vetoes authoritative and require explicit adapter registration. Update migration docs and the tracked Lisica document digest.

Validation: full scripts/ci-checks.sh passes on Linux with GOFLAGS=-buildvcs=false, including Rust tests/clippy, Go race/staticcheck/vulnerability checks, FreeBSD cross-build, docs and ratification tests. Native FreeBSD follow-up remains pending.
clawdie changed target branch from fix/probe-unprivileged-bastille-discovery to main 2026-10-29 16:42:14 +01:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
clawdie/colibri!233
No description provided.