Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk2 min

My CI Check Passed Every Build for Four Days. The JSON Said {}

A native executable emitted empty JSON finding objects, but CI stayed green because its Action counted a field that was missing. The author traced the issue to unregistered Jackson reflection access and a smoke test that checked only the exit code.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A CI check can pass while its report is broken if the check counts fields that have silently disappeared. In this incident, the author of DocsWatcher traced empty JSON finding objects in a GraalVM native binary to missing reflection metadata for Jackson. The JVM tests passed, and a native smoke test checked only the exit code—not the report contents.

How could a check pass when its JSON findings were empty?

DocsWatcher scans code for API calls with announced shutdown dates, including OpenAI models and Stripe API versions. Its GitHub Action runs the CLI, reads its JSON report, counts findings marked breaking, and fails the step if that count is above zero.

As an Amazon Associate I earn from qualifying purchases.

According to the author’s incident account, the native executable emitted an empty object for each finding. The Action therefore had no severity field to count and treated the report as having no breaking findings. The green result reflected what the check could read, not whether the report was complete.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why did the native executable lose the fields?

The author attributed the serialization failure to GraalVM Native Image’s closed-world reachability model. Jackson accessed Java record methods reflectively, but the Finding record’s accessors had not been registered for reflection in the native build. Without that metadata, the native executable could produce finding objects without their expected fields.

The reported fix was reachability metadata listing the record accessors, including severity and change. The author also reported a related failure for findings with multiple locations: the Evidence[] array type needed registration too.

Why did the tests miss the defect?

JVM tests exercised a different runtime

The unit tests ran on the JVM, where the reflective access worked in this case. They did not establish that the native executable could serialize the same records correctly.

The smoke test checked status, not content

The release smoke test ran the native binary against a repository containing a breaking finding and checked that the process exited with code 1. Because the CLI returned the expected exit code, the test passed even though its JSON report had lost the fields the Action relied on.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What should a native CLI release test verify?

The author’s corrective approach was to test the report produced by the actual native artifact on each platform’s runner, rather than treating a successful process exit as proof of correct output.

  1. Run the built native executable against a fixture that is expected to contain a breaking finding.
  2. Parse its JSON output and assert that the expected finding fields are present, including a severity value of breaking.
  3. Check both the process exit status and the report content; neither check substitutes for the other.
  4. Make the Action reject findings that lack severity instead of allowing malformed data to look like a clean scan.
  5. Include cases with multiple locations so serialization of the Evidence[] type is exercised as well.

This is the lesson of one reported incident, not evidence of how often native-image serialization defects occur. The account appeared in a DEV Community search result accessed October 7, 2026; the article page itself could not be fetched for direct verification. Its release claims, including that the fix is in v0.3.0 and later and that the v0 tag points to the fixed release, are therefore attributed to the author rather than independently confirmed.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.