A GitHub Copilot agent autonomously generates and merges infrastructure-as-code pull requests for a cloud environment. A compliance officer requires a full audit trail for every change. Which TWO platform capabilities should you implement to satisfy this requirement while preserving as much agent autonomy as possible? (Choose TWO.)
- A. Configure the agent to write a structured YAML manifest of every action it takes to a dedicated append-only audit log repository using a separate write token.
- B. Use GitHub's audit log streaming to capture all API events made under the agent's token to an external SIEM or storage target.✓ Correct
- C. Set the agent workflow to run only on a fixed schedule (e.g., once per day) to reduce the volume of changes requiring audit.
- D. Enable required status checks and branch protection rules so every merge is recorded in the repository's protected branch log.✓ Correct
- E. Disable the agent's ability to merge pull requests and require a human reviewer to approve and merge every PR before it is processed.
Explanation
Branch protection rules with required status checks create a tamper-evident record of every merge event in GitHub's native logs (Option D), and audit log streaming (Option B) captures every API call the agent makes to an immutable external destination—together these satisfy an auditor's need for a comprehensive, trustworthy trail without removing any agent autonomy. Option A (custom YAML manifest) is a plausible but fragile pattern: if the agent or its token is compromised the manifest can be tampered with, and it duplicates what GitHub's built-in audit log already provides. Option E eliminates agent autonomy entirely, which violates the goal of preserving delivery velocity. Option C (scheduling) reduces throughput and does not itself produce an audit trail—it is an operational constraint, not an accountability mechanism.