Skip to content

Commit e2468a8

Browse files
dsymeCopilot
andauthored
docs: promote Integrity Filtering as primary, restructure GitHub Tools reference pages (#22296)
* update docs * update prompting * Update docs/src/content/docs/reference/github-tools.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update docs/src/content/docs/reference/checkout.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update docs/src/content/docs/reference/cross-repository.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * update prompting * update prompting * update prompting --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent dfe567d commit e2468a8

26 files changed

Lines changed: 350 additions & 743 deletions

.github/workflows/glossary-maintainer.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,8 @@ Based on the scope (daily or weekly):
114114
- List recent commits using `list_commits` for the appropriate timeframe
115115
- Get detailed commit information using `get_commit` for commits that might introduce new terminology
116116
- Search for merged pull requests using `search_pull_requests`
117-
- Review PR descriptions and comments for new terminology
118117

119-
**Look for:**
118+
**Look for new terminology in `docs/**/*.{md,mdx}` (and nowhere else)**
120119
- New configuration fields in frontmatter (YAML keys)
121120
- New CLI commands or flags
122121
- New tool names or MCP servers
@@ -178,12 +177,14 @@ Based on your scan of recent changes, create a list of:
178177
- The term requires explanation (not self-evident)
179178
- The term is specific to GitHub Agentic Workflows
180179
- The term is likely to confuse users without a definition
180+
- The term is used somewhere in `docs/**/*.{md,mdx}` files
181181

182182
**Do NOT add:**
183183
- Generic programming terms (unless used in a specific way)
184184
- Self-evident terms
185185
- Internal implementation details
186186
- Terms only used in code comments
187+
- Terms not used in documentation
187188

188189
### 7. Update the Glossary
189190

docs/astro.config.mjs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -295,26 +295,30 @@ export default defineConfig({
295295
{ label: 'Compilation Process', link: '/reference/compilation-process/' },
296296
{ label: 'Concurrency', link: '/reference/concurrency/' },
297297
{ label: 'Cost Management', link: '/reference/cost-management/' },
298-
{ label: 'Copilot Agent Files', link: '/reference/copilot-custom-agents/' },
299-
{ label: 'Cross-Repository', link: '/reference/cross-repository/' },
300298
{ label: 'Custom Safe Outputs', link: '/reference/custom-safe-outputs/' },
301-
{ label: 'Dependabot', link: '/reference/dependabot/' },
302299
{ label: 'Environment Variables', link: '/reference/environment-variables/' },
303300
{ label: 'FAQ', link: '/reference/faq/' },
304301
{ label: 'Footers', link: '/reference/footers/' },
305302
{ label: 'Frontmatter', link: '/reference/frontmatter/' },
306303
{ label: 'Frontmatter (Full)', link: '/reference/frontmatter-full/' },
307304
{ label: 'GH-AW Agent', link: '/reference/custom-agent-for-aw/' },
308305
{ label: 'GH-AW as MCP Server', link: '/reference/gh-aw-as-mcp-server/' },
309-
{ label: 'GitHub Lockdown Mode', link: '/reference/lockdown-mode/' },
310-
{ label: 'GitHub Tools', link: '/reference/github-tools/' },
306+
{ label: 'GitHub (Checkout)', link: '/reference/checkout/' },
307+
{ label: 'GitHub (Read Tools)', link: '/reference/github-tools/' },
308+
{ label: 'GitHub (Read Permissions)', link: '/reference/permissions/' },
309+
{ label: 'GitHub (Integrity Filtering)', link: '/reference/integrity/' },
310+
{ label: 'GitHub (Cross-Repository)', link: '/reference/cross-repository/' },
311+
{ label: 'GitHub (Fork Support)', link: '/reference/fork-support/' },
311312
{ label: 'Glossary', link: '/reference/glossary/' },
312313
{ label: 'Imports', link: '/reference/imports/' },
314+
{ label: 'Imports (APM)', link: '/reference/dependencies/' },
315+
{ label: 'Imports (Copilot Agent Files)', link: '/reference/copilot-custom-agents/' },
316+
{ label: 'Imports (Dependabot)', link: '/reference/dependabot/' },
313317
{ label: 'Markdown', link: '/reference/markdown/' },
314318
{ label: 'MCP Gateway', link: '/reference/mcp-gateway/' },
315319
{ label: 'Network Access', link: '/reference/network/' },
316-
{ label: 'Permissions', link: '/reference/permissions/' },
317-
{ label: 'Rate Limiting Controls', link: '/reference/rate-limiting-controls/' },
320+
{ label: 'Playwright', link: '/reference/playwright/' },
321+
{ label: 'Rate Limiting', link: '/reference/rate-limiting-controls/' },
318322
{ label: 'Repo Memory', link: '/reference/repo-memory/' },
319323
{ label: 'MCP Scripts', link: '/reference/mcp-scripts/' },
320324
{ label: 'MCP Scripts (Spec)', link: '/reference/mcp-scripts-specification/' },
@@ -329,9 +333,7 @@ export default defineConfig({
329333
{ label: 'Tools', link: '/reference/tools/' },
330334
{ label: 'Triggering CI', link: '/reference/triggering-ci/' },
331335
{ label: 'Triggers', link: '/reference/triggers/' },
332-
{ label: 'WASM Compilation', link: '/reference/wasm-compilation/' },
333336
{ label: 'Workflow Structure', link: '/reference/workflow-structure/' },
334-
{ label: 'Fork Support', link: '/reference/fork-support/' },
335337
],
336338
},
337339
{

docs/interactive-run-mode.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ All standard `run` command flags work in interactive mode:
5151
- `--repo owner/repo` - Target a different repository
5252
- `--ref branch` - Run on a specific branch
5353
- `--engine copilot` - Override AI engine
54-
- `--auto-merge-prs` - Auto-merge created PRs
5554
- `--push` - Push changes before running
5655

5756
## Limitations

docs/slides/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,7 @@ External services accessed only through proxies — multiple controls before rea
538538
| **Network** | Proxy/firewall at every layer, domain allowlisting |
539539
| **Permissions** | Read-only default, safe outputs for writes |
540540
| **Supply Chain** | Pinned action SHAs, protected CI/CD files |
541-
| **GitHub Guard** | `min-integrity`, secrecy & integrity metadata |
541+
| **Integrity** | `min-integrity`, access & integrity metadata |
542542
| **Monitoring** | Threat detection, audit logs, run analysis |
543543

544544
---

docs/src/content/docs/agent-factory-status.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn,
5151
| [Daily CLI Performance Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-cli-performance.md) | copilot | [![Daily CLI Performance Agent](https://github.com/github/gh-aw/actions/workflows/daily-cli-performance.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-cli-performance.lock.yml) | - | - |
5252
| [Daily CLI Tools Exploratory Tester](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-cli-tools-tester.md) | copilot | [![Daily CLI Tools Exploratory Tester](https://github.com/github/gh-aw/actions/workflows/daily-cli-tools-tester.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-cli-tools-tester.lock.yml) | - | - |
5353
| [Daily Code Metrics and Trend Tracking Agent](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-code-metrics.md) | claude | [![Daily Code Metrics and Trend Tracking Agent](https://github.com/github/gh-aw/actions/workflows/daily-code-metrics.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-code-metrics.lock.yml) | - | - |
54+
| [Daily Community Attribution Updater](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-community-attribution.md) | copilot | [![Daily Community Attribution Updater](https://github.com/github/gh-aw/actions/workflows/daily-community-attribution.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-community-attribution.lock.yml) | - | - |
5455
| [Daily Compiler Quality Check](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-compiler-quality.md) | copilot | [![Daily Compiler Quality Check](https://github.com/github/gh-aw/actions/workflows/daily-compiler-quality.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-compiler-quality.lock.yml) | - | - |
5556
| [Daily Copilot PR Merged Report](https://github.com/github/gh-aw/blob/main/.github/workflows/copilot-pr-merged-report.md) | copilot | [![Daily Copilot PR Merged Report](https://github.com/github/gh-aw/actions/workflows/copilot-pr-merged-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/copilot-pr-merged-report.lock.yml) | `0 15 * * 1-5` | - |
5657
| [Daily Copilot Token Consumption Report](https://github.com/github/gh-aw/blob/main/.github/workflows/daily-copilot-token-report.md) | copilot | [![Daily Copilot Token Consumption Report](https://github.com/github/gh-aw/actions/workflows/daily-copilot-token-report.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/daily-copilot-token-report.lock.yml) | `0 11 * * 1-5` | - |
@@ -105,7 +106,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn,
105106
| [Go Logger Enhancement](https://github.com/github/gh-aw/blob/main/.github/workflows/go-logger.md) | claude | [![Go Logger Enhancement](https://github.com/github/gh-aw/actions/workflows/go-logger.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/go-logger.lock.yml) | - | - |
106107
| [Go Pattern Detector](https://github.com/github/gh-aw/blob/main/.github/workflows/go-pattern-detector.md) | claude | [![Go Pattern Detector](https://github.com/github/gh-aw/actions/workflows/go-pattern-detector.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/go-pattern-detector.lock.yml) | `0 14 * * 1-5` | - |
107108
| [GPL Dependency Cleaner (gpclean)](https://github.com/github/gh-aw/blob/main/.github/workflows/gpclean.md) | copilot | [![GPL Dependency Cleaner (gpclean)](https://github.com/github/gh-aw/actions/workflows/gpclean.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/gpclean.lock.yml) | - | - |
108-
| [Grumpy Code Reviewer 🔥](https://github.com/github/gh-aw/blob/main/.github/workflows/grumpy-reviewer.md) | copilot | [![Grumpy Code Reviewer 🔥](https://github.com/github/gh-aw/actions/workflows/grumpy-reviewer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/grumpy-reviewer.lock.yml) | - | `/grumpy` |
109+
| [Grumpy Code Reviewer 🔥](https://github.com/github/gh-aw/blob/main/.github/workflows/grumpy-reviewer.md) | codex | [![Grumpy Code Reviewer 🔥](https://github.com/github/gh-aw/actions/workflows/grumpy-reviewer.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/grumpy-reviewer.lock.yml) | - | `/grumpy` |
109110
| [Instructions Janitor](https://github.com/github/gh-aw/blob/main/.github/workflows/instructions-janitor.md) | claude | [![Instructions Janitor](https://github.com/github/gh-aw/actions/workflows/instructions-janitor.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/instructions-janitor.lock.yml) | - | - |
110111
| [Issue Arborist](https://github.com/github/gh-aw/blob/main/.github/workflows/issue-arborist.md) | codex | [![Issue Arborist](https://github.com/github/gh-aw/actions/workflows/issue-arborist.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/issue-arborist.lock.yml) | - | - |
111112
| [Issue Monster](https://github.com/github/gh-aw/blob/main/.github/workflows/issue-monster.md) | copilot | [![Issue Monster](https://github.com/github/gh-aw/actions/workflows/issue-monster.lock.yml/badge.svg)](https://github.com/github/gh-aw/actions/workflows/issue-monster.lock.yml) | - | - |

docs/src/content/docs/blog/2026-01-13-meet-the-workflows.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ Note how concise this is - it's like reading a to-do list for the agent. The wor
7676

7777
In the frontmatter, we define [permissions](/gh-aw/reference/frontmatter/#permissions-permissions), [tools](/gh-aw/reference/tools/), and [safe outputs](/gh-aw/reference/safe-outputs/). This ensures the agent only has access to what it needs and can't perform any unsafe actions. The natural language instructions in the body guide the agent's behavior in a clear, human-readable way.
7878

79-
Issue triage workflows in public repositories are one of the [rare cases where you might disable lockdown mode](/gh-aw/reference/faq/#what-is-github-lockdown-mode-and-when-is-it-enabled) to process issues from all contributors. If you are a maintainer in a public repository and need your triage agent to see and label issues from users without push access, configure `lockdown: false` in your GitHub tools configuration. See [Lockdown Mode](/gh-aw/reference/lockdown-mode/) for security considerations and best practices.
79+
Issue triage workflows in public repositories may need to process issues from all contributors. By default, `min-integrity: approved` restricts agent visibility to owners, members, and collaborators. If you are a maintainer in a public repository and need your triage agent to see and label issues from users without push access, set `min-integrity: none` in your GitHub tools configuration. See [Integrity Filtering](/gh-aw/reference/integrity/) for security considerations and best practices.
8080

8181
We've deliberately kept this workflow ultra-simple. In practice, in your own repo, **customization** is key. Triage differs in every repository. Tailoring workflows to your specific context will make them more effective. Generic agents are okay, but customized ones are often a better fit.
8282

docs/src/content/docs/blog/2026-01-24-design-patterns.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ Some key characteristics are:
182182
- Often includes intelligent classification
183183
- Maintains issue relationships
184184
- Respects user intent and context
185-
- **For public repo triage**: May need [lockdown mode disabled](/gh-aw/reference/lockdown-mode/) to process issues from all users
185+
- **For public repo triage**: Set `min-integrity: none` to process issues from all users (default is `approved`, which restricts to trusted contributors) — see [Integrity Filtering](/gh-aw/reference/integrity/)
186186

187187
---
188188

docs/src/content/docs/blog/2026-01-27-operational-patterns.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ Here are our tips!
173173
- Allow manual override
174174
- Track triage accuracy
175175
- Update classification rules based on feedback
176-
- **For public repos**: Consider if you need to [disable lockdown mode](/gh-aw/reference/faq/#what-is-github-lockdown-mode-and-when-is-it-enabled) to process issues from all users (this is one of the rare safe use cases - see [Lockdown Mode](/gh-aw/reference/lockdown-mode/) for security guidance)
176+
- **For public repos**: By default, `min-integrity: approved` restricts agent visibility to owners, members, and collaborators. For triage workflows that need to process issues from all users, set `min-integrity: none` explicitly — see [Integrity Filtering](/gh-aw/reference/integrity/) for guidance.
177177

178178
**Learn more**: [IssueOps Examples](https://github.github.com/gh-aw/patterns/issue-ops/)
179179

docs/src/content/docs/guides/getting-started-mcp.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ The `default` toolset includes: `context`, `repos`, `issues`, `pull_requests`. W
101101

102102
### Operating Modes
103103

104-
Remote mode (`mode: remote`) connects to a hosted server for faster startup with no Docker required. Local mode (`mode: local`) runs in Docker, enabling version pinning for offline or restricted environments. See [Remote vs Local Mode](/gh-aw/reference/github-tools/#remote-vs-local-mode).
104+
Remote mode (`mode: remote`) connects to a hosted server for faster startup with no Docker required. Local mode (`mode: local`) runs in Docker, enabling version pinning for offline or restricted environments. See [Remote vs Local Mode](/gh-aw/reference/github-tools/#github-tools-remote-mode).
105105

106106
The GitHub MCP server always operates read-only. Write operations are handled through [safe outputs](/gh-aw/reference/safe-outputs/), which run in a separate permission-controlled job.
107107

docs/src/content/docs/introduction/architecture.mdx

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -554,17 +554,14 @@ XML and HTML tags are converted to a safe parentheses format to prevent injectio
554554
Workflows should use `${{ needs.activation.outputs.text }}` instead of raw `github.event` fields to ensure proper sanitization of user-provided content.
555555
</Aside>
556556

557-
## GitHub Lockdown Mode
557+
## Integrity Filtering
558558

559-
GitHub lockdown mode is a security feature of the GitHub MCP server that filters content in public repositories to only surface items from users with push access. This protects workflows from processing potentially malicious or misleading input from untrusted users.
559+
Integrity filtering controls which GitHub content an agent can access during a workflow run, based on **author trust** and **merge status** rather than push access alone. The MCP gateway intercepts tool calls and filters content below the configured `min-integrity` threshold before the AI engine sees it — items from blocked users or below the minimum trust level are removed transparently.
560560

561-
When **lockdown mode is enabled**, the GitHub MCP server:
562-
- Only returns issues, PRs, comments, and discussions from users with push, maintain, or admin access
563-
- Blocks coding agent from seeing content from other users
564-
- Has no particular effect for private or internal repos
561+
For public repositories, `min-integrity: approved` is applied automatically — restricting content to owners, members, and collaborators — even without additional authentication. The four configurable levels (`merged`, `approved`, `unapproved`, `none`) are cumulative from most to least restrictive. Individual users can be blocked unconditionally, and trusted reviewers can promote specific items via approval labels.
565562

566563
<Aside type="tip">
567-
See [Lockdown Mode Reference](/gh-aw/reference/lockdown-mode/) for complete configuration guidance, use cases, and security considerations.
564+
See [Integrity Filtering Reference](/gh-aw/reference/integrity/) for configuration options, integrity levels, and examples.
568565
</Aside>
569566

570567
## Secret Redaction
@@ -797,7 +794,7 @@ gh aw status
797794
| **Configuration** | Action SHA pinning | Supply chain attacks, tag hijacking |
798795
| **Configuration** | Security scanners (actionlint, zizmor, poutine) | Privilege escalation, misconfigurations, supply chain risks |
799796
| **Configuration** | Pre-activation checks (role/permission) | Unauthorized users, expired workflows |
800-
| **Plan** | GitHub lockdown mode | Untrusted user input, context poisoning, social engineering |
797+
| **Plan** | Integrity filtering (`min-integrity`) | Untrusted user input, context poisoning, social engineering |
801798
| **Plan** | Content sanitization | @mention abuse, bot triggers |
802799
| **Plan** | Secret redaction | Credential leakage in logs/artifacts |
803800
| **Plan** | Threat detection | Malicious patches, secret leaks |
@@ -807,7 +804,7 @@ gh aw status
807804

808805
## Related Documentation
809806

810-
- [Lockdown Mode](/gh-aw/reference/lockdown-mode/) - GitHub content filtering for public repositories
807+
- [Integrity Filtering](/gh-aw/reference/integrity/) - Author-trust and merge-status content filtering
811808
- [Threat Detection Guide](/gh-aw/reference/threat-detection/) - Configuring threat analysis
812809
- [Network Permissions](/gh-aw/reference/network/) - Network access control
813810
- [Safe Outputs Reference](/gh-aw/reference/safe-outputs/) - Output processing configuration

0 commit comments

Comments
 (0)