Skip to content

ci: the nine bugbot-gate callers that merged today get their inventory rows - #337

Merged
LukasWodka merged 1 commit into
developfrom
ci/2284-flip-live-gate-rows
Aug 26, 2026
Merged

ci: the nine bugbot-gate callers that merged today get their inventory rows#337
LukasWodka merged 1 commit into
developfrom
ci/2284-flip-live-gate-rows

Conversation

@LukasWodka

@LukasWodkaLukasWodka commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Refs tracebloc/backend#2284

Phase 2 of the bugbot-gate rollout, for the part that has actually landed.

What this closes

Ten callers are liveclaude-skills from the pilot, plus nine merged at 18:33 today (.github, backend, cli, client, client-runtime, docs, e2e-test-agent, release-train, rfcs). Their inventory rows still read exempt, which is the stale-exemption finding at caller-drift.py:2309.

That window is the accepted cost of land the caller first, flip the entry after — the alternative is a phase-2 PR that can never go green. This closes it for the nine.

Derived, not listed

The flip re-reads repo-inventory.yml from disk and confirms each caller by matching the resolved uses: value on that repo's own audit branch — not by filename, and not against a roster written down anywhere. So a required row cannot be written ahead of the caller it claims.

Ten repos stay exempt because their caller PRs have not merged: averaging-service, data-ingestors, design-system, design-system-v2, frontend-app, model-zoo, start-training, tracebloc-engine, tracebloc-py-package, tracebloc-website.

The anchor is retained, and its text has been wrong twice

bugbot_gate_rollout_pending keeps ten citations, so the definition stays. But its prose has now been falsified twice in three days — first asserting "ZERO callers anywhere in the org", then naming only the pilot after nine more landed.

Rather than correct a count a third time, it now says outright that its own list is not to be trusted and points at the anchored grep (anchored deliberately — the bare identifier also matches the paragraph describing it, backend#2507). It also carries its own delete condition for when that grep returns zero, since an anchor left defined-and-uncited is dead prose this file treats as a defect.

One formatting defect caught in review of my own change

The first edit left the inserted lines at a deeper indent than the folded scalar's base, which stopped it folding — the rendered reason came back carrying literal newlines mid-sentence. YAML still parsed, so nothing would have failed; it would simply have rendered badly wherever the reason is quoted. Re-indented to the block base, verified by loading the file and reading the value rather than by looking at the diff.

Not in this PR

No branch protection changes. bugbot / review is required nowhere. The pilot's recommendation stands: Bugbot does not review Dependabot PRs (measured across six repos — every non-draft PR with no cursor run was Dependabot's), so a required context would leave those permanently red with no route to green.


Note

Low Risk
Inventory-only contract updates for CI drift detection; no runtime or auth changes, and Bugbot is not armed as a required merge check here.

Overview
Phase 2 of the bugbot-gate rollout (backend#2284): after caller workflows landed in nine repos plus .github, this PR updates repo-inventory.yml so bugbot-gate.yml is required instead of exempt: *bugbot_gate_rollout_pending for .github, backend, cli, client, client-runtime, docs, e2e-test-agent, release-train, and rfcs (the pilot claude-skills row was already required).

Repos whose caller PRs have not merged still cite the shared anchor (e.g. averaging-service, data-ingestors, design-system, frontend-app, and others). The bugbot_gate_rollout_pending prose is rewritten so it no longer asserts a caller count that has been wrong twice; it tells readers to re-derive remaining exempt repos with the anchored grep and to delete the anchor when that grep returns zero.

This closes the stale-exemption side of the “land caller first, flip inventory after” sequence so caller-drift matches audit-branch reality. Branch protection is unchangedbugbot / review is not made a required status check in this PR.

Reviewed by Cursor Bugbot for commit b40636a. Bugbot is set up for automated code reviews on this repo. Configure here.

…2284)
Ten bugbot-gate callers are now live (claude-skills from the pilot, plus
nine merged 18:33 today). Their rows still read exempt, which is the
stale-exemption finding at caller-drift.py:2309 -- the accepted cost of
land-the-caller-first, and this closes it.
Derived, not listed: the flip script re-reads repo-inventory.yml from disk
and confirms each caller by matching the resolved `uses:` value on that
repo own audit branch, so a required row cannot be written ahead of the
caller it claims. Ten repos whose PRs have not merged stay exempt.
The anchor is RETAINED at ten citations and its text corrected. It has now
been wrong twice -- first asserting ZERO callers org-wide, then naming only
the pilot -- so it now says outright that its own list is not to be trusted
and points at the anchored grep instead. It also carries its own delete
condition for when that grep returns zero.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@LukasWodkaLukasWodka self-assigned this Aug 25, 2026
@LukasWodkaLukasWodka changed the title ci(2284): the nine callers that merged today get their rowsci: the nine bugbot-gate callers that merged today get their inventory rowsAug 25, 2026
@LukasWodka

Copy link
Copy Markdown
ContributorAuthor

Retitled to drop 2284 from the title, because the closing-ref gate refuses a title that names a ticket the PR does not link — and this PR must not link it: ten repos are still exempt, so Closes tracebloc/backend#2284 would close the epic's largest remaining item while more than half the rollout is unmerged.

This is the first PR to hit that gate since it reached main — three same-shaped PRs earlier today (.github#333, .github#336, backend#2519) show closing-ref: absent. So the finding below is new information, not a known wart.

Recorded as backend#2364 follow-up rather than worked around silently — see that ticket.

@saadqbalsaadqbal left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checked both directions of this by hand, because a required row for a caller that isn't there parks every PR in that repo at "Expected — waiting for status" forever, and that's the whole risk in a flip like this.

All ten required repos have bugbot-gate-caller.yml on the branch the audit reads — .github, backend, claude-skills, cli, client, client-runtime, docs, e2e-test-agent on develop; release-train and rfcs on main. All ten still-exempt repos genuinely don't have it. No row is ahead of its caller and no landed caller was missed, which is the pair of mistakes available here.

The anchored grep returns 10, matching the ten exempt rows exactly — so the anchor is neither over- nor under-cited.

Giving up on the count in the anchor's prose is the right move, and the reason you give for it is the better half: it's been falsified twice in three days, so "do not trust that list either — re-derive it with the anchored grep below" is the only form that can't go stale. Same for DELETE THIS DEFINITION when that grep returns zero — the exit condition is stated rather than left for someone to notice.

@LukasWodka
LukasWodka merged commit e709b44 into developAug 26, 2026
18 of 19 checks passed
@LukasWodka
LukasWodka deleted the ci/2284-flip-live-gate-rows branch August 26, 2026 06:18
Sign up for freeto 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.

2 participants

@LukasWodka@saadqbal