A stream has taken no writes for thirty days, so what further evidence does a decommission need before calling it unused?
answer
- no writes proves the least
- writer, reader, replay
- zero unread is ambiguous
- some readers leave no trace
- evidence, then a challenge
basics
~20 sAbsence of writes is one line of evidence out of three. A decommission also needs no reader — nothing attached, no stored reading position advancing — and, where records stay readable after delivery, no replay, all observed over a stated observation window and put to the owner record.
solid answer
~40 sNo writes tells you the producing side is quiet; it says nothing about the reading side. The evidence standard for disuse has three lines: **no writer**, **no reader** (no client attached and no reading group's stored position advancing), and, on platforms where records remain readable after delivery, **no replay** — a one-off reader that reads history and leaves nothing permanent behind. Each line must be observed over a stated observation window, not sampled once. Even then the evidence is a candidate, not a verdict: it goes to the owner record for a challenge. Note the shape dependence — where a delivered message is gone, depth is meaningless and only traffic counts, so an empty stream and a busy stream can look identical at rest.
code
yaml · 13 linesstream: settlement-events
owner: settlement-oncall@example-rota
owner_resolves: true
observation_window_days: 100
evidence:
writes_observed: 0
attached_readers_seen: 0
reading_group_positions_advanced: 0
read_traffic_observed: 0
replays_observed: 0 # only meaningful where records stay readable after delivery
stored_bytes: 418000000000
verdict: candidate # evidence only - the owner record is asked before anything happens
challenge_closes: 2026-11-04go deeper
Recall that no writes is only one of the signals. There is also a reading side, and on some platforms records can be read again after delivery, so somebody may be reading history nobody is adding to.
Name the three lines and explain why depth at rest is not one of them. Be precise that a stream with nothing unread is ambiguous between everybody being caught up and nobody reading, and that the two want opposite decisions.
Talk about the readers the sweep cannot see — positions kept outside the broker, occasional investigative reads, idle standby consumers — and treat the output as a candidate put to the owner rather than a verdict.
Set the standard for the estate: which observations are mandatory, how they differ by stream shape, how long a cleared verdict stays valid, and who is entitled to object. Make the standard identical everywhere so results are comparable.
## What 'unused' has to mean Decommissioning is the one part of broker operations where being wrong is not recoverable, so 'unused' has to be an **evidence standard** rather than an opinion. The standard is deliberately unsympathetic: it is not *nobody has mentioned this stream in a while*, and it is not *the team that made it has moved on*. It is a set of observations, each with a stated period over which it was taken. Thirty days with no writes is exactly one of those observations, and it is the one that proves the least. A stream with no writer can still have an active reader working through history, and a stream can be busy in both directions while holding nothing at rest. ## The three lines of evidence 1. **No writer.** Nothing has appended to the stream over the observation window. This is usually the easiest line to gather and the least conclusive on its own. 2. **No reader.** Nothing is attached and consuming, and no reading group's stored position has advanced. Prefer that phrasing over 'nothing is behind': a stream where no unread records are waiting is ambiguous between *everyone is caught up* and *nobody is reading at all*, and those two states want opposite decisions. 3. **No replay.** On platforms where records remain readable after delivery, someone can read the whole stream from the beginning without leaving any durable trace of a reading group behind. If the platform supports that, the absence of a replay over the window is a third, separate observation — and if it does not, this line simply does not exist and the standard is the first two. ## What each line means on the two stream shapes | Evidence | Where records remain readable after delivery | Where a delivered message is gone | |---|---|---| | No writer | Appends over the window | Sends over the window | | No reader | No attached reader and no stored position advancing | No attached consumer; deliveries over the window | | No replay | A real, separate check | Does not exist — nothing to replay | | Depth at rest | A stream can be full and dead, or full and hot | Meaningless — a busy stream can sit at zero | The table is the point of this leaf's care about shape: an evidence checklist written for one shape and applied to the other either asks for a signal that cannot exist or trusts a signal that means nothing. ## The readers a sweep cannot see A sweep sees the readers that leave a trace. Some do not: - A reader that keeps its position **outside** the broker leaves no stored position to inspect; only read traffic on the stream reveals it. - A one-off analytical or investigative read may run for an hour, months apart, and be finished before any sweep runs. - A standby or disaster-recovery consumer may be attached but intentionally idle. - A periodic job — month-end, quarter-end, annual — is genuinely absent almost all the time, and the observation window is what decides whether that absence means anything. So the honest claim is not *the sweep proves nothing reads this*. It is *over this window, no read traffic and no advancing position were observed*, which is a strong signal and not a proof. ## Turning evidence into a decision The sweep produces evidence; it does not act on it. What converts evidence into a decision is the **owner record**: the candidate list goes to whoever is answerable, with the observations attached and a stated period to object. Silence from an owner who exists is a weak but real answer; an owner record that does not resolve at all is a separate finding, because it means there is nobody to object. Two practical habits follow. First, evidence **expires** — a candidate cleared six months ago has to be re-taken, because the estate has moved. Second, while the candidate waits, the stream is not free: it goes on occupying room on a cluster and being paid for, which is the cost that makes the sweep worth running at all and the reason an orphan is a real problem rather than a tidiness complaint. ## Where this stops This is the evidence, the observation and the challenge. What happens once the evidence is accepted — moving readers onto a replacement, writing to both through the change, and the removal that cannot be undone — is a separate subject, as is how long records survive while the stream is alive.
- Which reader is invisible to a sweep that only inspects stored reading positions?One that tracks its own position outside the broker. It reads normally but leaves nothing durable behind, so the position check returns nothing and the stream looks idle. The fix is to also observe read traffic on the stream over the window, rather than relying on stored positions as the only reader signal.
- Does 'no writes' mean the same thing where a delivered message is gone?The observation is the same but the surrounding intuition is not. On that shape a stream sitting at zero depth may be extremely busy, because messages are removed as they are handled, so nothing at rest tells you anything. Only traffic over the window counts, in both directions.
- How long should a cleared verdict stay valid?Not indefinitely. Evidence describes the window it was taken over, and the estate moves — a new consumer can be pointed at a stream the week after it was cleared. Re-take the observation before acting on a candidate that has been waiting, and say on the finding when the evidence was gathered.
saying these in an interview costs you the question
- The stream is empty, so nothing is using it
- No unread records means there is no reader
- Thirty days without writes is proof enough
- A stream with no writer cannot have a reader
- If it mattered, someone would have asked us to keep it
- A cleared verdict stays valid however long it waits