Robot Market · Quick reference · Lessons 5–7
From bytes to a matched command result
Use this map to locate the boundary where a failure happened. An event in one row does not automatically prove the next row.
| Stage | Code owner | Success means | Still does not prove |
|---|---|---|---|
| Route + contract | topic.go builders/parser, Decode | Publish names and filters are distinguished; topic shape and typed payload passed validation. | Who published; Mosquitto ACL owns that access decision. |
| Application state | Service + store | A use case updated the in-memory view or recorded an outcome. | That the record survives a process restart. |
| Queue admission | Bounded dispatcher | Work entered a finite RAM queue or returned Full/Stopping. | That a worker completed or that MQTT will redeliver. |
| Command publish | AutoPaho adapter | PUBACK acknowledged the QoS 1 publication hop. | That the device received, accepted, or completed the business action. |
| Device result | Response handler + command store | Validated device/application evidence matched identity and correlation. | Authenticity without broker and application authorization. |
| HTTP status | HTTP handler | The API represented its current known command state. | That an asynchronous device operation is already complete. |
Parse + validate
→Apply use case
→Admit bounded work
→Publish + correlate
→Report evidence
Fast incident questions
- Which process produced this evidence?
- What state changed, and where does it live?
- Could the earlier stage have acknowledged before this stage finished?
- What does restart, timeout, or queue saturation erase or leave unknown?