internal/server/subscribe.go does not mention operator once.
explore.go does. So Explore — which reads the
catalogue — requires proving possession of the server's secret, while
Subscribe — which streams every document that has ever changed —
requires only a connection string.
The weaker surface guards the smaller secret. That may be exactly right: a replica has to follow a primary without being an operator of it, and demanding the server secret to replicate would put the secret on every follower. But nothing in the repository says that is the reasoning, so today it is indistinguishable from an oversight.
grep -c operator internal/server/subscribe.go → 0;
the same grep against internal/server/explore.go → non-zero.Event frame at all, the asymmetry had no consumer. Client.Subscribe now
has one.It is a security posture question with a real argument on each side, and the wrong answer is expensive in one specific direction:
Explore, the operator shell and the audit trail all rest on.Left exactly as found, recorded here, awaiting the decision. Nothing about it has been changed in the meantime — including the tests, which document the current behaviour rather than endorse it.