crewship keeper
The Keeper command group controls the credential-access judge and the workspace
watchdog. It also exposes the audit trail, human resolution path, evaluator
controls, and health checks.
Use --format json (or yaml/ndjson where supported) when another program
will consume the result. The command tree itself is generated by the binary:
Authentication and scope
Except forkeeper eval, every command below calls the server in the current
authenticated workspace and requires an OWNER or ADMIN workspace role. The
server remains the authority for authorization; a CLI-side permission hint does
not grant access. keeper status includes both instance server status and the
workspace governance overlay.
keeper eval is different: it opens the local Crewship SQLite database
read-only, dials models from the machine running the CLI, and does not call the
server or require CLI authentication. Pass --endpoint and --incumbent when
the server’s judge is configured only through environment variables, because
those server settings are not automatically available to the local replay.
All commands also accept the normal global CLI flags, including --server,
--workspace, --format, and --no-color. See CLI overview
for those shared flags and authentication setup.
Safety and side effects
- Keeper is fail-closed. An unavailable, slow, or unparseable judge produces a
DENY rather than an ALLOW.
keeper config set --enabled onis refused when no endpoint/model is configured. enable/disableand instance configuration affect the next credential request. For runs started afterwards, enabling Keeper withholds SECRET credentials until the request is allowed; a running container keeps the environment it already received.askuses the real credential-request decision path. It can create an audit request, an inbox escalation, and a health-window sample; it does not merely simulate a response.resolveis a real human (or explicitly named reference-model) adjudication and is written to the journal. Four-eyes rules can refuse an OWNER from resolving an escalation raised by that owner’s agent; L4 and any configured tier floor can require human approval.review run,aux test,judge test, and hosted judge tests make model calls. Hosted evaluator calls can spend tokens; review runs are rate-limited instance-wide.findings testmakes no model call, but creates a clearly labelled real inbox item.aux resetandconfig resetuse DELETE-style reset behavior. They remove local overrides, not the server’s environment configuration.profile resetandmodel clearreset only their respective workspace/instance settings.- Turning
auto-leaseoff does not extend leases already issued. Existing leases still expire; disabling auto-lease only stops future automatic lease issuance. keeper evalnever writes the database. It can still make many model calls: one incumbent plus each distinct candidate, multiplied by--passes.
Workspace governance
These commands update one workspace governance field at a time unless noted.keeper contact rejects a missing member and rejects a member whose role is not
OWNER or ADMIN. keeper requests has these pagination flags:
Auto-issued leases
set accepts a Go duration from 60 seconds through 30 days (720h). It is
opt-in and applies only to L3/L4 grants approved by Keeper, including approved
credential escalations. It never shortens a longer manually assigned lease.
off restores standing grants for future approvals but does not un-lease
already leased grants.
Instance judge
keeper config controls the instance-wide native Ollama judge. get shows
the effective value and whether it came from an instance override, server
environment, or built-in default. It does not configure hosted providers.
set is a partial update and
requires at least one flag. Its flags are:
config reset removes every instance override and returns to
KEEPER_ENABLED, KEEPER_OLLAMA_URL, and KEEPER_MODEL. It does not delete
those server settings.
Workspace governance model
keeper model selects the model backing the workspace’s credential gatekeeper
and auxiliary evaluators. It can use ollama, anthropic, or openai_compat.
Hosted providers use an optional vault ENDPOINT_URL/API_KEY credential and
are workspace-scoped; a revoked credential degrades to the instance judge.
Selecting a model does not enable the watchdog.
model set requires --provider and --model; --credential is optional.
--model is limited to 200 bytes by the CLI/server validation. clear falls
back to the instance/server default.
Judge checks
judge test checks reachability, a pulled model, a valid verdict, and latency
inside the credential-path budget. It exits non-zero when any stage fails.
With a non-ollama provider it uses the hosted test endpoint; --model is
required and --credential may be a stored credential name or ID. judge models lists models served by the saved or overridden endpoint and exits
non-zero when the endpoint cannot be queried.
Judge profile
keeper profile controls which credential-judge capabilities are active. The
three presets are lean, standard, and thorough; flags override individual
capabilities and inherit follows the selected profile rather than forcing
the capability off.
profile set [lean|standard|thorough] accepts:
profile reset clears the profile and all seven capability overrides without
touching endpoint, model, or timeout wiring.
Evaluator models and reviews
keeper aux configures the instance-level evaluator slots used by Keeper
Reviews and the watchdog. Valid slots are curator, behavior,
memory_health, and the other slots reported by aux list; use the list output
as the authoritative catalog for the running server. Hosted slots bill per
token, while Ollama does not.
aux set <slot> has these flags. Only passed fields change; an empty value
clears that override or returns it to inheritance.
aux use-judge points every evaluator at the local instance judge and avoids
per-token cost, at the expense of using the local model’s capabilities.
aux reset [slot] requires either a slot or --all:
use-judge can put slots back on hosted defaults and therefore
resume token billing. aux test <slot> makes one real evaluator call and shares
the judge-test probe rate limit.
Run one evaluator immediately with:
<slot> is skill-review, behavior, memory-health, or
negative-learning. Without subject flags, the server derives a suitable
subject. Available flags are:
keeper history. They are rate-limited to
60 per hour by default.
Requests, testing, and resolution
Ask the judge
keeper ask requires all four flags and accepts agent/crew slugs or IDs:
Resolve an escalation
crewship inbox list.
Verify finding delivery
Local model evaluation
keeper eval replays stored Keeper prompts against human-resolved labels and
candidate models. It is read-only, but can be expensive and may take minutes.
At least one candidate is required; the incumbent is replayed as the baseline.
Human-labelled rows are kept ahead of other rows when --limit is used, and
the report withholds rates when the corpus is too small for a meaningful human
sample. Candidate specs may be local model names or anthropic/<model> /
openai/<model>; hosted candidates use API keys from the CLI process
environment, not stored vault credentials.
--passes 3); --candidate is
repeatable and defaults to no candidates, so it must be supplied. --limit 0
means the complete corpus, --tolerance 0 allows no additional dangerous
guard downgrade, and --explain is off by default. Human-labelled rows are
reported separately from rows labelled only by the incumbent. Human agreement
rates are withheld below 20 human-labelled rows and benchmark-grade messaging
starts at 100. Human-readable output is a summary/table; --format json or
--format ndjson is suitable for automation.
Safety-first scoring marks a candidate non-viable if it downgrades more
DENY/ESCALATE decisions to ALLOW than the incumbent, regardless of raw
agreement. The endpoint is contacted from the local machine and protected by
the CLI’s trusted-endpoint restrictions.
Full command inventory
The following is the complete Keeper tree from the current command manifest. Commands with no flags are included so the page does not silently omit a read-only or nested action:keeper watch authors the workspace watchdog policy. watch set <text|->
replaces only the free-form rules; - reads them from stdin. watch clear
clears free-form rules but leaves presets untouched. watch preset list shows
the catalog and enabled entries; preset add <key> and preset remove <key>
validate the key and update the complete preset set. The preset keys are
credentials, destructive, egress, memory, and secret_files.
All watch reads and mutations return the current governance object in structured
formats. Human output shows every preset with a check mark and the free-form
rules; an empty rule set is shown as (none). watch set accepts at most the
server’s maximum watch-spec length (currently 4096 bytes) and authoring a spec does
not enable the watchdog.