huskies: merge 1218 story Remembered/sticky permission approvals so constrained agents stop re-prompting for the same action class

This commit is contained in:
Huskies Agent
2026-07-18 13:58:35 +00:00
parent fbaf5bf959
commit 7d3de2bb44
21 changed files with 313 additions and 214 deletions
+7 -2
View File
@@ -18,8 +18,12 @@ pub enum PermissionDecision {
Deny,
/// One-time approval.
Approve,
/// Approve and persist the rule to `.claude/settings.json` so Claude Code's
/// built-in permission system handles future checks without prompting.
/// Approve, and remember `(tool, target-pattern)` for the rest of the
/// requesting agent's session (story 1218) — subsequent matching
/// requests auto-approve without forwarding to chat. Scoped in-memory to
/// the session that made the request (see
/// `service::permission_router::RememberedPermissions`); never persisted
/// to disk and never shared with another agent or story.
AlwaysAllow,
}
@@ -125,6 +129,7 @@ impl AppContext {
permission_registry,
pending_perm_replies: crate::service::permission_router::PendingPermReplies::new(),
permission_timeout_secs: 120,
remembered_permissions: crate::service::permission_router::RememberedPermissions::new(),
status: agents.status_broadcaster(),
chat_dispatcher: Arc::new(crate::chat::dispatcher::ChatDispatcher::new(1_500)),
});