Skip to content

Commit 615704d

Browse files
github-actions[bot]CopilotCopilotjamesadevine
authored
docs: fix documentation drift — add inlined-imports field and runtime import guidance (#660)
- README.md Front Matter Fields table was missing the `inlined-imports` field, which is implemented in src/compile/types.rs and documented in docs/front-matter.md and docs/runtime-imports.md. - prompts/create-ado-agentic-workflow.md had no mention of `inlined-imports` or `{{#runtime-import ...}}` markers, so agents creating new workflows would be unaware of this feature. Added Step 16 covering both. - prompts/create-ado-agentic-workflow.md: expanded the network.allowed documentation to show ecosystem identifiers (python, node, rust, dotnet, lean) as an alternative to raw domain patterns, consistent with docs/network.md and docs/front-matter.md. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com>
1 parent d589900 commit 615704d

2 files changed

Lines changed: 15 additions & 5 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -251,9 +251,9 @@ the service connections. Approve the permissions and the pipeline is ready.
251251
| `post-steps` | list | — | Inline steps after agent runs |
252252
| `setup` | list | — | Separate job before agentic task |
253253
| `teardown` | list | — | Separate job after safe outputs |
254-
| `network` | object | — | Additional allowed/blocked hosts |
255-
| `inlined-imports` | boolean | `false` | When `true`, resolves all `{{#runtime-import }}` markers at compile time; the generated YAML is self-contained but prompt-body edits require recompilation. See [runtime-imports.md](docs/runtime-imports.md). |
256-
| `env` | map | — | Workflow-level environment variables (reserved, not yet implemented) |
254+
| `network` | object | — | Additional allowed/blocked hosts |
255+
| `inlined-imports` | boolean | `false` | When `true`, resolves all `{{#runtime-import ...}}` markers at compile time; the generated YAML is self-contained but prompt-body edits require recompilation. See [runtime imports](docs/runtime-imports.md). |
256+
| `env` | map | — | Workflow-level environment variables (reserved, not yet implemented) |
257257

258258
### Markdown Body
259259

prompts/create-ado-agentic-workflow.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -523,11 +523,12 @@ network:
523523
allowed:
524524
- "*.mycompany.com"
525525
- "api.external-service.com"
526+
- python # ecosystem identifier — expands to all Python/PyPI domains
526527
blocked:
527528
- "evil.example.com"
528529
```
529530

530-
The built-in allowlist includes: Azure DevOps, GitHub, Microsoft identity, Azure services, Application Insights, and MCP-specific endpoints for each enabled server.
531+
`allowed` accepts raw domain patterns (wildcards supported) or ecosystem identifiers (`python`, `node`, `rust`, `dotnet`, `lean`) that expand to the full set of package registry domains for that ecosystem. The built-in allowlist includes: Azure DevOps, GitHub, Microsoft identity, Azure services, Application Insights, and MCP-specific endpoints for each enabled server.
531532

532533
### Step 15 — Parameters (optional)
533534

@@ -563,16 +564,25 @@ Omit `parameters:` if no runtime configuration knobs are needed.
563564

564565
### Step 16 — Inlined Imports (advanced, optional)
565566

566-
By default (`inlined-imports: false`), any `{{#runtime-import }}` markers in the agent body — including the implicit marker that reloads the body itself — are resolved at **pipeline runtime**. This means editing the `.md` agent body does not require recompiling the `.lock.yml` pipeline.
567+
By default (`inlined-imports: false`), any `{{#runtime-import ...}}` markers in the agent body — including the implicit marker that reloads the body itself — are resolved at **pipeline runtime**. This means editing the `.md` agent body does not require recompiling the `.lock.yml` pipeline.
567568

568569
Set `inlined-imports: true` only when you need a fully self-contained pipeline YAML (e.g., for auditing or air-gapped deployment):
569570

570571
```yaml
571572
inlined-imports: true
572573
```
573574

575+
**When to use each mode:**
576+
577+
| Mode | Default | Prompt edits require recompile? | Use case |
578+
|------|---------|--------------------------------|----------|
579+
| `inlined-imports: false` | ✅ | No — edit and commit `.md` directly | Most workflows |
580+
| `inlined-imports: true` | | Yes — must run `ado-aw compile` | Immutable/audited prompts |
581+
574582
**Trade-off**: with `inlined-imports: true`, every change to the agent instructions requires running `ado-aw compile` and committing the updated `.lock.yml`. Omit this field (or set it to `false`) for the typical edit-without-recompile workflow.
575583

584+
You can also reference shared files from the agent body using `{{#runtime-import path/to/file.md}}` markers.
585+
576586
---
577587

578588
## Agent Instruction Body

0 commit comments

Comments
 (0)