Hacker Newsnew | past | comments | ask | show | jobs | submit | Bridgexapi's commentslogin

I run GrapheneOS now 2 year :) always working fine

Not found


useful, especially for async teams

one thing though: a lot of “bad questions” come from systems giving incomplete signals

200 OK no errors in logs

but the actual failure happens after the request (timing, retries, downstream)

so people aren’t asking poorly they’re asking from incomplete signals


one thing that always felt off to me is how much focus goes into how access is granted and rotated, and much less into what actually happens after that access is used

even with short-lived or well-scoped credentials, the behavior behind them can still be pretty opaque depending on the system

so you reduce risk on access, but what happens after can still be hard to reason about or observe


everything says success in logs but the result happens later and can be completely different

had cases where messages were accepted instantly but delivered much later or not at all

wonder how others deal with this gap


this is exactly where it gets tricky

once you give something the ability to send messages or trigger actions, it’s not just read access anymore, it’s execution on your behalf

it looks simple from the outside, but there’s usually a lot of hidden behavior underneath (routing, timing, provider handling, etc)

so the question becomes less about access and more about how controlled and observable that execution actually is

curious if you’re thinking about exposing that layer, or keeping it abstracted away


been running into this a few times in production

api returns success, everything looks fine, but the actual result happens later and sometimes doesn’t match what you expect

especially with async stuff, queues, external providers, timing between systems

wrote this to try and map out what’s actually happening between “request handled” and the final outcome

curious how others think about it



yeah fair, a lot of this exists in different forms already

for me it wasn’t really about the idea itself, more how often this still trips you up in real systems

things look identical at the API level, same response, same logs, but the actual outcome drifts depending on what happens after

that’s the part that kept biting me in production, so tried to break that down a bit more concretely


i don’t think this is really about 200 vs 202

even if you return 202 + pending, you still have the same issue underneath the outcome depends on work that happens outside the request

queues, retries, third party stuff, timing between systems

you can model it nicer in the api, but you still don’t really control when or if things actually finish the way you expect

that’s been the tricky part for me in production not the status code, but the gap between “request handled” and “did the thing actually happen”


yeah fair

200 is correct at the protocol level, no argument there.

I think where it gets confusing is that people treat it as “done”, while in a lot of real systems it just means the request got accepted and handed off.

after that it’s queues, providers, retries, all kinds of stuff you don’t really see.

so you end up with “success” at the API layer but still inconsistent outcomes.

that’s mostly what I’ve been running into in production.

curious how others think about that.


Fair point.

This came from debugging a few production cases where everything looked fine at the API level, but delivery still varied depending on downstream handling.

Probably should’ve made that less abstract and more concrete.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: