echd — Echo on Encore · E3.4 · dive
The Gap, Declared
Three primitives superseded, one declared — secrets stay platform-native, config-distribution is the nearest owned ground and is not secrets, and naming that boundary is what keeps the register credible.
echd speaks in the present tense over a build ladder. Every module, verb, key, and port named on this page is real; the composition into one standing platform is the vision the ladder builds.
The dive
docs/echo_mq/emq.streams.md:38-39 · echd.design.md §3Every honest supersession story ends the same way: by naming what it did not supersede. The bus replaces three Encore primitives — PubSub with the stream tier, cron with the scheduler, task queues with claims — and this workshop has run two of the three by hand. The fourth thing a service reaches for, secrets, is not replaced, and the course says so in amber rather than letting the silence imply otherwise. Secrets need encryption at rest, an access policy, rotation, and an audit trail — a security surface the bus does not provide and does not pretend to.
The temptation is to point at the closest owned thing and call it enough. That closest thing is config-distribution: latest-value-per-key reads on the stream tier, changelog semantics without a compactor, genuinely useful for configuration and stream positions. The dive names it precisely so it cannot be mistaken for more than it is — it is config, not secrets; it has no encryption and no policy. Declaring the gap, and declaring the nearest ground as not the gap's answer, is the move that makes the other three supersessions believable.
Three superseded, one declared
docs/echo_mq/emq.streams.md:38-39Hover or focus a row to read it; click to pin. Without scripting, all three read in sequence.
Why secrets are the gap
docs/echo_mq/emq.streams.md:38-39 · echd.design.md §3A secrets manager is not a queue with encryption bolted on; it is a different kind of thing. It provides encryption at rest, an access policy that decides who may read a value, rotation that retires a value and issues its replacement, and an audit trail of every access — a security posture the bus is not built to hold. The stream tier can move bytes reliably and keep them in order, but "reliable and ordered" is not "secret," and pretending otherwise would be the one dishonesty the vision register cannot survive.
So the dive draws the line where it actually is. Config-distribution — the latest-value-per-key reads the tier already offers — is the nearest owned ground, and it is the right tool for configuration, feature positions, and hydration. It is not a secrets store, and the course refuses to blur that. This is the honest-gap law in one concrete instance: a course that can point at exactly where its supersession stops is a course you can believe about everywhere it does not stop. The amber row is not an admission of weakness; it is the collateral that makes the three green rows worth trusting.
The rule
one line to carryThe honest-gap rule — name the boundary you do not cross: secrets stay platform-native, and config-distribution is the nearest owned ground, which is not secrets. The declared gap is what makes the three supersessions believable — a register that can point at exactly where it stops is one you can trust about everywhere it does not.
Doors
where the gap is drawnThe course home
The supersession switchboard, where the secrets switch stands in amber beside the four it replaces.
the gap, on the atlas — declared once for the whole course.
/echd/memoryE4 — The Memory
The next tier, where the cache supersedes Encore's — and where the honest-gap discipline carries forward.
the register, continued — supersede what is superseded, name what is not.
References
sources · relatedSources
- Valkey — Streamsthe latest-value-per-key reads that config-distribution rides — config, not secrets
Related
- E3.4 — Workshop — Supersede a Primitivethe workshop this dive closes
- the-topic-re-landedthe first move: a topic re-landed on a stream
- E3 — The Bus — EchoMQ Supersedesthe chapter this dive completes