Submission requirements
Problem summary
The same GitHub fine-grained PAT contract—an executor/harness-only token scoped
to create failure-reporting issues—is represented by three ADO pipeline
variable names:
ADO_AW_DEBUG_GITHUB_TOKEN
EXECUTOR_E2E_GITHUB_TOKEN
TRIGGER_E2E_GITHUB_TOKEN
This makes token rotation and pipeline setup unnecessarily error-prone. A single
credential rotation currently requires setting three differently named
variables across the release/candidate failure reporters and both deterministic
E2E orchestrators.
The issue-reporting PAT must remain distinct from GITHUB_TOKEN, which
authenticates the Copilot CLI.
Reproduction details
Current consumers:
src/safe_outputs/result.rs loads ADO_AW_DEBUG_GITHUB_TOKEN for
ado-aw-debug.create-issue.
tests/executor-e2e/azure-pipelines.yml maps
EXECUTOR_E2E_GITHUB_TOKEN.
tests/trigger-e2e/azure-pipelines.yml maps
TRIGGER_E2E_GITHUB_TOKEN.
scripts/ado-script/src/executor-e2e/github-issue.ts and
scripts/ado-script/src/trigger-e2e/github-issue.ts already fall back to
ADO_AW_DEBUG_GITHUB_TOKEN, demonstrating that these names represent the
same underlying capability.
The duplication is also repeated throughout setup documentation and secret
rotation scripts.
Proposed next step
Choose one capability-oriented canonical name, for example
ADO_AW_GITHUB_ISSUES_TOKEN, and migrate every issue-reporting consumer to it.
Suggested acceptance criteria:
- Release and candidate smoke reporters, executor E2E, and trigger E2E use one
documented canonical ADO secret-variable name.
- The canonical variable remains executor/harness-only and is never exposed to
Stage 1.
GITHUB_TOKEN remains a separate Copilot authentication credential.
- Existing names are accepted as deprecated aliases for a bounded migration
window, with deterministic precedence and tests.
- Compiler output, TypeScript harnesses, tests, examples, runbooks, registered
pipeline instructions, and rotation scripts are updated together.
- The migration documents which AgentPlayground definitions require the
renamed variable and how operators can rotate it safely.
Submission requirements
githubnext/ado-aw.Problem summary
The same GitHub fine-grained PAT contract—an executor/harness-only token scoped
to create failure-reporting issues—is represented by three ADO pipeline
variable names:
ADO_AW_DEBUG_GITHUB_TOKENEXECUTOR_E2E_GITHUB_TOKENTRIGGER_E2E_GITHUB_TOKENThis makes token rotation and pipeline setup unnecessarily error-prone. A single
credential rotation currently requires setting three differently named
variables across the release/candidate failure reporters and both deterministic
E2E orchestrators.
The issue-reporting PAT must remain distinct from
GITHUB_TOKEN, whichauthenticates the Copilot CLI.
Reproduction details
Current consumers:
src/safe_outputs/result.rsloadsADO_AW_DEBUG_GITHUB_TOKENforado-aw-debug.create-issue.tests/executor-e2e/azure-pipelines.ymlmapsEXECUTOR_E2E_GITHUB_TOKEN.tests/trigger-e2e/azure-pipelines.ymlmapsTRIGGER_E2E_GITHUB_TOKEN.scripts/ado-script/src/executor-e2e/github-issue.tsandscripts/ado-script/src/trigger-e2e/github-issue.tsalready fall back toADO_AW_DEBUG_GITHUB_TOKEN, demonstrating that these names represent thesame underlying capability.
The duplication is also repeated throughout setup documentation and secret
rotation scripts.
Proposed next step
Choose one capability-oriented canonical name, for example
ADO_AW_GITHUB_ISSUES_TOKEN, and migrate every issue-reporting consumer to it.Suggested acceptance criteria:
documented canonical ADO secret-variable name.
Stage 1.
GITHUB_TOKENremains a separate Copilot authentication credential.window, with deterministic precedence and tests.
pipeline instructions, and rotation scripts are updated together.
renamed variable and how operators can rotate it safely.