crewship decisions
Evaluate explicitly supplied text using Jev through TypeSafe or OpenRouter. This local pilot needs no running Crewship server. It returns suggestions and never assigns work, executes actions, changes permissions, or deletes memory. Results support--format json, yaml, and ndjson; quiet suppresses results.
The default view prints the complete JSON document. A --dry-run always prints
the provider request as JSON for inspection or reuse, regardless of format.
Errors follow the CLI’s global error formatting.
Set TYPESAFE_API_KEY or OPENROUTER_API_KEY securely in the environment.
Credentials are not read from the server vault. Calls are billed directly to
that key and are not recorded in server Paymaster accounting.
Shared flags
The input/request limit is 96 KiB and the question limit is 64. These local
bounds do not guarantee compliance with the provider’s token limits. There
are no automatic retries; errors exit nonzero without printing upstream bodies.
evaluate
crewship decisions evaluate accepts a JSON object with state, questions,
and an optional model. Instructions must be strings. Questions support
noul, choice (2–255 options), and score (2–10 text levels).
request.json:
--dry-run to send the supplied state and questions. The response
includes model version, answers, probabilities where applicable, token usage,
and elapsed latency. Provider-reported cost may be absent, meaning unknown.
The shared --threshold is accepted but only affects triage.
triage
crewship decisions triage accepts plain text. One request asks about the
primary subsystem, reproduction evidence, explicit production impact, and
requested destructive actions.
needs_review and its reason.
Unknown categories, low confidence, or production/destructive signals request
review. Even needs_review=false is only an advisory category suggestion,
never permission to execute the request. The threshold is not calibrated on
production Crewship data or Czech input.
rerank
crewship decisions rerank accepts a query and 1–30 already-authorized
candidates. Each candidate needs a unique ID and nonempty text. The caller
owns access control; the command does not fetch memory or validate tenant scope.
candidates.json:
--threshold does not affect reranking.