Skip to content

ci: basic tier named as the merge requirement + event bots consolidated into repo-sweeper (every 15m) - #832

Merged
dezren39 merged 1 commit into
mainfrom
ci/basic-tier-and-sweeper
Oct 29, 2026
Merged

dezren39 merged 1 commit into
mainfrom
ci/basic-tier-and-sweeper

Conversation

@dezren39

@dezren39 dezren39 commented Oct 29, 2026 •

Copy link
Copy Markdown

Implements Drew's expanded directives of 2026-10-29 00:41 CDT on top of opencode#827/#828. Refs developing-today/code#1780, anomalyco#1781, anomalyco#1782, #1599.

1. Merge-requirement naming

  • .github/ci-policy.md now states explicitly: "Merge requirement: the basic-validation (PR) tier only. The full suite runs on main and is NOT a merge gate."
  • The basic tier in this repo is named basic validation; its checks carry the tier in their display names: basic typecheck (check), basic affected packages, basic unit (<os>) (test). Workflow names test/check/nix-eval are NOT renamed — main-broken.yml references them via workflow_run. The e2e (<os>) aggregator names are unchanged so branch-required check names stay stable.
  • No branch-protection settings were changed (not authorized); naming + documentation only. Follow-up for whoever owns branch rules: if checks are required by name, require the basic-prefixed names; build/e2e suites must never become merge requirements.

2. Event-bot consolidation → repo-sweeper

Deleted (duties absorbed): pr-management.yml, duplicate-issues.yml, triage.yml, close-issues.yml, close-prs.yml, compliance-close.yml.
Added repo-sweeper.yml: schedule */15 * * * * (every 15 minutes) + dispatch; concurrency group repo-sweeper, cancel-in-progress: true (single live run; no queue: max pairing). One pass, in order:

  1. Deterministic (github-script): contributor labels for CONTRIBUTOR PRs; 72h needs:compliance closes (ported verbatim from compliance-close, exemptions included).
  2. Daily closers gated to their original windows: stale issues at 02:00 UTC (script/github/close-issues.ts), low-reaction PRs at 22:00 UTC (script/github/close-prs.ts, same args, execute mode).
  3. LLM passes (original prompts + TEAM_MEMBERS/OWNER/MEMBER exemptions, 20-min lookback overlapping the 15-min cadence, per-pass caps 3/2/2, newest first): new-issue compliance+duplicate check then triage; compliance rechecks for edited needs:compliance issues; duplicate-PR check via script/duplicate-pr.ts (skips PRs already carrying the LLM comment, mirroring the original fire-once semantics).
    Kept event-based, with reasons: opencode.yml (/oc, /opencode — a human invokes and waits synchronously), review.yml (/review command — same). pr-standards.yml KEPT as validation: read in full, it is a PR standards/template-compliance check (title format, linked issue, template sections → needs:* labels), i.e. a check in the tier system, not management. main-broken.yml, notify-discord.yml (release notification, not issue/PR management) untouched.

Validation

  • All 28 remaining workflows YAML-parse (yq); every sweeper bash step passes bash -n; the github-script block parses under node.
  • Workflow count: 32 + main-broken + repo-sweeper − 6 deleted = 28.
  • Accepted trade-off (documented in the sweeper header): a long sweep can be superseded by the next; deterministic duties run first and always complete, LLM misses are retried while items are inside the lookback window, daily closers resume next day (closed items leave the pool).

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

…ots into repo-sweeper

Merge-requirement naming (Drew, 2026-10-29):
- ci-policy.md: explicit statement -- Merge requirement: the
  basic-validation (PR) tier only. The full suite runs on main and
  is NOT a merge gate.
- PR-tier job display names now carry the tier: basic typecheck
  (check), basic affected packages + basic unit (test). Workflow
  names test/check/nix-eval are unchanged because main-broken.yml
  references them via workflow_run. e2e (<os>) aggregator names are
  unchanged so branch-required check names stay stable.

Event-bot consolidation (Drew, 2026-10-29; supersedes the Phase 1
per-item concurrency treatment for management bots):
- Deleted: pr-management, duplicate-issues, triage, close-issues,
  close-prs, compliance-close.
- Added repo-sweeper.yml: every 15 minutes, one live run
  (cancel-in-progress: true), all management duties in a single
  pass -- contributor labels and the 72h compliance closes
  (deterministic, ported), daily stale-issue (02:00 UTC) and
  low-reaction-PR (22:00 UTC) closers gated to their original
  windows, and capped LLM passes (new-issue compliance+duplicates
  then triage, compliance rechecks, duplicate-PR check) over a
  20-minute lookback with the original prompts and exemptions.
- Kept event-based: opencode (/oc//opencode mention bot) and
  review (/review) -- a human invokes them and waits. pr-standards
  stays: it is a validation workflow (PR standards/template
  compliance checks), not management.

Refs developing-today/code#1780, developing-today/code#1781,
developing-today/code#1782, developing-today/code#1599.
@coderabbitai

coderabbitai Bot commented Oct 29, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 38 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 82064b08-ae52-45c7-bc91-6860ecd119e9
Commits

Reviewing files that changed from the base of the PR and between 4abddad and a186472.

Files selected for processing: 10
  • .github/ci-policy.md
  • .github/workflows/check.yml
  • .github/workflows/close-issues.yml
  • .github/workflows/close-prs.yml
  • .github/workflows/compliance-close.yml
  • .github/workflows/duplicate-issues.yml
  • .github/workflows/pr-management.yml
  • .github/workflows/repo-sweeper.yml
  • .github/workflows/test.yml
  • .github/workflows/triage.yml
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-29T05:57:01.462265Z a186472 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@dezren39
dezren39 merged commit 906db93 into main Oct 29, 2026
8 of 12 checks passed
@github-actions

Copy link
Copy Markdown

The following comment was made by an LLM, it may be inaccurate:

@github-actions

Copy link
Copy Markdown

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • PR description is missing required template sections. Please use the PR template.

Please edit this PR description to address the above within 72 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

Copy link
Copy Markdown

Hey! Your PR title ci: basic tier named as the merge requirement + event bots consolidated into repo-sweeper (every 15m) doesn't follow conventional commit format.

Please update it to start with one of:

  • feat: or feat(scope): new feature
  • fix: or fix(scope): bug fix
  • docs: or docs(scope): documentation changes
  • chore: or chore(scope): maintenance tasks
  • refactor: or refactor(scope): code refactoring
  • test: or test(scope): adding or updating tests

Where scope is the package name (e.g., app, desktop, opencode).

See CONTRIBUTING.md for details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant