Repository navigation
Use built-in token for public team-memory source reads - #1775
Merged
Merged
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Changyong Gong (chagong)
requested review from
Sheng Chen (jdneo),
Jinbo Wang (testforstephen) and
wenyt (wenytang-ms)
as code owners
October 10, 2026 09:07
There was a problem hiding this comment.
🟢 Approval recommended
The focused workflow change preserves required safeguards and is supported by the pinned action’s existing validation and successful live diagnostics.
0 open findings
What changed in this PR
Simplifies public team-memory source authentication by using the coordinator’s built-in GitHub token.
Changes:
- Removes source-selection and App-token creation steps.
- Uses
${{ github.token }}directly for source metadata reads. - Preserves existing permissions, allowlist validation, and privacy settings.
| File | Description |
|---|---|
.github/workflows/team-memory-coordinator.yml |
Replaces external source credentials with the built-in token. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
wenyt (wenytang-ms)
approved these changes
Oct 12, 2026
Changyong Gong (chagong)
deleted the
chagong-coordinator-token-cleanup
branch
October 12, 2026 02:01
This was referenced Oct 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Use the coordinator job's built-in
${{ github.token }}explicitly for allowlisted public-source metadata reads. Remove the source-selection shell step and external-sourceactions/create-github-app-tokenstep, including their obsoletesource-name/externaloutputs and token-selection expression.This changes only
.github/workflows/team-memory-coordinator.yml(1 insertion, 31 deletions). Preserve the default-branch/event/opt-in gate, job-scoped Contents/Actions/Pull requests read and ID token write permissions, wiki-specific concurrency withqueue: maxandcancel-in-progress: false, all eight trusted repository IDs, all five source/run/range inputs and manual PR input, final receipt validation, and privacy-safeoutput-mode: activity/summary-mode: status.The trusted shared action remains pinned to
a81d2d96167fc0e69ac631c2edc85f858e693289. Its existing preflight validates the trusted allowlist, canonical source identity/ID, and public source/coordinator restrictions before reconciliation discovery and OIDC login. No duplicate local preflight, anonymous fallback, or token-bearing payload is added. microsoft/IssueLens#54 corrects contract wording/tests without changing runtime; this PR does not depend on its merge or repin to an unmerged action.Setup impact
The coordinator no longer needs
ISSUELENS_SOURCE_READ_APP_CLIENT_IDorISSUELENS_SOURCE_READ_APP_PRIVATE_KEY. No new variables, secrets, settings, or credentials are required; existing opt-in and Azure OIDC/agent configuration is unchanged. This PR removes the workflow's use of that source-read credential pair only, not installed Apps or stored secrets.External source callers' source-dispatch App credentials still need target Java Pack Contents read and Actions write. Their token minting and all seven external callers are untouched; this change alone does not fix their failed push/dispatch runs. The same-repository dispatcher still uses
github.tokenfor its own writes. No public documentation, application policies/prompts, or shared runtime files change.Evidence and validation
b18190a1cb932fdf0b5e02815af05075546b7e58. It recorded 43 HTTP 200 REST/GraphQL metadata reads across the coordinator and six external public sources using only the actual jobGITHUB_TOKENwith Contents/Actions/Pull requests read and implicit Metadata access, without ID token permission, alternate tokens, anonymous fallback, retries, redirects, or agent/wiki invocation.microsoft/vscode-gradle(develop), conditionalafter..current-tipancestry reads (all tested tips equaledafter), or multi-page comparisons (the six tested ranges were one commit). Private cross-repository access is out of scope and rejected by the shared action.yaml2.9.1 passed: the parsed workflow equals latest-main baselineb1035e0df4202be224c499934f2d63758e3b410aexcept the two removed authentication steps and source-token expression. Explicit assertions cover the gates, permissions/OIDC, concurrency, exact eight IDs, all input wiring/manual compatibility, fixed pin, receipts/privacy modes, unchanged dispatcher, and one-file scope. These are wiring checks, not mocked shared-runtime or new live token tests.unexpected key "queue" for "concurrency" section. expected one of "cancel-in-progress", "group" [syntax-check]. No other diagnostics occurred. GitHub's current concurrency documentation confirmsqueue: maxis supported; it remains unchanged rather than being suppressed or removed.git diff --checkand direct self-review passed. No workflow dispatch/rerun, Azure/IssueLens/wiki invocation, token minting, credential/settings changes, deployment, merge, or diagnostic-branch cleanup was performed.