Skip to content

fix(ci): silence English translation noise and harden related-issue matches - #458

Merged
Wibias merged 13 commits into
lidge-jun:devfrom
Wibias:fix/issue-bot-noise
Jul 25, 2026
Merged

fix(ci): silence English translation noise and harden related-issue matches#458
Wibias merged 13 commits into
lidge-jun:devfrom
Wibias:fix/issue-bot-noise

Conversation

@Wibias

@Wibias Wibias commented Jul 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Reduce issue-bot noise for English/no-translation paths by storing cooldown and rate-limit state in a bot-owned marker-only control comment (no visible English bookkeeping text).
  • Keep non-English translations on the existing visible bookkeeping comment path.
  • Preserve author whitespace when stripping orphan body control markers; require concrete shared failure signatures before keeping related-issue matches that use weak “same client/app” wording; unify the no-translation model prompt so detected_language stays the source language (normally English) with empty translation fields.

English-state contract

  • No visible English bookkeeping text for English/no-translation results (marker-only github-actions[bot] control comment).
  • Authoritative cooldown/rate-limit state is the verified bot-owned control comment only.
  • Issue title/body are never used as authoritative control state; forged body markers are ignored and stripped as non-authoritative orphans.
  • Author-created comments that contain the control marker are never trusted.
  • Canonical comment create/update completes first; redundant older bot control comments are deleted only after that succeeds.
  • Create/update failures preserve the previous durable comment; cleanup failures leave redundant comments as fallback.
  • No Actions cache / .ocx-translation-state file path (issue-triggered workflows cannot durably save cache entries).

Test plan

  • node --test .github/scripts/issue-translation.test.cjs
  • node --test .github/scripts/issue-triage.test.cjs
  • node --test .github/scripts/parse-issue-translation-response.test.cjs
  • node --test .github/scripts/issue-quality.test.cjs
  • bun test tests/ci-workflows.test.ts
  • Issue quality tests workflow
  • React Doctor
  • Cross-platform CI
  • Explicit maintainer security approval for .github/** changes before merge

Summary by CodeRabbit

  • New Features
    • Improved issue triage: stricter, JSON-only match extraction with stronger “related” reasoning.
  • Bug Fixes
    • Hardened translation control-state recovery from outdated/orphan markers and time-skew issues.
    • English/no-translation attempts no longer show unnecessary visible bookkeeping.
    • Prevented issue-authored markers from overriding trusted translation state; improved canonical control-comment upsert/cleanup.
  • Tests
    • Expanded coverage for translation control-state healing and triage parsing/sanitization behavior.

…ssue matches

Stop posting visible English translation control comments (keep rate-limit state invisible on the issue body), and drop weak "somewhat related" triage links like lidge-jun#452->lidge-jun#420.
@github-actions github-actions Bot added the bug Something isn't working label Jul 25, 2026
@coderabbitai

This comment was marked as outdated.

chatgpt-codex-connector[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

Wibias added 3 commits July 25, 2026 19:34
Address Codex/CodeRabbit review: stop trusting author-editable issue-body markers for rate limits, keep markers-only bot comments (no visible English bookkeeping), and stop rejecting concrete 'both involve' related reasons.
Persist English/no-translation rate-limit state in a bot-owned Actions cache file instead of marker-only issue comments, preserve orphan-marker whitespace, require concrete related-issue signatures, and unify the no-translation prompt contract.
coderabbitai[bot]

This comment was marked as resolved.

Wibias added 5 commits July 25, 2026 20:48
Keep silent file state local until Actions cache upload succeeds, then remove verified bot control comments so cancelled or failed cache saves cannot erase cooldown history.
Issue-triggered workflows cannot durably save Actions cache entries, so keep cooldown history in a github-actions control comment without visible English bookkeeping and drop the non-durable file/cache path.
Require per-related shared-failure reasons, strip orphan body markers only at EOF, and reject far-future cooldown timestamps so poisoned bot comments cannot lock rate limits.
Require shared-failure wording (not use/call/involve overlap) and drop reasons that carry multiple HTTP statuses or contrast attributions.
Reject related reasons where generic both-fail wording borrows a one-issue errno/status/Field required token, while keeping clause-bound shared signatures.
coderabbitai[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

Wibias added 4 commits July 25, 2026 22:03
…lity

Tighten errno/HTTP signature matching, pass injected now into control-comment
selection, improve persist-failure observability, and cover the paginate cleanup path.
Cover phrasing where a shared verb binds both issues to another ticket number
rather than a real failure or HTTP status code.
Treat HTTP status plus errno as distinct failures, and stop generic both-fail
wording from binding later issue-specific tokens as shared evidence.
…utions

Extend ISSUE_SPECIFIC_ATTR_RE so generic both-fail wording cannot bind tokens
attributed to this, current, or present issue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant