Skip to content

[instructions] Sync instruction files with release 1.0.1 - #74807

Merged
pelikhan merged 1 commit into
mainfrom
instructions-janitor/sync-v1.0.1-2026-11-04-06b751e61f967f94
Nov 4, 2026
Merged

pelikhan merged 1 commit into
mainfrom
instructions-janitor/sync-v1.0.1-2026-11-04-06b751e61f967f94

Conversation

@github-actions

@github-actions github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Overview

Follow-up sync for v1.0.1 (published 2026-10-27). Earlier syncs (#72907, #73154, #73470, #74248, #74457) covered changes through 2026-11-02, so this pass focuses on doc and code changes merged after #74248. It fixes four places where the instructions disagreed with the code, adds the newly shipped OTLP runtime controls, and removes repeated guidance. The total line count is unchanged (+27/−27).

Accuracy fixes

Area Source Fix
Network defaults #74364 + pkg/workflow/data/ecosystem_domains.json workflow-constraints.md said defaults covers "core GitHub/Copilot/registry endpoints". It now covers only CA, JSON-schema, and stock Ubuntu hosts. network.md rows for defaults and linux-distros updated; third-party apt sources (PPA, packagecloud, snapcraft, Microsoft/Google repos) now need linux-distros.
Prompt expressions #74689 context.md claimed {{#if}} inside fenced blocks is always verbatim. Malformed active conditions now fail compilation, and only invalid implicit conditions in code regions stay literal. workflow-editing.md now says adding or changing expressions or conditions in the body requires recompilation.
features.copilot-requests pkg/cli/codemod_copilot_requests_feature.go Was listed as a current feature flag; now marked deprecated, with a pointer to permissions.copilot-requests: write (migrated by gh aw fix).
copilot-requests: write scope #74242, permissions schema enum Said "Copilot coding agent"; it is for Copilot inference (default engine, or Claude/Codex/pi with copilot/ models). Added the Claude-on-Copilot compile warning and the copilot-requests: none opt-out.
OTLP config observability.otlp schema; #74594, #74599, #74729 Documented the object/array endpoint forms, map-form headers (string form deprecated), if-missing, and attributes. Added runtime controls: OTEL_EXPORTER_OTLP_PROTOCOL (http/protobuf), per-signal overrides, GH_AW_OTLP_LOGS_ENABLED, GH_AW_OTLP_LOGS_MAX_BYTES, and default_otlp_protocol. Examples switched to the non-deprecated map form.
PR safe outputs #74542, #74361 fallback-to-issue issues are labeled pull-request-fallback and expire with the PR (default 7 days). Added the shared checkout-credential precedence for same-repo create-pull-request + push-to-pull-request-branch.

Duplication removed

  • copilot-requests recommendation: create-agentic-workflow.md and update-agentic-workflow.md now point to the single canonical rule in syntax-core.md instead of restating it, wrongly scoped, in each.
  • Recompile rules in update-agentic-workflow.md: dropped the "Common Update Categories" section (it repeated the pointer to workflow-editing.md) and two Validation Flow bullets that repeated the compile rule and the Final Message Rules.
  • workflow-editing.md: merged two "body changes take effect on next run" sentences and two "always compile after any change" rules into one each.
Before/after line counts (edited files)
File Before After Target
syntax-agentic.md 345 350 < 400 ✅
syntax-core.md 175 175 < 400 ✅
context.md 180 181 < 400 ✅
network.md 217 217 < 400 ✅
workflow-constraints.md 87 87 < 400 ✅
safe-outputs-content.md 389 389 < 400 ✅ (folded into an existing sentence, no new lines)
safe-outputs-management.md 324 326 < 400 ✅
create-agentic-workflow.md 380 380 < 400 ✅
update-agentic-workflow.md 142 136 < 400 ✅
workflow-editing.md 89 86 < 400 ✅
token-optimization-observability.md 57 58 < 400 ✅
Audit details

Next actions

  • Update the janitor's accuracy-audit file list: safe_outputs_config.go → safe_outputs_config_types.go.
  • Let the OTel reference workflow pick up protobuf and session-log export in otel.md.

References: §41799817537

🤖 Generated with [Claude Code]((claude.com/redacted)

Generated by 🧹 Instructions Janitor · claude · routed: opus55 xhigh · ~330 AIC · ⌖ ~2 AIC · ⊞ 3.2K · ◷

  • expires on Nov 6, 2026, 12:40 AM UTC-08:00

Align OTLP, network defaults, prompt-expression compilation, Copilot
permission scope, and PR fallback/credential guidance with current code
and docs. Consolidate duplicated recompile and copilot-requests guidance.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added automation documentation Improvements or additions to documentation instructions labels Nov 4, 2026
Copilot AI auto review requested due to automatic review settings November 4, 2026 08:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The documentation contains unresolved inaccuracies about OTLP environment mapping, exporter behavior, attribute interpolation, and credential precedence that could lead users to configure workflows incorrectly.

4 open issues
What changed in this PR

This documentation-only PR syncs gh-aw’s agent-facing instructions with recent compiler and runtime changes following v1.0.1.

Changes:

  • Updates network defaults, prompt-expression rules, and Copilot authentication guidance.
  • Expands OTLP configuration and safe-output behavior references.
  • Consolidates repeated workflow-editing and recompilation guidance.
File Description
.github/​aw/​workflow-editing.md Clarifies expression-related recompilation and removes repetition.
.github/​aw/​workflow-constraints.md Corrects the scope of default network access.
.github/​aw/​update-agentic-workflow.md Consolidates update rules and Copilot guidance.
.github/​aw/​token-optimization-observability.md Uses map-form OTLP headers and links runtime controls.
.github/​aw/​syntax-core.md Clarifies Copilot inference permissions and opt-out.
.github/​aw/​syntax-agentic.md Expands OTLP options and marks the legacy Copilot flag deprecated.
.github/​aw/​safe-outputs-management.md Documents shared PR checkout credential precedence.
.github/​aw/​safe-outputs-content.md Documents fallback-issue labels and expiration.
.github/​aw/​network.md Updates default and Linux distribution domain descriptions.
.github/​aw/​create-agentic-workflow.md Links canonical Copilot inference guidance.
.github/​aw/​context.md Clarifies malformed conditions and code-region handling.

Review effort: Balanced (auto)


Cross-repository pushes are supported via `target-repo` (and `head-repo`/`head-github-token` for fork-backed PRs) plus an `allowed-repos` allowlist. To trigger CI on pushed commits, use `github-token-for-extra-empty-commit` or set the magic secret `GH_AW_CI_TRIGGER_TOKEN`. Set `github-token-for-extra-empty-commit: none` to skip the extra empty commit and keep `GH_AW_CI_TRIGGER_TOKEN` out of the compiled lock file and manifest entirely.

**Shared checkout credential**: same-repository `create-pull-request` and `push-to-pull-request-branch` persist one git credential (precedence: `create-pull-request.github-token`, `push-to-pull-request-branch.github-token`, `safe-outputs.github-app` minted token, `safe-outputs.github-token`, default). Give both handlers the same token, ideally once at `safe-outputs.github-token` or `safe-outputs.github-app`.
- `workload-identity:` - Exchange a GitHub Actions OIDC token for a cloud access token before OTLP export. Only `provider: google` is currently supported; requires `audience:` (Google Workload Identity Provider resource name) and accepts optional `service-account:` to impersonate after STS token exchange.
- `headers:` - Comma-separated `key=value` HTTP headers included in every OTLP export request (e.g. `Authorization=Bearer <token>`). Injected as `OTEL_EXPORTER_OTLP_HEADERS`. Supports GitHub Actions expressions.
- `headers:` - Map of HTTP header names to values (e.g. `Authorization: ${{ secrets.OTLP_AUTH }}`) for the string `endpoint:` form; object/array endpoints carry their own `headers:`. Injected as `OTEL_EXPORTER_OTLP_HEADERS`. The comma-separated `key=value` string form is deprecated.
- `if-missing:` - `error` (default), `warn`, or `ignore` when endpoint/header values resolve empty at runtime (affects MCP gateway OTLP setup only).
- `headers:` - Comma-separated `key=value` HTTP headers included in every OTLP export request (e.g. `Authorization=Bearer <token>`). Injected as `OTEL_EXPORTER_OTLP_HEADERS`. Supports GitHub Actions expressions.
- `headers:` - Map of HTTP header names to values (e.g. `Authorization: ${{ secrets.OTLP_AUTH }}`) for the string `endpoint:` form; object/array endpoints carry their own `headers:`. Injected as `OTEL_EXPORTER_OTLP_HEADERS`. The comma-separated `key=value` string form is deprecated.
- `if-missing:` - `error` (default), `warn`, or `ignore` when endpoint/header values resolve empty at runtime (affects MCP gateway OTLP setup only).
- `attributes:` - Optional map of custom span attributes; values are static strings or `{{ <span-attribute> }}` templates. Exported to backends and masked in runner logs.
- `if-missing:` - `error` (default), `warn`, or `ignore` when endpoint/header values resolve empty at runtime (affects MCP gateway OTLP setup only).
- `attributes:` - Optional map of custom span attributes; values are static strings or `{{ <span-attribute> }}` templates. Exported to backends and masked in runner logs.
- `resource-attributes:` - Optional map of additional OTEL resource attributes appended to gh-aw/GitHub defaults. Values may be static strings or GitHub Actions expressions. Do not use `secrets.*` or `vars.*` here because resource attributes are exported to external observability backends and are not treated as secret values.
- Runtime controls (Actions variables, not frontmatter; recompile once to add the lookup): `OTEL_EXPORTER_OTLP_PROTOCOL` selects `http/json` (default) or `http/protobuf` (gRPC unsupported; per-signal `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL`/`OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` override it); `GH_AW_OTLP_LOGS_ENABLED=true` opts in to compact unified-session OTLP logs posted to `<endpoint>/v1/logs`, capped by `GH_AW_OTLP_LOGS_MAX_BYTES` (default `65536`). Manage the protocol with `gh aw env` key `default_otlp_protocol`.
@pelikhan
pelikhan merged commit b198ef7 into main Nov 4, 2026
3 checks passed
@pelikhan
pelikhan deleted the instructions-janitor/sync-v1.0.1-2026-11-04-06b751e61f967f94 branch November 4, 2026 15:06
@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor Author

🎉 This pull request is included in a new release.

Release: v1.2.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automation documentation Improvements or additions to documentation instructions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants