[Safe Outputs Conformance] TYPE-016: enforceCommentLimits signature check fails due to added maxLength parameter
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 68/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- github-actions, javascript
Research direction
Read scripts/check-safe-outputs-conformance.sh around the TYPE-016 check and actions/setup/js/comment_limit_helpers.cjs at enforceCommentLimits. Check how the existing pattern verifies maxLinks and linkBody, then adjust it to allow the additional maxLength parameter. Run bash scripts/check-safe-outputs-conformance.sh and confirm all TYPE-016 sub-checks pass.
Written by the indexing model from the issue text.
Description
Conformance Check Failure
Check ID: TYPE-016
Severity: HIGH
Category: Specification / Implementation
Problem Description
The checker verifies that enforceCommentLimits in actions/setup/js/comment_limit_helpers.cjs exposes a configurable maxLinks and an agent-only linkBody parameter (so generated footer/metadata links are excluded from the link count) by matching the literal function signature function enforceCommentLimits(body, { maxLinks = MAX_LINKS, linkBody = body }.
The current signature (line 64) is:
function enforceCommentLimits(body, { maxLinks = MAX_LINKS, linkBody = body, maxLength = MAX_COMMENT_LENGTH } = {}) {
The inserted , maxLength = MAX_COMMENT_LENGTH between linkBody = body and the closing } breaks the checker's literal substring match.
Affected Components
-
Files:
-
actions/setup/js/comment_limit_helpers.cjs(function signature, line 64) -
scripts/check-safe-outputs-conformance.sh(TYPE-016 check, ~line 2502)
-
<b>🔍 Current vs Expected Behavior</b>
Current Behavior
Functionally, enforceCommentLimits still accepts a configurable maxLinks and an agent-only linkBody default — both call sites (actions/setup/js/add_comment.cjs line 918 and actions/setup/js/safe_outputs_handlers.cjs line 2403) already pass these correctly, and both of those sub-checks pass. Only the helper-function-signature sub-check fails, purely on string shape, because of the additional maxLength destructured parameter added since the check was last written.
Expected Behavior
Either the implementation's parameter shape is adjusted to match what the checker expects, or the checker's pattern is widened to tolerate additional destructured parameters appended after linkBody = body, since the spec requirement (configurable max-links, agent-only link counting) is otherwise already satisfied.
Remediation Steps
This task can be assigned to a Copilot coding agent with the following steps:
- Confirm
enforceCommentLimits'smaxLinks/linkBodybehavior still conforms to Section 7.1 / MCE5 semantics (configurable max-links, generated links excluded from the agent-content link count) — this already appears true functionally. - Update the TYPE-016 regex in
scripts/check-safe-outputs-conformance.sh(~line 2502) to tolerate trailing destructured parameters, e.g. matchmaxLinks = MAX_LINKS, linkBody = body[,}]instead of requiring an immediate closing brace. - Re-run the conformance script locally and confirm TYPE-016 passes, including its E008 message, handler-enforcement, and MCP-invocation sub-checks.
- Add or update a regression test so future signature changes to
enforceCommentLimitsdo not silently break this check again.
Verification
After remediation, verify the fix by running:
bash scripts/check-safe-outputs-conformance.sh
The check TYPE-016 should pass without errors.
References
- Safe Outputs Specification: docs/src/content/docs/specs/safe-outputs-specification.md
- Conformance Checker:
scripts/check-safe-outputs-conformance.sh(line 2495) - Run: §39551296580
- Date: 2026-10-21
Generated by ✅ Daily Safe Outputs Conformance Checker · claude · agent · 81.4 AIC · ⌖ 0.668 AIC · ⊞ 5.4K · ◷
- expires on Oct 21, 2026, 9:53 PM UTC-08:00
- Dominant language
- Go
- Stars
- 5.4k
- Forks
- 596
- Avg merge
- 3h 40m
- Merged PRs (30d)
- 830
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/gh-aw
-
automation models
Difficulty 1/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
automated-analysis code-quality cookie testing
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
automated conformance safe-outputs
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
automated conformance safe-outputs
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
wgdonenotdeferred: parenthesized Done() statement escapes non-deferred detection (paren_unwrap_gap)Opencookie sergo
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
keyxmakerx/Chronicle#1721 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Gentleman-Programming/gentle-ai#5720 ·
Maintainers usually reply within 1 day
-
compress: block buffers get re-zeroed on every call, and the zeroing is immediately overwrittenOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ClickHouse/ch-go#1218 ·
Maintainers usually reply within 13 days
-
effort:s impact:low raised-by:reviewer risk:low
Difficulty 1/5 Under an hour Newbie friendliness 84/100
medici-finance/assay#4251 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
Edwin-metcalf/MetCode#30 ·
Maintainers usually reply within 1 day