RaterNegotiationRound
Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/shell/rater.ts:841
[[EXT-29]] (spec §5.1) — one COMPLETED round of a negotiation, as the next round’s rater sees it.
It carries exactly what §5.1’s third bullet admits and nothing else: the command the agent proposed, the justification it attached (when it attached one), and the rater’s own outcome and explanation for that round — “the rater reasons from its earlier positions rather than re-deriving them.”
The rater’s half is two flat fields rather than an embedded ShellSafetyVerdict, and that is deliberate. §5.1 admits the outcome and the explanation and nothing else, while a verdict is free to grow a field that is advice about the rating rather than part of the history; a renderer handed an object that renders only some of its fields is a silent drop waiting to be read as a bug. Flat fields mean the builder renders everything it is given, and the type states the admitted set by construction — so do not embed the verdict here to save two lines.
command is the RAW command as the agent proposed it. Every renderer normalizes and home-folds it
with the same functions the live command goes through, so a past round appears in the form that
round was actually rated in.
[[EXT-127]] — this type outlived the block it was written for, and deliberately keeps its name. It is the transcript’s element: what the escalation prompt and the live panel render (§5.4, §6), and what the alignment checker replays as its own earlier rounds. Nothing about §5’s vocabulary moves, because a runtime selector renamed is one that fails loud-but-late when a spelling is missed.
Properties
Section titled “Properties”alignment?
Section titled “alignment?”
optionalalignment?:AlignmentDecision
Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/shell/rater.ts:866
[[EXT-127]] — what the ALIGNMENT CHECKER decided about this round, when one was consulted.
Absent for every round the checker never saw: an assisted rating, a round the classifier
halted, and every round before the split’s own state exists. It is on the round rather than in
a second array because the two facts answer one question — what happened in round N? — and
two parallel arrays are how a transcript and a decision log come to disagree about their own
length.
The display renderers do not read it, deliberately: what a row says about who is speaking is a separate decision from what the checker decided, and adding a field must not silently change a string the PTY suite asserts on.
command
Section titled “command”command:
string
Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/shell/rater.ts:846
The command the agent proposed in that round, RAW. The builder normalizes, home-folds and one-lines it; a caller that pre-processes it is doing the work twice and differently.
justification?
Section titled “justification?”
optionaljustification?:string
Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/shell/rater.ts:848
The justification the agent attached to it, if any. Omitted when it argued nothing.
outcome
Section titled “outcome”outcome:
"safe"|"destructive"|"catastrophic"|"attack"
Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/shell/rater.ts:850
The rater’s own outcome for that round.
reason
Section titled “reason”reason:
string
Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/shell/rater.ts:852
The rater’s own one-sentence explanation for that round.