Skip to content

Commit e5cc86b

Browse files
jamesadevinegithub-actions[bot]Copilot
authored
docs: fix Stage 3 job name from Execution to SafeOutputs across all docs (#559)
The Stage 3 job in all pipeline templates (base.yml, 1es-base.yml, job-base.yml, stage-base.yml) is named 'SafeOutputs', but documentation consistently referred to it as 'Execution'. This caused: - Wrong YAML example in docs/template-markers.md (DailyCodeReview_Execution instead of DailyCodeReview_SafeOutputs) - Incorrect dependsOn description for teardown job - Misleading job-name lists in debugging prompts (agents/users looking for an 'Execution' job in the ADO UI would not find it) Updated files: - docs/template-markers.md: fix YAML example, job-name list, and acquire_write_token description - docs/targets.md: fix 3-job chain descriptions - README.md: fix diagram box and inline reference - AGENTS.md: fix three-stage pipeline model description - prompts/create-ado-agentic-workflow.md: fix flow diagram and teardown comment - prompts/debug-ado-agentic-workflow.md: fix job table, job-name list, section header, and teardown reference - prompts/update-ado-agentic-workflow.md: fix teardown comment Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent d57c2bc commit e5cc86b

7 files changed

Lines changed: 22 additions & 22 deletions

File tree

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Every compiled pipeline runs as three sequential jobs:
3636
acting directly.
3737
2. **Detection (Stage 2)** — a separate agent inspects Stage 1's proposals for
3838
prompt injection, secret leaks, and other threats.
39-
3. **Execution (Stage 3)** — a non-agent executor applies approved safe outputs
39+
3. **SafeOutputs (Stage 3)** — a non-agent executor applies approved safe outputs
4040
using a write-capable ADO token that the agent never sees.
4141

4242
### Architecture

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ DevOps pipeline with three jobs:
1919

2020
```
2121
┌────────────────────────┐ ┌──────────────────────┐ ┌───────────────────────┐
22-
│ Agent │────▶│ Detection │────▶│ Execution
22+
│ Agent │────▶│ Detection │────▶│ SafeOutputs
2323
│ (Stage 1 — Agent) │ │ (Stage 2 — Threats) │ │ (Stage 3 — Executor) │
2424
│ │ │ │ │ │
2525
│ • Runs inside AWF │ │ • Reviews proposed │ │ • Creates PRs │
@@ -173,7 +173,7 @@ project. To maintain security isolation between the agent and the executor,
173173

174174
The agent runs in a network-isolated sandbox (AWF) with only the read token.
175175
Even if the agent were compromised or prompt-injected, it cannot perform write
176-
operations. Write actions are only executed in Stage 3 (`Execution`)
176+
operations. Write actions are only executed in Stage 3 (`SafeOutputs`)
177177
after threat analysis, using a completely separate token that the agent never
178178
sees.
179179

docs/targets.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The `target` field in the front matter determines the output format and executio
99
### `standalone` (default)
1010

1111
Generates a self-contained Azure DevOps pipeline with:
12-
- Full 3-job pipeline: `Agent``Detection``Execution`
12+
- Full 3-job pipeline: `Agent``Detection``SafeOutputs`
1313
- AWF (Agentic Workflow Firewall) L7 domain whitelisting via Squid proxy + Docker
1414
- MCP Gateway (MCPG) for MCP routing with SafeOutputs HTTP backend
1515
- Setup/teardown job support
@@ -22,7 +22,7 @@ This is the recommended target for maximum flexibility and security controls.
2222
Generates a pipeline that extends the 1ES Unofficial Pipeline Template:
2323
- Uses `templateContext.type: buildJob` with Copilot CLI + AWF + MCPG (same execution model as standalone)
2424
- Integrates with 1ES SDL scanning and compliance tools
25-
- Full 3-job pipeline: Agent → Detection → Execution
25+
- Full 3-job pipeline: Agent → Detection → SafeOutputs
2626
- Requires 1ES Pipeline Templates repository access
2727

2828
Example:
@@ -38,7 +38,7 @@ Generates a **job-level ADO YAML template** with `jobs:` at root. This is a
3838
reusable template that can be included in an existing pipeline — it does not
3939
generate a complete pipeline.
4040

41-
The output contains the same 3-job chain (Agent → Detection → Execution) as
41+
The output contains the same 3-job chain (Agent → Detection → SafeOutputs) as
4242
`standalone`, with:
4343
- Job names prefixed with the agent name for uniqueness (e.g., `DailyReview_Agent`)
4444
- No triggers, pipeline name, or resource declarations (the parent pipeline owns those)

docs/template-markers.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Examples of fuzzy schedule → cron conversion:
8181

8282
Should be replaced with the `checkout: self` step. This generates a simple checkout of the triggering branch.
8383

84-
All checkout steps across all jobs (Agent, Detection, Execution, Setup, Teardown) use this marker.
84+
All checkout steps across all jobs (Agent, Detection, SafeOutputs, Setup, Teardown) use this marker.
8585

8686
## {{ checkout_repositories }}
8787
Should be replaced with checkout steps for additional repositories the agent will work with. The behavior depends on the `repos:` front-matter field (each entry's `checkout:` flag, which defaults to `true`):
@@ -173,7 +173,7 @@ If `setup` is empty, this is replaced with an empty string.
173173
## {{ teardown_job }}
174174

175175
Generates a separate teardown job YAML if `teardown` contains steps. The job:
176-
- Runs after `Execution` (depends on it)
176+
- Runs after `SafeOutputs` (depends on it)
177177
- Uses the same pool as the main agentic task
178178
- Includes a checkout of self
179179
- Display name: `Teardown`
@@ -432,7 +432,7 @@ If `permissions.read` is not configured, this marker is replaced with an empty s
432432

433433
## {{ acquire_write_token }}
434434

435-
Generates an `AzureCLI@2` step that acquires a write-capable ADO-scoped access token from the ARM service connection specified in `permissions.write`. This token is used only by the executor in Stage 3 (`Execution` job) and is never exposed to the agent.
435+
Generates an `AzureCLI@2` step that acquires a write-capable ADO-scoped access token from the ARM service connection specified in `permissions.write`. This token is used only by the executor in Stage 3 (`SafeOutputs` job) and is never exposed to the agent.
436436

437437
The step:
438438
- Uses the ARM service connection from `permissions.write`
@@ -525,7 +525,7 @@ jobs:
525525
- job: DailyCodeReview_Agent
526526
- job: DailyCodeReview_Detection
527527
dependsOn: DailyCodeReview_Agent
528-
- job: DailyCodeReview_Execution
528+
- job: DailyCodeReview_SafeOutputs
529529
dependsOn: [DailyCodeReview_Agent, DailyCodeReview_Detection]
530530
```
531531

prompts/create-ado-agentic-workflow.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Produce a single `.md` file containing two parts:
3838
The `ado-aw` compiler turns this into a three-job Azure DevOps pipeline:
3939

4040
```
41-
Agent → Detection → Execution
41+
Agent → Detection → SafeOutputs
4242
(Stage 1: Agent) (Stage 2: Threat (Stage 3: Executor)
4343
analysis)
4444
```
@@ -409,7 +409,7 @@ setup: # Separate job BEFORE Agent
409409
- bash: echo "Provisioning resources..."
410410
displayName: "Setup"
411411
412-
teardown: # Separate job AFTER Execution
412+
teardown: # Separate job AFTER SafeOutputs
413413
- bash: echo "Cleanup..."
414414
displayName: "Teardown"
415415
```

prompts/debug-ado-agentic-workflow.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ If the Azure DevOps `pipelines` MCP toolset (`@azure-devops/mcp`) is configured
2020
Every `ado-aw` pipeline compiles into a three-job Azure DevOps pipeline:
2121

2222
```
23-
Agent → Detection → Execution
23+
Agent → Detection → SafeOutputs
2424
(Stage 1: Agent) (Stage 2: Threat (Stage 3: Executor)
2525
Analysis)
2626
```
@@ -29,11 +29,11 @@ Agent → Detection → Execution
2929
|-----|---------|-------|-------------|
3030
| **Agent** | Runs the AI agent inside an AWF network sandbox (Squid proxy + Docker). Agent proposes actions via safe-output MCP tools. | Read-only (`permissions.read`) | Network-isolated via AWF |
3131
| **Detection** | Threat analysis on proposed safe outputs — checks for prompt injection, secret leaks, malicious patches. | None | Standard ADO agent |
32-
| **Execution** | Executes approved safe outputs (create PRs, work items, wiki pages, etc.) | Write (`permissions.write`) | Standard ADO agent |
32+
| **SafeOutputs** | Executes approved safe outputs (create PRs, work items, wiki pages, etc.) | Write (`permissions.write`) | Standard ADO agent |
3333

3434
Additional optional jobs:
3535
- **Setup** — runs before `Agent` (from `setup:` front matter)
36-
- **Teardown** — runs after `Execution` (from `teardown:` front matter)
36+
- **Teardown** — runs after `SafeOutputs` (from `teardown:` front matter)
3737

3838
---
3939

@@ -48,7 +48,7 @@ You need minimal context from the user:
4848
- **If multiple recent failed builds exist** → list them and ask the user which one to investigate. Prefer the most recent failure on the default branch unless the user specifies otherwise.
4949

5050
**If you don't have ADO MCP pipeline tools**, also ask the user for:
51-
- Which job failed (Agent, Detection, Execution, Setup, Teardown)
51+
- Which job failed (Agent, Detection, SafeOutputs, Setup, Teardown)
5252
- Error messages or log snippets from the failing step
5353
- The agent source `.md` file (or path) and the compiled `.lock.yml` (or path)
5454

@@ -84,7 +84,7 @@ Map the failing timeline record to one of these categories:
8484
| `Agent` — MCPG/MCP steps | Tool routing failure | [MCPG Issues](#mcp-gateway-mcpg-issues) |
8585
| `Agent` — engine/run step | Agent runtime failure | [Stage 1: Agent Failures](#stage-1-agent-failures) |
8686
| `Detection` | Threat analysis issue | [Stage 2: Detection Failures](#stage-2-detection-failures) |
87-
| `Execution` | Safe output execution issue | [Stage 3: Execution Failures](#stage-3-execution-failures) |
87+
| `SafeOutputs` | Safe output execution issue | [Stage 3: SafeOutputs Failures](#stage-3-safeoutputs-failures) |
8888
| `Teardown` | Post-execution failure | [Setup/Teardown Failures](#setupteardown-failures) |
8989
| Pipeline queued/cancelled | Resource/authorization issue | [Common Cross-Stage Issues](#common-cross-stage-issues) |
9090

@@ -309,7 +309,7 @@ If genuinely a false positive, adjust the agent's instructions to produce output
309309

310310
### No Safe Outputs Produced
311311

312-
**Symptoms**: `Detection` succeeds but `Execution` has nothing to do. The agent completed without producing any mutations.
312+
**Symptoms**: `Detection` succeeds but `SafeOutputs` has nothing to do. The agent completed without producing any mutations.
313313

314314
**Common causes**:
315315

@@ -320,7 +320,7 @@ If genuinely a false positive, adjust the agent's instructions to produce output
320320

321321
---
322322

323-
## Stage 3: Execution Failures
323+
## Stage 3: SafeOutputs Failures
324324

325325
This job executes the approved safe outputs using the write token. Failures here are usually ADO API errors or validation issues.
326326

@@ -390,7 +390,7 @@ This job executes the approved safe outputs using the write token. Failures here
390390

391391
## Setup/Teardown Failures
392392

393-
**Setup** runs before `Agent`; **Teardown** runs after `Execution`.
393+
**Setup** runs before `Agent`; **Teardown** runs after `SafeOutputs`.
394394

395395
- These use the same pool as the main agentic task — check `pool:` configuration
396396
- They include a `checkout: self` step — check that the repository is accessible
@@ -488,7 +488,7 @@ If downloads fail:
488488
489489
## Analysis
490490
491-
- **Stage classification**: Stage 1 (Agent) / Stage 2 (Detection) / Stage 3 (Execution) / Setup / Teardown / Cross-stage
491+
- **Stage classification**: Stage 1 (Agent) / Stage 2 (Detection) / Stage 3 (SafeOutputs) / Setup / Teardown / Cross-stage
492492
- **Why this stage failed**: <detailed explanation>
493493
494494
## Root Cause

prompts/update-ado-agentic-workflow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ setup: # Separate job BEFORE Agent
216216
- bash: echo "Provisioning..."
217217
displayName: "Setup"
218218
219-
teardown: # Separate job AFTER Execution
219+
teardown: # Separate job AFTER SafeOutputs
220220
- bash: echo "Cleanup..."
221221
displayName: "Teardown"
222222
```

0 commit comments

Comments
 (0)