Conversation
- Update header to reference the specification file and version - Fix USE-001 false positives: skip apm_unpack and observability files; only check handlers that actually use octokit or record safe outputs - Fix USE-003 false positives: only flag files using the actual staged mode env var (GH_AW_SAFE_OUTPUTS_STAGED), not generic 'staged' patterns - Add MCE-001: verify tool descriptions disclose constraint limits (Section 8.3 MCE2 - 65536 chars, 10 mentions, 50 links for add_comment) - Add MCE-002: verify dual enforcement of comment constraints at both MCP invocation time and processing time (Section 8.3 MCE4) - Add CI-001: verify cache memory integrity scripts exist (setup_cache_memory_git.sh and commit_cache_memory_git.sh - CI6, CI10) - Add CI-002: verify integrity branch support in cache scripts (all 4 levels, merge-down, git gc compaction, no-.git fallback - CI7-CI12) Specification: docs/src/content/docs/reference/safe-outputs-specification.md v1.15.0 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Mar 30, 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
Updates the Safe Outputs conformance checker script to align with the newly-added Safe Outputs specification (v1.15.0, added in commit
b19fe61).Specification Changes Reviewed
b19fe61(2026-03-29): Addeddocs/src/content/docs/reference/safe-outputs-specification.mdv1.15.0 — a brand-new 4,718-line W3C-style specification covering:📋 Script Updates & Testing Details
Script Updates
New Checks Added
MCE-001 (
Section 8.3 MCE2): Verifies thatadd_commenttool descriptions inpkg/workflow/js/safe_outputs_tools.jsonsurface enforcement constraint limits to the LLM (65536 character limit, 10 mention limit, 50 link limit, and CONSTRAINTS/IMPORTANT keyword presence).MCE-002 (
Section 8.3 MCE4): Verifies the dual enforcement pattern — constraint limits must be enforced both at MCP gateway invocation time (safe_outputs_handlers.cjs) and at safe output processing time (add_comment.cjs). Both files must importcomment_limit_helpers.cjs.CI-001 (
Section 11, CI6 + CI10): Verifies that both cache memory integrity scripts exist:actions/setup/sh/setup_cache_memory_git.shandactions/setup/sh/commit_cache_memory_git.sh.CI-002 (
Section 11.2, CI7–CI12): Verifies the cache memory setup script supports all four integrity levels (merged,approved,unapproved,none), implements merge-down from higher-integrity branches (CI8), the commit script invokesgit gc --autofor compaction (CI11), and handles missing.gitdirectories gracefully (CI12).Checks Modified (false positive fixes)
USE-001: Added skip patterns for
apm_unpackandrun_apm_unpackfiles (APM Bundle Unpacker — not a safe output handler). Added an additional filter: only check files that actually useoctokit.API calls or record safe output operations. Previously flagged 2 false positives.USE-003: Narrowed the staged mode check to only flag files that reference the safe outputs-specific env var
GH_AW_SAFE_OUTPUTS_STAGED(or the helper functionslogStagedPreviewInfo/generateStagedPreview). Previously flaggedgenerate_observability_summary.cjsas a false positive because it uses a genericstagedfield unrelated to the spec's staged mode.Updated Documentation
Testing
Ran the updated script — all 19 checks pass with zero failures:
Previous baseline had 3 LOW false positives (USE-001 × 2, USE-003 × 1) — all resolved.
Related Files
docs/src/content/docs/reference/safe-outputs-specification.mdscripts/check-safe-outputs-conformance.sh