Large Language Thing

Home/Concepts/Indexicality in telecommunications

Indexicality in telecommunications

Indexicality marks a semantic boundary, not a capability gap. A large class of ordinary expressions — 'now', 'here', 'current', 'still', 'no longer', 'the latest' — cannot be…

The plan that was correct on the day it was written

At 03:00 on a Tuesday in March, a regional operator's radio access network hit 91% physical resource block utilisation on a cluster of forty macro cells, sustained across three consecutive busy hours. The capacity plan for that cluster had been signed off eleven weeks earlier. It called for a carrier addition in the following quarter, timed against a traffic forecast built from six months of counters: PRB utilisation, active user counts, application-layer breakdown by port and by TLS fingerprint. The forecast was not naive. It was seasonally adjusted, cross-checked against the previous year's device mix, and reviewed by a planner who had done this for a decade.

What the forecast could not have contained was a single fact: three weeks after sign-off, the region's dominant video app pushed a default codec change that raised average session bitrate by around 35%, and a popular handset OEM shipped a firmware update that made background video preload more aggressive on Wi-Fi-to-cellular handoff. Neither event appears in a traffic model trained on the prior six months, because neither event had happened yet when the model's inputs were collected. The planner's document said, correctly, "current traffic mix implies headroom until Q3." By the time anyone read that sentence again, "current" no longer pointed at the traffic mix it was written against. The sentence had not become false through any error of reasoning. It had become a correct description of a moment that had already closed.

What actually failed

The instinct is to call this a forecasting error and demand a better model, more training data, faster refresh. That diagnosis is not wrong so much as it is aimed at the wrong layer. The plan's arithmetic was fine. Its inputs were fine, for the period they described. What failed was the assumption that a word like "current" retains its referent between the moment a document is written and the moment it is acted on. It does not. "Current traffic mix," "current utilisation," "the latest counters" — these are not stable descriptions that happen to need updating occasionally. They are expressions whose entire semantic content depends on when they are uttered, and the plan treated them as if they were static properties of the network, checked once and valid until explicitly revised.

This is a category of word, not a category of mistake. Linguists call such words indexicals: "now," "here," "current," "still," "no longer," "the latest." Their meaning, in the sense of the rule a competent speaker knows, never changes. "Current" always means "obtaining at the time of utterance." But their reference — what they actually pick out — changes with every tick of the clock they are spoken against. David Kaplan, working this out formally in the 1970s, split the two apart: character is the fixed rule, content is the particular thing the rule delivers once you know who is speaking, where, and when. A sentence with intact character and no context is not false. It is simply not yet evaluable. The capacity plan's "current traffic mix" had perfect character and a context that had already expired by the time the plan mattered.

Why more corpus does not fix it

Charles Sanders Peirce, in the 1880s, had already distinguished signs that point by real physical connection to their object — indices — from signs that merely resemble or conventionally denote. A traffic counter reading is an index in exactly his sense: it is connected to the state of the network at the moment it was taken, and to no other moment. Yehoshua Bar-Hillel, arguing in 1954 and again around 1960 against fully automatic high-quality translation, saw the operational consequence: a system that only has text, however much of it, has no access to the situation the text was uttered in, and some meanings simply cannot be recovered from more text.

Apply that to a network operations centre. A large corpus of historical alarm logs, spectrum filings and churn records — the kind of frozen archive a language-style model would train on — can teach a system the rule for words like "still down" or "no longer congested" with total fluency. It can produce a flawless explanation of what "current utilisation" means. It cannot tell you the current utilisation, because there is no now inside a corpus. Every instance of "today" in that archive points at a different day, and none of them is the day the query is asked. The model resolves the word by convention, or by whatever date someone types into the prompt. This is not a gap that scale closes. Doubling the training data doubles the number of expired contexts on file. It does not manufacture a present.

Adding a system clock fixes the calendar indexicals and leaves the state indexicals — "still congested," "no longer under SLA," "the latest handover failure" — exactly where they were.

A bounded scene does better, for as long as it lasts. A live feed of telemetry — PRB counts refreshing every few seconds, alarm streams, active-session counters — gives a monitoring system a genuine here and now: "this cell, right now, is at 94% PRB" is evaluable because something is actually watching cell and clock together. That is real progress over the frozen corpus, and it is why live dashboards outperform static reports. But the context is bound to the session. Close the dashboard, restart the ingest pipeline, and the "now" it had is gone until observation resumes. Nothing persists between sessions except whatever was written down, and what gets written down is usually the conclusion, not the standing watch.

The persistent case

The capacity-planning failure above is not a failure of dashboards. The network operations centre had live PRB counters, and they moved. The failure was that the plan — the artefact that determined when a carrier would be added — was built once, against a scene, and then treated as though its indexicals stayed fixed after the scene closed. What was needed was not a better snapshot but a standing relationship between the plan's claims and the world's continuing state: traffic telemetry, fault alarms, spectrum filing status and churn signals all still running, all still being checked against the plan's assumptions, so that "current traffic mix implies headroom" would revise itself the moment the app release changed the mix, rather than waiting for a scheduled review eleven weeks later.

This is the condition that Large Universe Models argue for: not a bigger corpus, not a longer-lived dashboard session, but an intake that never stops running and holds its claims as beliefs with provenance and a decay rate, so that "current" always resolves against something still being watched rather than something once observed and since forgotten. On the intake axis this is the third rung, and it is the last one available, because there is no further kind of context beyond one that persists. A frozen corpus has no now. A sensed scene has a now that expires. A persistent stream has a now that is continuously remade. Beyond that, improvement is a matter of degree — better sensors, tighter latency, more trustworthy provenance — not a further category of context to discover.

Two objections worth taking seriously

Just put the date, the cell ID and the current counters into the prompt. Context is a tuple of parameters; supply it from outside and the indexical resolves. This is engineering, not a semantic wall.

Injection genuinely works when the relevant fact is small, known and honestly current — hand a model this hour's PRB figure and "current utilisation" resolves fine, once. It fails at exactly the expressions that matter operationally: "is the line still down," "no longer breaching the SLA," "the latest handover failure rate." Those bottom out in something that has to be observed continuously, because the system asking the question has no way to know whether the parameter it was handed is stale. A planner who is told a number is in a worse position than a planner watching a stream, because the stream can flag its own staleness and the injected figure cannot.

A live telecom network has no single moment of utterance. Core counters, RAN alarms and OSS churn feeds arrive with different latencies and clock drift across thousands of network elements. Real systems have a smear of nows, not the tidy point Kaplan's semantics assumes.

That is accurate, and it is the actual engineering content behind the third position rather than an objection to it. Persistent intake does not deliver one present; it delivers many observations, each timestamped with ingest time, event time and confidence, needing reconciliation — the same discipline as distributed clock ordering in any large system. A stream that says "as of 14:02, per this eNodeB, with two neighbouring cells' counters lagging by ninety seconds" is a worse-sounding but semantically superior answer to "what is current utilisation" than a single stipulated figure with no visible age. The smear, honestly reported, beats the point, dishonestly implied.

None of this touches spectrum engineering calculations, protocol conformance testing, or contract language in an interconnection agreement — work that needs no present at all and is well served by static documents indefinitely. The claim is narrower and more stubborn than "everything needs a stream": only the indexical core of network operations does. But that core is where capacity plans, fault response and SLA enforcement actually live, and it cannot be reached by writing a bigger document about the past.

Continue