VIEW THIS AS

Auto mode follows the Route Engine until you choose a viewpoint.

YOU ARE HERE

ROUTE CHECK

CONNECTED TO

WHAT NEXT

Use the canonical route for this room, or HELP if you are unsure.

How Superintelligence Works | Agent MQTT Session Recovery — QoS, Retained Messages and Stale Commands

Did you know? A connected AI agent can resume an MQTT connection successfully and still act on the wrong information. A broker may preserve a subscription but discard an expired message; a newly connected client may receive a retained last-known value rather than a fresh measurement; and a Quality of Service 1 acknowledgement may coexist with duplicate delivery. The safe question is not merely whether the agent reconnected. It is what state survived, which messages still mean something, and which real-world actions are authorised.

The practical repair is to treat MQTT transport state, application freshness and action authority as three separate contracts. Use a stable, correctly scoped client identifier and explicit MQTT 5 session settings; inspect the broker’s Session Present flag; validate message timestamps, identifiers, expiry and retained-message meaning; and deduplicate business actions independently of protocol packet identifiers. If a control command is stale or its effect cannot be verified, the agent must not infer permission to execute it again.

This article explains MQTT Version 5 behaviour for today’s agent-operated applications, with source links to the OASIS standard, complete worked timelines, design and failure diagnostics, an independent transfer challenge, and limits for safety-sensitive equipment. The series title does not claim artificial superintelligence currently exists. Every device and timing example is an invented engineering illustration rather than an observed system run.

Contents

The five moving parts hidden inside a simple publish-and-subscribe diagram

MQTT is a publish-and-subscribe messaging protocol. Publishers send application messages to a broker on named topics. Subscribers express topic filters and receive matching messages subject to connection, session and broker rules. An AI agent may be a publisher, subscriber or both: it may watch environmental readings, receive job updates, or send proposed actions to a verified service. A topic name alone does not make any payload trustworthy or give it authority.

The first moving part is the network connection. TCP and TLS connections can be lost while a device’s application logic remains alive or disappears. The second is a client identifier used to associate MQTT state with a logical client. The third is the session state: subscriptions and partially completed QoS exchanges, along with broker-side queued messages as defined by the protocol. The fourth is the retained message store, which is separate from each client session. The fifth is the application’s own durable understanding of commands, observations and effects.

Confusing these layers creates particularly persuasive errors. An agent might report ‘all messages recovered’ because its socket reopened. That says nothing about whether the broker resumed the old session, whether a message expired while offline or whether the downstream system performed an action. A client’s successful CONNECT and CONNACK exchange is a transport milestone, not proof of an application outcome.

The authoritative source is the OASIS MQTT Version 5.0 standard, particularly sections on CONNECT, CONNACK, Session State, PUBLISH and operational QoS. This article deliberately names the version because MQTT 3.1.1 and MQTT 5 express clean-start and expiry behaviour differently. Check the actual protocol version negotiated by your application rather than inferring it from a library package name.

A useful design review starts by drawing five boxes—connection, client identity, session, retained topic state and business action ledger—and tracing a message through each. If an engineer writes only one box called ‘MQTT queue’, the diagram is not yet adequate for safe reconnection. The diagram should show who stores each state, what event deletes it, and what an observer can independently verify.

Clean Start, ClientID and Session Present answer different questions

The MQTT 5 CONNECT packet identifies the client and carries a Clean Start flag. Clean Start equal to one asks for a new session rather than continuation of stored session state. Clean Start equal to zero permits resumption of a session associated with that client identifier if one exists. The desired long-lived behaviour also depends on the Session Expiry Interval. A client that clears its session on every connect cannot expect its prior broker queue to appear as if nothing changed.

The CONNACK Session Present flag matters as independent evidence. The broker sets it according to whether a stored session was actually present and resumed. If the flag says no session, a reconnecting agent must rebuild its subscriptions and any higher-level state it requires. Merely requesting continuation does not create historical messages retroactively. The broker may have restarted, expired state or been subject to an administrative retention limit.

Client identifiers are not access-control tokens. A logical device ID helps the broker match sessions, but authentication and topic-level authorisation must separately establish which producer or consumer can access each topic. If two instances inadvertently reuse the same ClientID, a connection conflict or takeover can disrupt delivery. In a multi-agent environment, assign client identities through trusted configuration and avoid constructing them from untrusted prompt text.

An absent Session Expiry Interval in MQTT 5 defaults to zero. Under the standard, the session ends when the network connection closes if the expiry is zero; a positive interval requests retained session state for a period after disconnection. The special maximum 32-bit value requests an indefinite interval, subject to implementation and operational limits. A long interval is not an instruction that every old measurement will remain relevant forever.

Record the returned Session Present flag and negotiated session-expiry behaviour as diagnostic facts. A successful reconnect with Session Present=false is not necessarily a broker fault; it may be the correct consequence of settings. The agent’s response must depend on these facts rather than optimistic assumptions about what the broker remembers.

QoS zero, one and two are delivery protocols—not business guarantees

MQTT defines three common Quality of Service levels for application-message delivery. QoS 0 is at-most-once transfer: no protocol acknowledgement or retry, so loss is possible. QoS 1 is at-least-once transfer through an acknowledgement exchange: the receiver may encounter duplicates. QoS 2 uses a more elaborate handshake to achieve its stated exactly-once delivery semantics at the MQTT protocol layer. None of these labels by itself proves that an external business transaction happened exactly once.

A Packet Identifier belongs to an MQTT flow, not to an enduring business event. Identifiers are reused when they become available and can refer to a new message after prior handshakes finish. A device-control service that uses a packet identifier as its only idempotency key risks treating distinct commands as one or treating one retried business request as several. Provide a stable application-level command ID with a bounded retention policy.

Imagine an agent publishes an instruction to create a work order. The broker accepts a QoS 1 PUBLISH, but the client’s acknowledgement is lost. The client may retry within the relevant protocol rules. Downstream processing may see duplicate application messages depending on the delivery path and subscription state. The work-order service needs a unique instruction key, an atomic durable record of accepted effects, and a way to query the original result before attempting another creation.

QoS 2 reduces protocol delivery duplicates within a correctly maintained session, but it does not make an attached actuator, database write, payment or cloud API idempotent. A bridge from MQTT to an HTTP API adds another failure boundary. If an HTTP request commits before the bridge receives its response, an MQTT-level ‘exactly once’ promise cannot settle whether retrying that HTTP request would create duplicate real-world work.

The idempotency and uncertain tool-call guide covers that separate application problem. MQTT transport reliability is one part of the engineering story. To build safe agents, define completion evidence at the layer that actually owns the consequential effect.

A retained MQTT message is last-known state, not a fresh event

A publisher can ask a broker to retain a message for a topic. Under the standard, a retained publication replaces the retained message for the same topic, and a qualifying later subscription may receive it even if no new publication has just occurred. This is useful for announcing current configuration or a last reported sensor reading. It is dangerous when software interprets retained delivery as evidence that the underlying source is operating now.

A retained message should carry an application timestamp or monotonic version where the source can establish one. The subscriber also needs an explicit freshness policy. A temperature reading stored at 08:00 may still be a well-formed retained payload at 11:00, yet cannot safely determine what a refrigerated cabinet is doing at 11:00. Without a trustworthy timestamp and clock assumptions, the system should label it ‘last observed’ rather than ‘current’.

Do not use a retained control command as an implicit once-only instruction. A new subscriber may receive that old instruction under the broker’s retained delivery rules and mistakenly execute it as a new request. Prefer retained configuration or state for well-defined topics; publish commands with unique IDs, explicit validity windows and acknowledgements on separate controlled pathways. The server’s retained store is not the same thing as a client session, and expiry of one does not automatically erase the other.

MQTT 5 permits a zero-byte retained publication to remove the existing retained message for a topic under the standard’s specified behaviour. Operational deletion of stale state is not a substitute for permission checks. An agent should not erase another producer’s retained values because it dislikes their age. It should report the stale state to its owner, request fresh observation or use an authorised maintenance operation.

Retain Handling and Retain As Published subscription options can affect how retained publications are delivered or marked. This matters to consumers trying to distinguish an initial snapshot from subsequent traffic. However, the RETAIN flag alone is not a complete provenance record. A service should still carry a declared event type, source identity, timestamp and schema in the application payload.

Message expiry and session expiry control different lifetimes

Session Expiry Interval specifies how long session state may survive after a network disconnection. Message Expiry Interval specifies a lifetime for a particular application message while it awaits onward delivery. These settings answer different questions: whether the subscriber’s stored session remains available and whether a queued message remains eligible to send. A session may survive while some queued messages expire and disappear.

MQTT 5 requires the server to delete an undelivered copy for a subscriber if its Message Expiry Interval has passed before onward delivery begins. Where the server forwards a message with an expiry property, the forwarded interval is reduced by time spent waiting. Therefore a consumer cannot responsibly assume that the original expiry amount remained available after a long queue delay.

For an agent monitoring a building, a short-lived alarm reading may need a small message expiry, whereas an administrative report may remain relevant for hours. That distinction belongs in the application contract. A generic rule to ‘make all expiry intervals very long so nothing is missed’ preserves stale work alongside useful work and increases the risk of harmful delayed action.

The MQTT 5 standard’s Session Expiry property and Message Expiry property are documented separately in the OASIS specification. An additional OASIS document for OpenC2 messages over MQTT explicitly discusses the importance of both intervals in a security-control messaging context. Its guidance illustrates why transport retention and operational meaning must be assessed together.

Application timestamps remain useful even if the broker enforces expiry correctly. A source clock may be wrong or a message may describe a measurement already old when the publisher sent it. Set a policy on maximum acceptable source age and on what to do when clocks cannot be compared reliably. Expiry at the broker is a delivery control; it is not a universal guarantee of data freshness or measurement validity.

Worked recovery timeline: a ten-minute session and two expiring messages

Consider a completely fictional sensor agent subscribed to an MQTT 5 telemetry topic. Its persistent session is configured with Clean Start=false on reconnection and Session Expiry Interval=600 seconds. Assume the session existed and the broker supports the requested retention. The agent’s connection drops at 12:00:00, so the requested ten-minute post-disconnection window nominally extends to 12:10:00. This describes protocol settings, not guaranteed persistence through all broker failures.

While the client is offline, the broker receives message A at 12:01:00, with QoS 1 and Message Expiry Interval=120 seconds. It receives message B at 12:02:00, also eligible for its stored subscription, with an expiry of 300 seconds. Assume each message is queued under ordinary broker operation and there are no capacity policies that discard it earlier. Message A reaches its expiry boundary at 12:03:00. Message B reaches its expiry boundary at 12:07:00.

The client reconnects at 12:04:30, which is four minutes and thirty seconds after the disconnect, or 4×60+30=270 seconds. This is below the 600-second requested session lifetime. If CONNACK reports Session Present=true, the prior session was actually resumed. Message A has already expired and should not be started for onward delivery. Message B has waited two minutes thirty seconds, or 150 seconds, so its remaining expiry at that moment is 300−150=150 seconds.

The correct outcome in this simplified scenario is not ‘two missed messages restored’. It is ‘old session resumed, A expired, B still eligible subject to the broker’s actual delivery rules and connection state’. If B arrives, the agent validates its source and freshness before any interpretation. If the broker returns Session Present=false, no historical queued delivery is presumed even though only 270 seconds elapsed. The agent should re-subscribe and reconcile its observations with an authoritative current snapshot.

Now change the time: the client reconnects at 12:11:40, eleven minutes forty seconds after disconnection, or 700 seconds. That exceeds the 600-second requested session period by 100 seconds. Under normal protocol state expiry, the prior session no longer exists. The agent must treat the new connection as a new session and rebuild subscriptions. A retained topic value, if one exists, is a separate store and may still be sent under the applicable subscription options.

This calculation is about elapsed time and retained protocol state, not evidence that a real broker processed the packets. In practice log CONNECT/CONNACK properties, source timestamps, message identifiers, broker decisions and application effects. If the agent’s own clock is not trustworthy, do not manufacture precise expiry decisions from a wall clock it cannot verify.

Worked duplicate analysis: delivery counts are not effect counts

Suppose a fictional agent processes 40 distinct work-order commands identified by stable business IDs. It receives 43 MQTT deliveries in total because three commands are seen twice following retry or reconnection. If all commands are valid and its deduplication store enforces one completed effect per ID, the application records exactly 40 distinct accepted effects despite 43 deliveries. Without that business-level guard, a naive handler might create three additional work orders.

The share of deliveries that are repeat copies in this invented run is 3/43≈6.98%. The number of extra copies as a percentage of distinct commands is 3/40=7.5%. These denominators answer different questions. Neither establishes a general MQTT duplicate rate. The figures describe only a hypothetical chosen set of messages under one failure path.

An agent should store the command ID, scope, body hash, initial decision, effect status and completion receipt. When a repeated command arrives, compare its content with the stored event: the same ID paired with a different body is a conflict, not an invitation to trust the newest payload. Returning the prior accepted result is different from reperforming the side effect. Some systems may need a bounded expiry and archival policy for deduplication records.

The handler must handle concurrency. If two worker instances process the same ID at once, a simple ‘check whether ID exists, then insert’ sequence can race. Use an atomic uniqueness constraint or transaction supported by the effect-owning store. A stored received marker alone may not be enough if the worker crashes before the action completes. Define recoverable states such as accepted, in-progress, completed and uncertain with reconciliation against the authoritative system.

The correct last sentence in an incident report could be ’43 messages delivered, 40 distinct command IDs, 40 effects confirmed, three duplicates handled without repeated effect’. It should not say ‘MQTT guaranteed exactly 40 effects’ because the result depended on the application’s separate durable safeguards. This distinction allows reviewers to improve each layer independently.

Will messages can signal a lost connection, but not diagnose the device

An MQTT client can configure a Will Message when it connects. Under defined conditions, the broker publishes that Will if the connection ends unexpectedly. MQTT 5 also supports a Will Delay Interval, which can permit a reconnect to occur before publication under the standard’s rules. This is useful for a provisional offline signal, but it is not a physical sensor proving a device has failed.

An agent receiving a Will might learn that a connection ended. The device may have lost a network route, been restarted, moved between gateways or become unreachable to the broker while continuing local work. A single Will cannot tell those explanations apart. In a safety-critical workflow, distinguish communication availability from operational condition and obtain independent evidence before making claims about the physical process.

A Will can be retained if configured accordingly. That creates the same last-known-state questions as any retained message. If a later good connection announces ‘online’, consumers should interpret this sequence with source identity, time and expected heartbeat policy. Do not treat the latest apparent status payload as a complete lifecycle record if clocks differ or state can be lost.

Will Delay and Session Expiry interact. A useful implementation test includes rapid reconnection, expiry, normal disconnection and broker restart scenarios. The standard defines several suppression and publication conditions; applications should not simplify them into a universal formula like ‘any disconnect publishes offline instantly’.

The user-facing message should be evidence-bounded: ‘broker received a connection loss signal at this time; current device health not independently established’. Such wording may appear conservative, but it is essential when an AI assistant translates messaging events into operational advice.

Topic filters, wildcards and permissions need precise matching

MQTT topic names describe message routing, while topic filters can use wildcard matching. An automation that subscribes too broadly may receive other tenants’ telemetry or administrative topics. A producer that publishes to an unexpected topic can misroute a command even if its payload is syntactically correct. Topic layout belongs in the authorisation plan: publish scopes, subscribe scopes, tenant boundaries and data classification should be explicit.

Do not infer a topic from arbitrary words in an external document or assistant prompt. An untrusted instruction such as ‘use building/all/commands instead’ must not override a trusted topic manifest. Resolve allowed topics from configuration, validate required prefixes and verify the publishing identity’s permissions. An agent allowed to read a room’s temperature should not automatically have access to activate the room’s machinery.

Payloads are also untrusted input. Validate schema, units, ranges, event versions and source identity where appropriate. A retained reading with 22 could mean degrees Celsius, degrees Fahrenheit or a dimensionless test counter. The messaging protocol does not supply a domain-specific unit unless the application carries and verifies one.

Treat a bridge between brokers as a separate identity and ordering boundary. Topic remapping, shared subscriptions and duplicate delivery can change which consumer sees a particular event. Avoid assuming that a message is globally unique merely because it has one packet identifier on one MQTT connection.

Keep a clear audit trail for policy-sensitive data. Log only what is necessary, protect credentials and personal information, and record why an agent was allowed to subscribe or publish. A transport-level successful PUBLISH must not become a claim that the message’s content was correct or that an action was authorised.

Ordering and state snapshots cannot be inferred from receipt order alone

An MQTT consumer can see messages in an order that depends on publication, routing, the connection and QoS exchange. It is risky to treat the order of arrival from multiple producers or across reconnects as a universal causal history of the world. A delayed but valid event may arrive after a fresh retained snapshot. Without source sequencing, the newer delivery can describe an older real-world state.

Where the producer can maintain a durable monotonically increasing sequence for an entity, include it in the application payload. On receipt, an agent can compare the sequence with its last accepted version. The agent must account for counter resets, source identity and producer replacement; a sequence number without scope is not globally unique. Store last accepted source and version atomically with any consequential state update.

For independent streams, a single integer may not describe a total ordering. Messages from two sensors could be concurrent, with different clocks and failure paths. The best system may store both readings with uncertainty rather than declaring one universally latest. A state estimate should include which sources contributed and when they were measured.

A new subscriber that receives retained state has obtained a snapshot-like value for a topic, not necessarily the complete history of changes. If history matters, use an application-owned event store with explicit replay semantics and version checks. MQTT retention should not be mistaken for a durable audit ledger.

Reconciliation after a gap can be designed as ‘obtain trusted current state, inspect missed durable business events if available, and apply only still-valid commands’. That is safer than replaying every queued instruction in arrival order without checking whether the world has changed.

Receive Maximum and backpressure protect different resources

MQTT 5 allows Receive Maximum to constrain the number of QoS 1 and QoS 2 publications a receiver is prepared to process concurrently. This is protocol flow control, not a promise that downstream inference, database writes or human review can complete at the same rate. An agent with a slow validation path may still need its own bounded queue and admission controls.

Suppose a consumer can safely verify five control proposals per second while publishers collectively create eight. The backlog grows by approximately three proposals per second while those rates persist and before other limits intervene. In one minute, that’s 3×60=180 additional proposals. This arithmetic is an illustrative rate balance; bursts, expiration, broker policies and varying service times will change real backlogs.

The repair is not to keep everything forever. Define which messages are safe to coalesce, which can expire, which require durable business audit and which demand rejection or escalation. Telemetry updates may allow last-value sampling, whereas audit events or individually authorised instructions may not. QoS selection alone does not decide these distinctions.

Track oldest message age as well as queue length. A queue of ten commands can be unacceptable if each is an hour old, while a larger queue of harmless recent sensor reports may be tolerable. Monitor accepted rate, processed rate, expiry count, duplicate count, confirmed effects and uncertainty. These are different denominators and should be reported separately.

MQTT-specific Receive Maximum works alongside broader safe retry and reconciliation practices. A backpressure policy should preserve the right business outcome rather than merely make transport graphs look smooth.

How to diagnose the failures most often mistaken for reconnect success

Failure one is configuring Clean Start=true and expecting the old subscription to persist. Check the CONNECT settings and CONNACK Session Present. Failure two is leaving Session Expiry at its default zero while relying on offline queueing. Set and verify a retention interval appropriate to the task and confirm broker capabilities. Failure three is assuming a retained value has just been measured. Read its source timestamp, version and declared freshness.

Failure four is treating QoS 1 as exactly-once actuation. Use stable business IDs and a durable atomic effect ledger. Failure five is using a packet identifier as a global event identity. Understand its connection-scoped purpose and reuse rules. Failure six is interpreting a Will as proof that a physical device is damaged. State that it is evidence about the messaging connection and obtain independent health data.

Failure seven is expecting an expired offline message to be delivered simply because the session survived. Compare Message Expiry separately with Session Expiry. Failure eight is assuming a long session stores unlimited work forever. Broker resource policy, administrative actions and failure conditions limit persistence. Failure nine is subscribing to excessive topic scope. Recheck tenant isolation, roles and allowed filters.

Failure ten is claiming that a successful command acknowledgement confirms the intended physical result. The receiver may have only accepted the message. A consequential action needs a separate execution receipt, sensor confirmation or authorised reviewer decision suited to the application. Even a device status report can be stale or mistaken, so the verification method must be appropriate to risk.

An incident playbook should begin at the earliest uncertain boundary: client identity, network connection, resumed session, queued message, application validity, authorised dispatch and verified effect. Repair that boundary first. Do not reorder or replay an entire command backlog to cover up a missing piece of evidence.

Changed-context exercise: refrigerated inventory and an offline maintenance robot

Transfer the same design to an invented refrigerated storage facility. An autonomous monitoring agent may propose maintenance tasks, but a human operator retains authority to actuate machinery. The agent subscribes to telemetry at QoS 1 with a ten-minute session expiry. Its network disconnects at 14:00. A temperature measurement published at 14:02 carries a 90-second message expiry. At 14:05 it reconnects with Session Present=true.

The measurement became ineligible for first onward delivery at 14:03:30 under the stated expiry, a full minute and thirty seconds before reconnect. The agent must not display it as a fresh reading at 14:05. It should request a current measurement, check the instrument identity and use an explicit ‘unknown until verified’ status if no current observation arrives. Session resumption cannot revive the expired measurement.

Now suppose a retained configuration message says the alarm threshold is five degrees Celsius, but it has an application version older than the authoritative configuration store. The agent must reconcile versions and permissions before using it. Retained delivery tells the agent the broker had a stored value; it does not supersede the organisation’s actual configuration authority.

A separate work-order message with an unexpired validity window asks for inspection, not physical actuation. If that command is delivered twice, an atomic ledger creates only one work order for the stable command ID. The ledger’s confirmed receipt is the evidence for work-order creation. A physical repair requires additional human or approved automation steps and independent confirmation.

The lesson survives the changed setting: the broker may preserve transport reliability while the application must preserve meaning and safety. If a factory or building relies on these messages for a safety-critical control system, qualified domain engineers must define the safe state and applicable engineering standards before any agent can operate it.

Where the MQTT guarantees stop and responsible agent decisions begin

MQTT 5 specifies transport and broker-client behaviour under defined conditions; it does not guarantee that every server has infinite persistent storage or survives all hardware faults. Nor does it declare an application payload true, current or safe to act upon. Each deployment needs capability negotiation, monitoring and failure tests against the actual broker and client library.

Clock accuracy and network partitions complicate freshness. A client might believe a message is old because its own clock drifted. The broker may expire queued messages according to its timing mechanisms, but the application still needs a sensible policy for uncertain source clocks. For irreversible decisions, uncertainty should lead to pause or authorised escalation, not invented precision.

Security has several layers. TLS authenticates or protects communication only under its particular configuration, client identities need secure credential management, and topic permissions require proper broker enforcement. A safe agent treats payload instructions as data unless the trusted workflow independently authorises an action. Reconnection does not change the allowed authority.

The article’s numerical cases were invented and explicitly assume normal protocol operation, known times and well-behaved components. They illustrate why different expiry intervals and acknowledgement flows matter. They are not load tests, reliability statistics or measured outcomes for any real facility.

Useful engineering success means verified state recovery and correct bounded action: what session was restored, what expired, what was retained, what was duplicated, and what application effect was actually observed. An answer that says only ‘connected’ or ‘message delivered’ is insufficient for consequential agents.

Frequently asked questions

Does QoS 2 mean an AI agent executes a command exactly once? No. It addresses MQTT delivery under the protocol’s session rules. Application side effects still need stable IDs, durable state and verification, especially across external APIs and bridges.

Is Session Expiry the same as Message Expiry? No. Session Expiry controls retention of a disconnected client’s session state; Message Expiry limits the lifetime of a specific application message awaiting onward delivery.

Does a retained message mean the sensor is currently online? No. A retained publication is stored last-known topic state. Add timestamps, source validation and a freshness rule; connection status and measurement freshness are different facts.

Why did a client reconnect without old subscriptions? It may have used Clean Start=true, requested zero session expiry, reconnected with a different ClientID, or found that the server no longer had its stored session. Check CONNACK Session Present.

Can a Will prove that equipment failed? No. It can indicate connection loss according to configured conditions. The equipment may still be operating; physical condition requires independent evidence.

Can a broker drop messages despite a long session? Resource limits, administrative actions and failures can affect stored state, and a queued message can independently expire. Read the standard and the actual broker’s operational policy.

Should commands be retained? Treat that design with extreme care. Retained command messages can reach new subscribers long after publication. Prefer explicit command IDs, validity, authority and effect receipts rather than treating last-known state as a new instruction.

What should an agent do when reconnection state is uncertain? Report the uncertainty, rebuild authorised subscriptions, obtain trusted current state and reconcile outstanding business actions before attempting retries or real-world effects.

Primary standards and reader pathways

For engineers, read the MQTT Version 5.0 OASIS Standard, especially sections 3.1 CONNECT, 3.2 CONNACK, 3.3 PUBLISH and 4.1–4.3 operational delivery. Configure a test client with two expiry intervals and manually examine Session Present, remaining message lifetime and duplicate handling. Write every assumption alongside the observed broker response.

For application owners, map each topic to a source, an authorised subscriber, an expected schema, a maximum usable age and a consequence of failure. Separate measurement dashboards from actuation. If a decision can affect physical safety or money, require a domain-specific independent confirmation path rather than allowing transport events to authorise it.

For students, reproduce the 600-second session timeline and explain why one message expires before another. Then change the reconnect time and see which pieces of state could still be present. The exercise teaches the broader principle that a successful transfer mechanism cannot determine the truth or importance of the information it carries.

For additional context, visit How Super Intelligence Works, the idempotency recovery guide and the learning-transfer guide. These cover reliable tool effects and independent checking beyond MQTT-specific packet rules.

The primary standard is the authority for normative MQTT claims; the illustrative rate calculations and invented scenarios are explained as examples, not reported executions. Technical decisions should also be checked against actual server conformance and any current deployment-specific requirements.

Discover more from eduKate Singapore

Subscribe now to keep reading and get access to the full archive.

Continue reading