Skip to content

[docs] docs: reduce bloat in safe-outputs reference#22672

Merged
pelikhan merged 1 commit intomainfrom
docs/unbloat-safe-outputs-96f1f0fb56e8f46b
Mar 24, 2026
Merged

[docs] docs: reduce bloat in safe-outputs reference#22672
pelikhan merged 1 commit intomainfrom
docs/unbloat-safe-outputs-96f1f0fb56e8f46b

Conversation

@github-actions
Copy link
Contributor

Targeted cleanup of docs/src/content/docs/reference/safe-outputs.md to remove repetitive and redundant content while preserving all essential information.

What was improved

File: docs/src/content/docs/reference/safe-outputs.md

Types of bloat removed

Area Before After
Search examples 4 separate code blocks + verbose tip 1 combined code block
Operation Types (update-pull-request) Duplicate 5-bullet list Single reference sentence
update-project configuration options 7 verbose bullets repeating code comments 1 summary sentence
Project views layout types + filter syntax 8 bullets 1 sentence
create-project-status-update config options 4 bullets repeating code comments 1 summary sentence
Status Indicators 5 verbose bullets 1 compact line
noop when-to-call examples 4 bullets + separate "when NOT to call" 1 sentence
fallback-to-issue scenarios 7 lines (bullet list + code block) 1 sentence
dispatch-workflow validation rules Numbered list with embedded YAML 1 sentence
dispatch-workflow security 3 verbose bullets 1 sentence
call-workflow security 3 verbose bullets 1 sentence
Issue Grouping example Redundant closing sentence Removed

Metrics

  • Lines: 1649 → 1531 (-118 lines, 7.2% reduction)
  • Bullet points: 136 → 92 (32% reduction — exceeds 20% threshold)
  • Net diff: 131 lines removed, 13 lines added

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 at 172.30.0.20:4321. The server was confirmed accessible via curl from within the agent container.

References:

🗜️ Compressed by Documentation Unbloat ·

  • expires on Mar 26, 2026, 12:16 PM UTC

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>
@github-actions github-actions bot added automation documentation Improvements or additions to documentation labels Mar 24, 2026
@pelikhan pelikhan marked this pull request as ready for review March 24, 2026 12:19
Copilot AI review requested due to automatic review settings March 24, 2026 12:19
@pelikhan pelikhan merged commit cbc2d0f into main Mar 24, 2026
2 checks passed
@pelikhan pelikhan deleted the docs/unbloat-safe-outputs-96f1f0fb56e8f46b branch March 24, 2026 12:20
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants