latest build failed and badge in README should show failure
https://cirrus-ci.com/build/4821354109468672
latest build failed and badge in README shows success

https://github.com/brianegan/flutter_architecture_samples
This may be a transient issue, and may not be easily reproducible.
(Also, by the time you look at it, the problem may be gone due to a follow-on build)
It looks like it is cached
I have the same problem with badge showing failure while it's actually passing now. It's been more than an hour since.
The badge URL returns a HTTP/2 307 (glorified 302) with cache-control: no-cache for me. Indeed, the Location header is correctly pointing to Succeeded badge. This might as well be an issue with Camo, in which case there's a way to purge it manually, but I couldn't find any pointer.
I've reached the GitHub support and they passed the feedback to engineering team but I haven't heard from them. It seems GitHub renderer respects headers of the final link rather than the redirect. If they won't respond with some actions within few days we'll need to workaround it by probably proxing the badges with the right cache control.
It looks like it has been resolved

@mmcc007 probably cached got invalidated. Don't see any confirmation from GitHub folks. Let's keep the issue open until we can verify that badge update will be properly propagated to Markdown. 馃檶
Cirrus proxies the badges now:
$: curl -I https://api.cirrus-ci.com/github/brianegan/flutter_architecture_samples.svg
HTTP/2 200
date: Wed, 22 May 2019 17:17:50 GMT
cache-control: no-cache
content-type: image/svg+xml
content-length: 948
via: 1.1 google
alt-svc: clear
Once cache is invalidated it should work properly.
Had to revert the change since it increased CPU load too much on the front-end because of the additional not CDN cacheable IO. Will investigate what to do about it. 馃槳
I've profiled and rewrote the serving part and now it's been running for a few hours without notable CPU spikes as before. Now Cirrus is serving the badges directly and controls caching.
Once Camo caches are invalidated you should see always up-to-date badges.
Most helpful comment
Had to revert the change since it increased CPU load too much on the front-end because of the additional not CDN cacheable IO. Will investigate what to do about it. 馃槳