RATER_OUTCOMES
constRATER_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.destructive— the 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.catastrophic— can 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).attack— is 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.