بنقرة واحدة
rsyslog-pr-babysitting
// Monitor rsyslog pull requests after push or rerun, including GitHub Actions checks, unresolved review threads, bot comments, reruns for known flakes, and concise status reporting.
// Monitor rsyslog pull requests after push or rerun, including GitHub Actions checks, unresolved review threads, bot comments, reruns for known flakes, and concise status reporting.
| name | rsyslog_pr_babysitting |
| description | Monitor rsyslog pull requests after push or rerun, including GitHub Actions checks, unresolved review threads, bot comments, reruns for known flakes, and concise status reporting. |
Use this skill when babysitting an rsyslog PR after pushing, rerunning CI, or waiting for review. Babysitting is incomplete unless both CI status and unresolved review threads have been checked. Read review comments as part of babysitting, including bot or CI comments that explain failed or skipped jobs.
When a user says "babysit PR", the default goal is to watch and act until the PR is fully babysat (see stop conditions below), then stop. Do not keep polling until merge unless the user explicitly asks for merge-time monitoring.
Run this decision table on every poll before deciding whether to report, fix, or keep waiting:
actionable/simple, needs maintainer decision, external/unresolvable, or
response-only.Use gh pr view for check rollups:
gh pr view PR_NUMBER --repo rsyslog/rsyslog \
--json statusCheckRollup,reviewDecision,mergeStateStatus,mergeable,state,headRefOid,url
Treat mergeable: CONFLICTING or mergeStateStatus: DIRTY as an
actionable blocker, not just a status to report. Before resolving it, fetch
official upstream main freshly, for example:
git fetch upstream main --prune
Then rebase or merge the PR branch onto that fetched upstream/main, resolve
conflicts locally, validate the affected files, and push the updated branch.
Do not rely on the fork's origin/main for conflict resolution.
For failures, inspect logs before guessing:
gh run view RUN_ID --repo rsyslog/rsyslog --job JOB_ID --log-failed
gh api -H 'Accept: application/vnd.github+json' \
/repos/rsyslog/rsyslog/actions/jobs/JOB_ID/logs
If a failed test is a known or likely flake, record the failing test name and reason, then rerun failed jobs only:
gh run rerun RUN_ID --repo rsyslog/rsyslog --failed
Do not change code for CI failures until the failing path has been tied to the PR's changes.
Fetch review threads with GraphQL. Flat PR comments are not enough because they
omit thread state. If a GitHub review-comment skill is available, use its
thread-aware fetch helper; otherwise query reviewThreads directly:
gh api graphql \
-F owner=rsyslog \
-F repo=rsyslog \
-F number=PR_NUMBER \
-f query='
query($owner:String!,$repo:String!,$number:Int!) {
repository(owner:$owner,name:$repo) {
pullRequest(number:$number) {
reviewThreads(first:100) {
nodes {
isResolved
isOutdated
path
line
originalLine
comments(first:20) {
nodes { author { login } createdAt body }
}
}
}
}
}
}'
For each unresolved, non-outdated thread, track:
When the PR branch belongs to the current agent task or the user has asked the agent to babysit its own PR, simple review comments are part of the babysitting work. Handle small, localized fixes directly, validate them, and push the updated branch. Examples include typo fixes, documentation wording, metadata formatting, simple example corrections, and narrow test expectation updates.
When reviewing or adjusting test assertions, apply the oracle rule from
tests/AGENTS.md: diagnostics emitted by rsyslog itself should normally be
asserted through the configured rsyslog output destination after synchronized
shutdown, not through rsyslogd stdout/stderr. Treat stdout/stderr diagnostic
oracles as actionable unless the test documents a specific exception.
AI review comments need an explicit GitHub reply so later readers know the
comment was considered. If the requested change was implemented, a short
Done. reply is sufficient. If the comment is invalid, not applicable, or not
implemented, reply with the specific reason.
Do not push fixes for PRs outside the agent's write scope, broad design changes, compatibility changes, ambiguous review requests, or anything requiring maintainer policy judgment. Report those once and stop or pause polling. Do not reply to non-AI reviewers or resolve threads unless explicitly asked.
When reporting, separate:
If all checks pass but unresolved actionable review threads remain, say the PR is not fully babysat yet.
Ensures compliance with rsyslog's strict commit message and branching policies.
Mirror rsyslog run_checks.yml container validation locally, including Cubic review where applicable, the clang static analyzer job, the change-gated Ubuntu 26.04 run-ci.sh check run, service-skip validation, clean-tree rules, and container path caveats.
Guidelines for maintaining structured, RAG-optimized documentation and module metadata.
Standardizes testing and validation for rsyslog using the diag.sh framework.
Orchestrate long-running rsyslog issue-fix sessions with a rolling active set of work units, local issue cache use, separate worktrees, full validation gates, PR babysitting, merged-PR cleanup, and automatic refill until the selected issue class is exhausted.
Maintain rsyslog ChangeLog entries by selecting important user-visible changes, matching the release-note style, and avoiding low-signal commit-log duplication.