[docs] docs: reduce bloat in safe-outputs reference#22672
Conversation
Remove duplicate and redundant content from safe-outputs.md: - Condense 4 separate search example code blocks into 1 combined block - Remove duplicate Operation Types bullets from update-pull-request (reference update-issue instead) - Remove update-project configuration options bullets that repeat code block comments - Condense project views layout types (3 bullets) and filter syntax examples (5 bullets) into 1 line - Remove create-project-status-update redundant configuration options - Condense Status Indicators from 5 verbose bullets to 1 line - Condense noop "When to call" examples from 4 bullets to 1 sentence - Condense fallback-to-issue scenarios from 7 lines to 1 sentence - Condense dispatch-workflow validation rules (remove embedded YAML) - Condense dispatch-workflow and call-workflow security sections Result: 131 lines removed, 13 added (-118 net), bullet points reduced from 136 to 92 (32% reduction). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Reduces redundancy and repetitive prose in the Safe Outputs reference while keeping the technical reference content intact.
Changes:
- Consolidates multiple “Search Examples” blocks into a single combined block
- Replaces repeated configuration bullet lists with shorter summary sentences across several safe-output handlers
- Compresses security/validation and “when to use” guidance into more concise phrasing
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| 3. **No self-reference** - A workflow cannot dispatch itself to prevent infinite loops. | ||
|
|
||
| 4. **File resolution** - The compiler resolves the correct file extension (`.lock.yml` or `.yml`) at compile time and embeds it in the safe output configuration, ensuring the runtime handler dispatches the correct workflow file. | ||
| At compile time, the compiler validates that each workflow exists (`.md`, `.lock.yml`, or `.yml`), declares `workflow_dispatch` in its `on:` section, does not self-reference, and resolves the correct file extension. |
There was a problem hiding this comment.
The validation sentence lists workflows that may exist as .md, .lock.yml, or .yml, but the section’s workflows config just above says names are provided “without .md extension”. With non-.md workflows mentioned here, that wording becomes ambiguous for readers (e.g., whether to include .yml). Consider rephrasing to state that workflows entries are specified without any extension and that the compiler resolves the actual file (.lock.yml/.yml/.md) at compile time.
See below for a potential fix:
- **`workflows`** (required) - List of workflow names specified without any file extension that the agent is allowed to dispatch. Each workflow must exist in the same repository and support the `workflow_dispatch` trigger; the compiler resolves the corresponding workflow file (`.md`, `.lock.yml`, or `.yml`) at compile time.
- **`max`** (optional) - Maximum number of workflow dispatches allowed (default: 1, maximum: 50). This prevents excessive workflow triggering.
#### Validation Rules
At compile time, the compiler resolves each configured workflow name to an existing workflow file with a supported extension (`.md`, `.lock.yml`, or `.yml`), validates that it declares `workflow_dispatch` in its `on:` section, does not self-reference, and resolves the correct file extension.
Targeted cleanup of
docs/src/content/docs/reference/safe-outputs.mdto remove repetitive and redundant content while preserving all essential information.What was improved
File:
docs/src/content/docs/reference/safe-outputs.mdTypes of bloat removed
update-projectconfiguration optionscreate-project-status-updateconfig optionsnoopwhen-to-call examplesfallback-to-issuescenariosdispatch-workflowvalidation rulesdispatch-workflowsecuritycall-workflowsecurityMetrics
Essential content preserved
All technical details, configuration options, code examples, links, and warnings are preserved. The changes only remove duplicate explanations and verbose prose that restated what was already in the YAML code block comments.
Issues
Screenshots: Could not be captured — the Playwright container (running with
--network host) could not reach the Astro dev server running in the agent container at172.30.0.20:4321. The server was confirmed accessible viacurlfrom within the agent container.References: