fix(orb): SKILL.md linked-issue trigger must key on the gate-mode enforcement authority (#9671) - #9923
fix(orb): SKILL.md linked-issue trigger must key on the gate-mode enforcement authority (#9671)#9923kai392 wants to merge 1 commit into
Conversation
|
Caution 🛑 LoopOver review result - fixes requiredReview updated: 2026-07-29 23:32:08 UTC
Review summary Nits — 4 non-blocking
CI checks failing
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
…orcement authority (JSONbored#9671) repo-skill-render.ts asserted "a linked issue is required" from two different fields in the same generated file: hasStrictLinkedIssueRule keyed on `requireLinkedIssue && linkedIssuePolicy !== "optional"`, while the Linked-issues section keyed on `linkedIssueGateMode === "block"`. For a repo with requireLinkedIssue:true, policy:"required", gateMode:"advisory" (a real, common combo — advisory is the default), the generated SKILL.md said "A linked issue is required, with a 'required' policy." a few lines above "Required: no" — directly contradictory misinformation, since only "block" mode actually blocks (repo-profile.ts:68-70). hasStrictLinkedIssueRule is also one of shouldGenerateRepoSkill's three signals, so a skill file could be generated off a signal that enforces nothing. - hasStrictLinkedIssueRule now keys on `linkedIssueGateMode === "block"`, the documented enforcement authority, matching repo-doc-render.ts:106. - renderTriggerReasons' sentence states the blocking mode ("...gate is in 'block' mode.") and only fires when the gate actually blocks. - The Linked-issues section (Policy/Required) is unchanged. Tests: the signal counts only under block mode; a regression rendering the full advisory-mode SKILL.md asserts it never claims a linked issue is required while saying "Required: no"; the block-mode doc agrees in both directions; and advisory linked-issue + multi-stage CI no longer reaches the 2-of-3 threshold. Existing fixtures that meant a genuine strict rule now set block mode. All fail against the current field choice. Closes JSONbored#9671 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
❌ 3 Tests Failed:
View the top 3 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
|
LoopOver is closing this pull request on the maintainer's behalf (CI is failing (validate, validate-tests)). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed. |
What
repo-skill-render.tsasserted "a linked issue is required" from two different fields in the same generated file.hasStrictLinkedIssueRulekeyed onrequireLinkedIssue && linkedIssuePolicy !== "optional", while the Linked-issues section keyed onlinkedIssueGateMode === "block". For a repo withrequireLinkedIssue: true,linkedIssuePolicy: "required",linkedIssueGateMode: "advisory"— a real, common combo (advisory is the default gate mode) — the generatedSKILL.mdsaid "A linked issue is required, with a 'required' policy." a few lines above "Required: no". Since this file is written into contributor repos as.claude/skills/contributing-to-<repo>/SKILL.mdand read by AI coding agents, that contradiction is directly actionable misinformation. Only"block"mode actually blocks (repo-profile.ts:68-70).hasStrictLinkedIssueRuleis also one ofshouldGenerateRepoSkill's three signals, so a skill file could be generated off a signal that enforces nothing.How
hasStrictLinkedIssueRulenow keys onlinkedIssueGateMode === "block"— the documented enforcement authority, matchingrepo-doc-render.ts:106.renderTriggerReasons' sentence states the blocking mode (...the linked-issue gate is in "block" mode.) and only fires when the gate actually blocks.Policy:/Required:) is unchanged.Tests
shouldGenerateRepoSkillonly under block mode (Deliverable 1).SKILL.mdnever claims a linked issue is required and saysRequired: no(Deliverable 2).Required: yes— the two agree (Deliverable 3).Existing fixtures that meant a genuine strict rule now set block mode. All new/updated assertions fail against the current field choice.
Closes #9671