The reply-tag feature existed as two finished thirds: render_history
prints '[reply to a question the agent asked]' and the 8.3 instructions
tell the reviewer to weigh such replies lower - but nothing ever set
the tag, because ask_user answers return as tool results and
_user_history reads role:user only. This adds the missing third: the
engine records each answer at the moment question_asker returns (the
one point it KNOWS the text came from the human - inline card, Inbox,
or bound channel, all carrying the same trust as approval clicks) and
_user_history merges them chronologically, tagged is_reply.
Deliberately narrow (step 1 of the 8.2 plan):
- ANSWERS ONLY - the agent's question text (incl. grouped-form keys)
never enters the judge's view; showing it is step 2, evidence-gated
on shadow data.
- Replies join HISTORY, never the current request - 'ok proceed' must
not become the headline an action is judged against.
- Runtime-only: a restart costs reviewer context (more cards), never
correctness. Nothing is minted from an answer; the gate stands.
ask_user steering (all three description surfaces): never use it to
ask permission for a specific action - propose the action, the
approval card shows exact arguments and does the asking.