mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-21 10:43:36 +00:00
d8f6b1e508
The substrate's "everything an agent needs in one read" guarantee covered identity, operator state, findings, and recent actions but forced a separate /api/approvals call for pending governance state. AgentResourceContext now carries pendingApprovals as a lightweight AgentResourceApprovalSummary projection — same vocabulary as approval.pending SSE events, so the doorbell and the bundle agree on shape. AgentApprovalsProvider is the parallel seam to AgentFindingsProvider; the router wires a closure that resolves approval.GetStore() at request time, scopes via BelongsToOrg, and filters by CanonicalResourceID so cross-tenant or cross-resource pending requests don't leak. Empty arrays preserve the iteration-safe contract the existing sections already follow.