Skip to content

ci(prompt): add post-adoption checks and an Aftermath section - #21

Merged
eilandert merged 2 commits into
mainfrom
aftermath
Aug 4, 2026
Merged

eilandert merged 2 commits into
mainfrom
aftermath

Conversation

@eilandert

@eilandert eilandert commented Aug 4, 2026 •

Copy link
Copy Markdown
Member

Follow-up to #19. Adds the five close-out items requested after that PR merged.

TL;DR

Two of the six are checks that produce fixes, so they get their own step
ahead of the report rather than becoming sentences in it. The other four are
offers, so they join the section that already asks the user what to do next —
renamed from "Then ask, and only then" to Aftermath.

Old step 24 becomes 25. The prompt is now 25 steps in 6 phases.

New step 24 — post-adoption checks

Both are only checkable once every PR has merged.

Unresolved bot replies across every PR the job opened. A review bot replies on
its own schedule; CodeRabbit rate-limits per developer, so a review can arrive
after you merged and a reply to your reply arrives later still. Nothing notifies
you, and a merged PR is not a closed conversation. The step distinguishes two
cases that look identical from the checks list: a finding you never answered, and
a commit that was never reviewed at all because the bot could not start. The
second is a coverage gap to state, not silence to read as clean.

The linter set is the target's, not the reference's. Step 15 kept every
checker the target already ran, but that was a merge decision made early and the
file set has moved since. Three failure modes, all of which report clean: a
language present with no checker, a checker whose language left the repo, and
LINT_ONLY in lint.yml naming a checker that does not exist. Nothing
cross-checks that string against the scripts on disk.

Aftermath — four added offers

Each costs real CI time or changes code the adoption deliberately did not touch,
which is why they are offered rather than taken:

  • Optimise or kick off the CI workflows — ci-deep.yml and bump.yml are
    schedule-driven and have never run on a freshly adopted module, so nothing has
    proven they work outside the PR lane. Trigger them now rather than discovering a
    broken cron in four weeks, and state the runner cost first.
  • Broaden the dynamic analysis — valgrind, helgrind and fuzzing were ported at
    reference shapes and verified to fire. Widening is separate work, and the offer
    must name the specific gaps found; "more fuzzing" without a target buys little.
  • Increase coverage — report the figure and the never-taken branches, then
    offer cases for them. Coverage stays a report and not a gate: the offer is more
    meaningful assertions, each with its negative control, never a higher number.
  • Anything left uncommitted or unpushed — separates three classes so the offer
    cannot destroy anything: work of yours that never landed (and was therefore
    invisible to run-all.sh, which reads git ls-files), the pre-existing dirt
    recorded at step 1 which stays untouched, and the superrepo gitlink bump, which
    is invisible from inside the target.

Report question 6 is new, carrying the bot-review coverage fact out of step 24.

Testing

No executable content. Verified mechanically:

  • headings run 1–25, no gaps, no duplicates
  • every step N reference resolves to a heading that exists (no danglers)
  • no surviving step 24-as-last, 1–24, 23–24, the 24-step job, or
    "four follow-up questions" reference
  • phase table and report question count updated to match

The cross-reference sweep grepped the numbering vocabulary rather than the
sentences changed, which is what caught the 24-step job in the forwarding
section at the end of the file.

Two of the five requested items are checks that produce fixes, not
reporting, so they get their own step ahead of the report: unresolved bot
replies across every PR opened (a review can arrive after merge, and a
rate-limited bot leaves commits unreviewed behind a green checks list),
and whether the linter set still matches the languages this repo
actually contains.

The other three are offers, so they join the section that already asks
what to do next - renamed from 'Then ask, and only then' to 'Aftermath':
trigger and re-measure the scheduled workflows, widen valgrind/helgrind/
fuzzing at named gaps rather than in general, and add coverage cases for
the branches gcovr shows as never taken.

Old step 24 becomes 25; the phase table, the report question count and
every cross-reference move with it.
@coderabbitai

coderabbitai Bot commented Aug 4, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

@eilandert, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 15 minutes

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

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 6ed21dc0-71ee-43c6-9809-b7c0c96919e8

📥 Commits

Reviewing files that changed from the base of the PR and between b65c6c9 and 1f1c822.

📒 Files selected for processing (1)
  • ci/PROMPT.md

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.

Separates three classes so the offer cannot destroy anything: work of
yours that never landed (and was therefore invisible to run-all.sh, which
reads git ls-files), the pre-existing dirt recorded at step 1 which stays
untouched, and the superrepo gitlink bump - invisible from inside the
target and the easiest thing in the job to forget.
@eilandert
eilandert merged commit 015232e into main Aug 4, 2026
14 checks passed
@eilandert
eilandert deleted the aftermath branch August 4, 2026 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant