Use model-specific auto-review outcome instructions (#39741)

## What changed

- Add `rejection_instructions` and `timeout_instructions` to catalog-provided auto-review messages.
- Use the acting model's instructions for denied and timed-out reviews across tool approvals, shell escalation, and MCP elicitation responses.
- Fall back to the existing instructions only when a catalog value is absent, while preserving explicit empty-string overrides.

## Testing

- Cover catalog overrides, legacy fallbacks, empty values, and separation between acting-model and reviewer-model messages.

GitOrigin-RevId: c5b2c2dbdaefd45d1d658651dd1abaeb6d8c93da
This commit is contained in:
rhan-oai
2026-08-20 16:52:16 +00:00
committed by copyberry
parent 88da5520d4
commit 4f38432d87
12 changed files with 292 additions and 33 deletions
@@ -37,6 +37,8 @@ fn base_instruction_override_is_literal_and_preserves_catalog_messages() {
let auto_review = AutoReviewMessages {
policy: Some("review policy".to_string()),
policy_template: Some("review policy template".to_string()),
rejection_instructions: Some("rejection instructions".to_string()),
timeout_instructions: Some(String::new()),
};
let permissions = PermissionMessages {
danger_full_access: Some("danger".to_string()),