Skip to content

rememberedAnswerNote

rememberedAnswerNote(decision, landed): string

Defined in: packages/agent/src/modules/acp/acpPermissions.ts:216

[[EXT-154]] — what one of the two remembering answers actually did, in a sentence for the editor’s conversation, sent once the runner has said what the answer landed as.

maintenance/ux-guidelines.md (DL-4): a confirmation states what LANDED, and waits for it if it has to. Allow and remember and Reject and remember both promise a project file, and the write is attempted after the ToolApprovalCallback has returned — so the labels are an offer and this is the only place either promise can be checked. The other two options record nothing, so they earn no sentence and are not sent one.

The copy is this surface’s, not the terminal’s

Section titled “The copy is this surface’s, not the terminal’s”

Re-earned rather than pasted across, as the guidelines require of every claim ACP renders. The client is an editor: there is no menu key to name, and allow-list / deny-list are the terminal’s vocabulary for something an editor user only ever meets as project settings. What carries over is the answer’s own word — remembered — because that is what the option said.

The two refusal sentences DO name the lift, which is [[EXT-142]]’s half: the answer that saves a refusal is the moment the trap is set, and the command that undoes it is advertised to this client through available_commands_update (acpCommands.ts), so naming it here is a pointer at something the editor is already drawing rather than terminal vocabulary. The two approval sentences name nothing, because an approval is not a trap and the control that lists grants is not on this surface.

Three cases, where the terminal surfaces have two

Section titled “Three cases, where the terminal surfaces have two”

This menu is fixed — all four options on every request, so a user can learn it — which means Allow and remember is offered where the gate has nothing to store: a catastrophic verdict, a command that does not statically resolve, a call nothing can attribute. There the answer records NOTHING, not even for the session, and landed is once. The terminal menus hide the control in exactly those cases and so cannot reach it; telling that user this session only would be a second false claim in place of the one this removes.

"approve" | "reject"

ApprovalLifetime

string