Skip to content

AlignmentDecision

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

One completed decision by the checker.

kind: AlignmentDecisionKind

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


reason: string

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

The checker’s own sentence. Model-authored, and replayed VERBATIM — it is not fenced, at either of the two places it is replayed.

What bounds that is stated here rather than left to a reader’s assumption, because the sentence this replaced asserted a fencing that neither site implements, and a docblock claiming a protection that does not exist is worse than silence: it is what makes the code read as already audited.

  • Into the next round’s own conversation (buildAlignmentMessages, via replayRound) it goes back as the checker’s OWN assistant tool call. That role is the one thing in this assembly the model is meant to read as its own reasoning, so fencing it as untrusted data would contradict the design rather than harden it — the model would meet its own last turn as testimony from a stranger.
  • Into the rejection handed to the coding agent (GthAgentRunner) it is appended to the rater’s refusal. That branch is guarded by the gate’s outcome being reject and the decision being suggest, so the recipient is an agent that is being told no: the text is guidance for a retry, it confers no authority, and whatever the agent proposes next is rated and checked again from scratch.

So the bound is the position, not any escaping. A consumer that widens either — replaying this into the user role, or carrying it onto a path where something is approved — is responsible for fencing it there, and must not read this field as already safe.


optional suggestedCommand?: string

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

With suggest, a narrower command the checker would accept. Optional; often absent.