Skip to content

Commit 9187fc2

Browse files
jamesadevinegithub-actions[bot]Copilot
authored
docs: fix documentation drift — permissions.write and azure_cli.rs (#886)
- prompts/create-ado-agentic-workflow.md: Fix two incorrect statements about permissions.write being required for write-bearing safe outputs. The executor defaults to $(System.AccessToken) and permissions.write is only needed for cross-org writes or named-identity attribution. Previously Output Instructions step 4 and Key Rules both incorrectly stated this was required, contradicting the correct guidance in step 10. - AGENTS.md: Add missing src/compile/extensions/azure_cli.rs to the architecture tree. This always-on extension handles Azure CLI runtime detection, conditional AWF bind-mounts, and the az allowlist. It was present in the codebase but omitted from the directory listing. Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 47c46c7 commit 9187fc2

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ Every compiled pipeline runs as three sequential jobs:
6363
│ │ │ ├── github.rs # Always-on GitHub MCP extension
6464
│ │ │ ├── safe_outputs.rs # Always-on SafeOutputs MCP extension
6565
│ │ │ ├── ado_script.rs # Always-on ado-script extension (gate evaluator + runtime-import resolver, per-job downloads)
66+
│ │ │ ├── azure_cli.rs # Always-on Azure CLI extension (runtime detection, AWF mounts, az allowlist)
6667
│ │ │ └── tests.rs # Extension integration tests
6768
│ │ ├── codemods/ # Front-matter codemods (one file per transformation)
6869
│ │ │ ├── mod.rs # Codemod struct, CODEMODS registry, runner

prompts/create-ado-agentic-workflow.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,7 @@ When generating the agent file:
684684
1. **Produce exactly one `.md` file.** Do not create separate documentation, architecture notes, or runbooks.
685685
2. **Respect existing repository conventions** for file placement. Look at where existing pipeline YAML files or agent markdown files are located in the repo. If no convention exists, ask the user where they'd like the file placed.
686686
3. **Omit optional fields when they match defaults** — no `engine:` for `claude-opus-4.7`, no `workspace:` for `root`, no `target:` for `standalone`.
687-
4. **Always validate** that write-requiring safe-outputs (`create-pull-request`, `create-work-item`) have `permissions.write` set.
687+
4. **`permissions.write` is optional** — the Stage 3 executor defaults to `$(System.AccessToken)`. Only add `permissions.write` when the task requires cross-org writes or named-identity attribution.
688688

689689
## Compilation
690690

@@ -802,4 +802,4 @@ safe-outputs:
802802
- **Explicit allow-lists**: Restrict MCP tools to only what the agent needs.
803803
- **No direct writes**: All mutations go through safe outputs — the agent cannot push code or call write APIs directly.
804804
- **Compile before committing**: Always compile with `ado-aw compile` and commit both the `.md` source and generated `.lock.yml` together.
805-
- **Check validation**: The compiler will error if write safe-outputs are configured without `permissions.write`.
805+
- **Check validation**: The compiler validates front-matter fields and emits errors for invalid configurations (e.g., conflicting filter rules, missing required fields like `comment-on-work-item.target`). Write-bearing safe outputs do **not** require `permissions.write` — the executor defaults to `$(System.AccessToken)`.

0 commit comments

Comments
 (0)