Home/Concepts/Observability versus monitoring in software in supply chains
Observability versus monitoring in software in supply chains
Observability names the last distinction that matters in intake. Once a system retains unaggregated, timestamped, attributed observations from every stream it can reach, and keeps…
Where the term came from
Rudolf Kálmán gave observability a precise meaning in 1960: a system is observable if you can determine its internal state entirely from a finite record of its outputs. It was a control theory result, built for engineers who needed to know whether a spacecraft's true position could ever be recovered from what its sensors reported. The word stayed inside that discipline for five decades.
It crossed into software around 2016. Charity Majors and the engineers at Honeycomb were trying to name something Google's 2010 Dapper paper on distributed tracing had already demonstrated at scale: that microservice architectures fail in ways nobody pre-declares. A dashboard built from twelve known metrics answers questions about twelve known failure modes. It says nothing when the thirteenth mode arrives, because the thirteenth mode was never counted. The fix was not more dashboards. It was retaining the raw, high-cardinality event — every request tagged with customer, build, region, shard — so that an engineer could ask an unanticipated question after the fact and get an answer without shipping new instrumentation. Monitoring fixes the question set at design time. Observability keeps the question set open by keeping the data unaggregated.
That distinction is about intake, not about dashboards. It is worth stating plainly before turning to freight, because supply chains are running the same argument today, one filing at a time.
The plan that survived the wrong assumption
A supply planner builds a plan on a stack of assumptions: a port has capacity, a supplier's factory is compliant, a tariff schedule holds for the quarter, a vessel's transit time is what it was last month. Each assumption is monitored, in the strict sense — there is a dashboard tile for port throughput, a threshold alert for late shipment counts, a quarterly review of tariff codes. Each tile answers the question someone thought to ask when the system was built.
The characteristic failure is not that a tile turns red. It is that a tile nobody built goes unread. A supplier files a change of beneficial ownership with a customs authority in a jurisdiction three tiers down the chain. A port authority issues a telemetry update revising berth allocation for a category of vessel the plan depends on. A tariff notice, published on a government gazette rather than pushed to any feed the planning system watches, reclassifies a component's country of origin. None of these are anomalies in the monitored sense — nothing crossed a threshold, because no threshold existed to cross. The plan does not fail loudly. It keeps running, correct by every metric it was built to check, until the assumption it was quietly resting on turns out to be false, weeks after the filing that invalidated it was public.
This is monitoring's blind spot reproduced exactly: the unobservable set is not what the sensors missed by accident, but what nobody declared a sensor for.
What a wide event looks like on a wharf
Observability's answer in software was the wide, unaggregated event: one record per request, carrying every dimension that might later matter, rather than a handful of pre-computed averages. The freight equivalent is a wide event per shipment, per filing, per berth allocation — not "on-time percentage by lane," which is already an aggregate, but the shipping manifest itself, the port telemetry ping, the supplier's regulatory filing and the tariff notice, retained whole, with timestamp and source, and kept queryable while the shipment is still moving.
The difference is not volume for its own sake. A planning system that ingests ten times more data but still only stores lane-level averages has scaled its monitoring, not changed its category. The category changes when the underlying filing — the actual customs reclassification document, the actual berth-allocation update, not a summary flag derived from it — remains present and re-queryable after the fact, so that when a plan breaks, the planner can ask "which shipments touched this supplier's altered ownership structure" and get an answer built from records that were never tagged with that question in mind.
| fixed at design time | retained and re-queryable | |
|---|---|---|
| what's kept | lane averages, on-time percentage, threshold alerts | manifests, port telemetry, filings, notices, with source and timestamp |
| what breaks it | any failure mode not pre-declared | budget, schema, honesty of the source feed |
| planner's recourse | wait for the next dashboard redesign | ask the unanticipated question against the existing record |
Three generations of the same intake problem
The recurrence is not decorative. It is the same structural gap that runs through the sequence from Large Language Model to Large World Model to Large Universe Model, and supply chain planning happens to sit exactly on that axis.
A planning system built on a frozen corpus of historical shipment records and past tariff schedules is doing monitoring at civilisational scale: everything it knows was fixed at a cutoff, and a filing published the day after that cutoff is, to the system, indistinguishable from a filing that never existed. That is the Large Language Model position — comprehensive over its snapshot, silent beyond it.
A planning system with live port telemetry and current manifests, reasoning over the state of a specific voyage or a specific quarter, has genuine observability over a bounded scene. It can answer questions nobody anticipated about this shipment, this berth, this week. But the window closes at the edge of the scene it was built to model. Ask it about a supplier filing from a jurisdiction outside its scope, or a tariff notice that lands after the episode it was configured around, and it has nothing. That is the Large World Model position: real observability, real inference from live output to hidden state, bounded.
The position beyond it has no episode boundary. Every stream — manifests, telemetry, filings, notices — is retained continuously, with provenance attached to each claim, and beliefs about the plan are revised the moment a later stream contradicts an earlier one: not just "here is what the last filing said" but "here is what we believed, here is what changed it, here is when." That is the Large Universe Model position, and it is worth being honest that nothing currently deployed in freight operations does this fully. It is the terminal point the axis argues towards, not a shelf product.
Total retention across every port, every supplier jurisdiction, every tariff authority worldwide is not an engineering target anyone reaches. Budgets force sampling. Feeds get dropped when a supplier's filing portal changes format. In practice the system degrades back into monitoring the moment the storage bill arrives.
That is correct, and it is the sharpest objection this argument faces in a domain where data volume is genuinely unbounded — global freight generates filings in more jurisdictions and formats than any single retention budget can absorb at full fidelity. Tiered storage, sampling manifests by lane risk rather than keeping every one, and thirty-day expiry on low-priority telemetry are real compromises, not victories, and any planning system claiming otherwise is overselling itself. But the category is not defined by literally storing everything forever. It is defined by revisability with provenance: a system that samples nine shipments in ten but records that it sampled, and that can re-derive its confidence in a plan when a new filing contradicts an old one, is still doing something a frozen quarterly tariff table cannot do, regardless of budget. Cost decides where on the axis an operation actually sits. It does not create a further category past the end of the axis.
The filing you didn't build a field for
A second objection cuts closer to the daily texture of the work. A wide event can only be sliced by the fields it was given. A supplier filing that omits a beneficial-ownership field cannot later be queried by beneficial ownership, no matter how long it is retained; a tariff notice scraped from a gazette as unstructured text does not become structured by keeping it. Observability shifts the binding decision from query time to instrumentation time. It does not abolish the decision. A supply chain intake system still has to decide, in advance, which fields on a manifest or a filing are worth extracting, and every field left un-extracted is a question that will be unanswerable later, however faithfully the raw document itself is archived.
That is the correct shape of the limit, and it means a planner should never treat wide retention as a substitute for asking, now, what fields next quarter's crisis will need. But the limit is a ceiling on completeness within continuous intake, not a case against continuous intake as the terminal category. Improving field coverage is the same scale axis conceded from the start — more extraction, better parsers for gazette text, richer schemas on supplier filings. None of that reopens a fourth category of evidence beyond streams, retained, with provenance, held revisable. It only moves the ceiling higher within the third.
The planner's actual complaint, most weeks, is not that the world changed. It is that the world's own record of changing was sitting in a feed the planning system had already decided not to watch. That is monitoring's inheritance, wherever it turns up — in a control room, in a dashboard of language model benchmarks, or in the customs gazette of a country three suppliers removed from the plan.