Evidence-first verification for systems code
Find what breaks before it merges
Agentic SQA investigates every pull request in your C codebase and reports likely defects with evidence: the suspected failure mode, the exact scope and the next step. When there is nothing real, it stays silent.
No card required · 100 reviews a month · You choose the repositories
Security and data handlingA finding, not a hunch
This is what lands on a pull request. Not "consider reviewing this file." A specific risk, the suspected failure mode, the exact scope and what to do next.
AI solved writing code. Trusting it is the hard part.
AI multiplied the volume of code changes. It is multiplying opinions about them too: every tool can now leave a plausible remark on a pull request. Plausible is not the bar in systems code.
The scarce layer is verification. Knowing which risks are real before they merge. That is the product. Findings name the suspected failure mode, scope the affected code and carry the reasoning, so maintainers judge on evidence, not vibes.
And when nothing clears the bar, you hear nothing. Noise is a tax. We do not charge it.
From install to evidence
Install the app.
Connect your repositories through the IR Labs GitHub App, Foundry Verify. You choose exactly which repositories it can see.
Open a pull request.
Reviews trigger automatically on the repositories you enable. No pipeline changes and no config files.
The agent investigates.
It analyzes the change in the context of your codebase, not just the diff.
When a risk clears the bar, a finding lands in the PR.
Risk, suspected failure mode, scope and next steps, posted as a comment with a check-run status.
Control what gets reviewed
Every workspace includes a management console. See usage at a glance, turn repositories on and off without touching GitHub, manage billing through Stripe and reach support in one click.
Made for the hard layer
Kernel modules, device drivers, firmware, embedded targets and the C libraries everything else stands on. The code where a bad merge costs weeks, not minutes. If your world has hardware targets, real-time constraints or a kernel tree in it, this was built for you. Any team can connect a repository in minutes.
Start free
100 reviews a month, free. Basic raises the limits for $20 a month. Enterprise conversations welcome.

Caution
This change likely introduces a bug. If it does, the bug would be reachable now.
Summary
The change adds
power_profileas a sysfsprofileindex forrocket_power_profiles, but the range check acceptsARRAY_SIZEas an index. Writing3topower_profilecan pass throughrocket_power_profile_apply, selectrocket_power_profiles[3], and readcfg->autosuspend_delay_msforpm_runtime_set_autosuspend_delay. The path is reachable afterrocket_probecallsrocket_device_initand registers the attribute group containingpower_profile.What would trigger it
3" to the devicepower_profilesysfs attributeEvidence and checks
15-28define the three-entryrocket_power_profilesarray, while the checkprofile > ARRAY_SIZEacceptsprofile == 3before indexing one element past the arrayrocket_sysfs.c:15-2897-110showavailable_power_profilesiteratingi < ARRAY_SIZEandapplyandgetdereferencingprofileas a direct subscript, soARRAY_SIZEitself is not a validprofileindexrocket_sysfs.c:97-11070-87showpower_profile_storereturning errors fromkstrtouintbut otherwise callingrocket_power_profile_apply(rdev, profile), whereprofile == 3setscfgtorocket_power_profiles[3]and readscfg->autosuspend_delay_msinpm_runtime_set_autosuspend_delayrocket_sysfs.c:70-87160-183showrocket_probecallingrocket_device_initon first core probe, androcket_device_initcallingrocket_power_profile_init, which adds the attribute group containingpower_profilerocket_drv.c:160-183Why we think it's a bug: A direct subscript into
rocket_power_profilesmust useprofile<ARRAY_SIZE(rocket_power_profiles);profile==ARRAY_SIZEis out of bounds.Have feedback? Put it in a reply.