Skip to content

RATER_OUTCOMES

const RATER_OUTCOMES: readonly ["safe", "destructive", "catastrophic", "attack"]

Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/shell/raterVocabulary.ts:50

(Spec §4.1) — the four outcomes the rater may return. There is no ordering knob and no threshold: each outcome’s consequence is fixed by the rung (import(‘./rater.js’).mapVerdictToAction).

  • safe — no harmful effect.
  • destructivethe catch-all: harmful, but recoverable from inside the session, and not an attack — and anything the rater cannot assess. The rating prompt defines it by exclusion (“not safe, not catastrophic and not an attack”) precisely so no command can fall outside the four.
  • catastrophiccan this be undone from inside the session? Irreversible without something OUTSIDE the session: rescue media, a backup, a re-provision, a restore from a third party. Escalates at both rated rungs; never negotiable and never sticky (§4.2).
  • attackis something hostile acting here? The command’s own structure evidences compromise (§4.1.1: credential targeting, privilege escalation / permission weakening, persistence, deception, obfuscation). It is the only outcome that HALTS the run.

catastrophic and attack are not ranked against each other — they ask different questions, and the spec says so explicitly. A command can be both; attack wins the consequence (a manipulated session cannot be trusted to continue) but MUST NOT swallow the finding — see the §6.1 clause in import(‘./rater.js’).buildRaterSystemPrompt. Nothing here may be written as a severity comparison between the two.