Proposal: lightweight tooling to catch missing ChromeStatus feature approvals

27 views
Skip to first unread message

Helmut Januschka

unread,
Sep 12, 2025, 7:25:22 AMSep 12
to blink-api-owners-discuss

Hi all,

while working on a recent CL, I managed to forget about the ChromeStatus feature approval process. Weeks later, after finally getting the CR+1, I hit “Submit” without realizing the feature entry wasn’t fully approved yet. The revert + postmortem that followed were a good lesson learned for me — but it also got me thinking about whether we could reduce the chance of this happening again.

As an after-work experiment, I threw together a small PoC tool called Scooby:
https://github.com/hjanuschka/scooby

Scooby queries the ChromeStatus API for a given CL, checks the “Prepare to Ship” gates, and returns whether all required approvals are present (with nice table output, or JSON + exit codes for bots). For me personally, it already serves as a reminder before submitting.

One idea for wider use could be something similar to the fuchsia size bot (it fails and explains, and shows options to bypass):

  • If a CL touches a WPT, it would require a CS-Feature-ID in the commit message (e.g. CS-Feature-ID: 12345).

  • If missing, the bot would fail and display a short explanation.

  • For unrelated cases, contributors could explicitly bypass with CS-Feature-ID: irrelevant.

This way, contributors are nudged to think “does this change need a feature entry?” without adding too much overhead.

Of course, this is just a PoC and might not be the right fit for infra — and it depends on CLs being linked to feature entries in the first place, which is part of the broader challenge. But I figured it’s worth sharing in case it sparks ideas or discussion.

Let’s see where it goes — no emotional bonding, if the idea is crap happy to dig a grave for it.

Best,
Helmut

Yoav Weiss (@Shopify)

unread,
Sep 12, 2025, 7:57:52 AMSep 12
to Helmut Januschka, Jason Robbins, blink-api-owners-discuss
A few initial thoughts:
* This is extremely neat!!
* Adding a CS-Feature-ID for every CL that changes any WPT feels like a chore (but maybe that's just me)
* Maybe there are ways to get around that? Can the BUG id be linked to chromestatus feature somehow?

+Jason Robbins for thoughts on the chromestatus API and linkability to crbugs

--
You received this message because you are subscribed to the Google Groups "blink-api-owners-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-api-owners-d...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-api-owners-discuss/38945825-3549-492e-b0b7-20474f3a4bdfn%40chromium.org.

Helmut Januschka

unread,
Sep 12, 2025, 9:04:12 AMSep 12
to Dominic Farolino, Yoav Weiss (@Shopify), Jason Robbins, blink-api-owners-discuss
all true, approach with WPT changes seems too heavy, having a dedicated field on the chromestatus, for WIP CL that can be queried via api would be best.
then it is up to reviewer/autor to connect CL<->chromestatus (in my case this would have been done) - and once connection is made - bots could run and check!


(forgot reply all)

Am Fr., 12. Sept. 2025 um 14:55 Uhr schrieb Dominic Farolino <domfa...@google.com>:
* Adding a CS-Feature-ID for every CL that changes any WPT feels like a chore (but maybe that's just me)

It's also me! Let's please steer clear of adding more process like this around CLs. My strong opinion is that it's too heavy-handed an approach!

I haven't looked closely at what the tool does otherwise, so I'm open to more softer approaches. I just wanted to comment on the "auto fail all CLs that touch WPTs without a CS-Feature-ID in the commit description" bit.

Dominic Farolino

unread,
Sep 12, 2025, 1:12:47 PMSep 12
to Yoav Weiss (@Shopify), Helmut Januschka, Jason Robbins, blink-api-owners-discuss
* Adding a CS-Feature-ID for every CL that changes any WPT feels like a chore (but maybe that's just me)

It's also me! Let's please steer clear of adding more process like this around CLs. My strong opinion is that it's too heavy-handed an approach!

I haven't looked closely at what the tool does otherwise, so I'm open to more softer approaches. I just wanted to comment on the "auto fail all CLs that touch WPTs without a CS-Feature-ID in the commit description" bit.
On Fri, Sep 12, 2025 at 7:57 AM Yoav Weiss (@Shopify) <yoav...@chromium.org> wrote:

Daniel Bratell

unread,
Sep 13, 2025, 4:32:04 AMSep 13
to Helmut Januschka, Dominic Farolino, Yoav Weiss (@Shopify), Jason Robbins, blink-api-owners-discuss

I have not read the post-mortem (is it public?), but to me this was just a mistake, which happens, and it was corrected. Mistakes seem relatively uncommon and the process is already a bit scary so I would not want to make life any more complicated for the common development path because of it.

There is a an implicit check when code that toggle feature related flags is reviewed, but as you noticed, not all changes need to touch those flags.

I could imagine something (very quick-off-the-cuff-thinking) where chromestatus knew of the main development bug and somehow reminded the code author of the current stage in the process when, or after, you commit a change. A human would still have to notice and determine if there is a conflict, but it would have prevented this, I guess?

/Daniel

Reply all
Reply to author
Forward
0 new messages