An agent that reads issue descriptions does not necessarily need a repository write token. The adoption question is where its analysis becomes an authorized GitHub action, and which process holds that authority.
GitHub's October 28 GA announcement describes compiling Markdown tasks into Actions YAML, with default read-only permissions, isolation, a firewall, and output validation. This is a documentation review dated October 29, not a report from running the product.
Follow the request to its executor
The Safe Outputs reference separates structured action requests from execution in permission-controlled jobs. An agent can lack direct write access while its workflow still creates an issue or PR.
Untrusted issues/code → agent analysis → structured change request
↓
validation and policy boundary
↓
separate write-capable job
This is an explanatory diagram based on the documentation, not an official screenshot. Its useful distinction is between the process proposing a change and the process authorized to apply it. A read-only token does not establish that a generated report is accurate or that a link inside it is appropriate to publish.
One default deserves particular attention: omitting safe-outputs, or configuring only system outputs, can enable create-issue. Absence of an explicit write option is therefore insufficient evidence that a workflow has no external effects.
The separately announced Copilot Automations improvement loop stores configurations outside Git. Distinguish that change record from this Markdown-and-lock-file review path. Both automate agent work, but retain configuration and approval evidence in different places.
A review table for generated YAML
These are CodeBridge's review questions, not observations from a compiled workflow.
| Surface | Evidence to locate | Failure to prevent |
|---|---|---|
| Trigger and checkout | Which event runs code from which ref? | Untrusted PR code executes in a privileged context |
| Agent job | Effective token permissions, secrets, network destinations | Credentials are exposed despite a restrictive prompt |
| Output job | Allowed operations, target repository, operation limits | A reporting task creates issues or PRs unexpectedly |
| Validation | Rejection behavior, logs, reviewable diff | A rejected change is reported as completed |
| Retry | Request identity and record of completed effects | Retries create duplicate issues |
Pick one small reading task and fill each row with the relevant generated job and setting. An unanswered row is a reason to delay expanding permissions. For work already handled by deterministic tooling, such as running tests, first establish what judgment the agent adds.
Inspect compilation before enabling execution
The quickstart says to commit both the Markdown source and generated .lock.yml: the generated file is the executable configuration. The following is an unexecuted example, assuming Git, GitHub CLI, the gh aw extension, and an existing workflow source. Neither installation nor workflow execution was performed for this article.
# Run on a review branch containing an existing workflow
gh aw compile
git status --short -- .github/workflows
git diff -- .github/workflows
Expect generated files and differences appropriate to your installed version and configuration. New untracked files do not appear as content in git diff; open the .lock.yml files listed by git status as well. These commands do not push or trigger a remote run. Successful compilation alone does not establish output safety.
Review explicitly disabling outputs you do not need. The documented create-issue: false disables that output; it is not a global switch disabling every possible write. Similarly, an allowed network destination is not proof that every payload sent there is appropriate.
Start with a report you can explain
CI failure analysis is a reasonable starting point: ask for evidence and candidate causes, then assess the report before granting authority to propose patches. Track recovery time after incorrect conclusions and duplicate outputs alongside task success. Adding writes to unreliable analysis increases the review burden.
Customer productivity figures in the announcement describe a particular organization's report. They are not transferable estimates for your team. No product benchmark or cost measurement was performed here.
Our earlier Queue and Ledger article concerns continuity across work. This adoption review concerns authority: identify exactly where a request becomes a change, in both the source and .lock.yml, before expanding the task.
For guided practice in separating agent execution and verification, the published paid course below covers related design foundations. It is not presented as a gh-aw course. The link is promotional.