Expand description
DSFB-Debug: episode catalog — institutional memory for debugging episodes.
Each closed DebugEpisode is recorded into a fixed-size circular
buffer. New episodes can be matched against history via
signature-vector cosine similarity, surfacing past episodes whose
structural shape matches the current one.
§Operator use case
At 3am, a MotifClass::CascadingTimeoutSlew fires. The catalog
lookup says: “similar to episode #4173 from 23 days ago,
similarity 0.91, peak_slew 0.83 vs current 0.85, contributing
services were the same set”. The operator immediately reaches
for the past resolution (e.g. “increased connection pool to 200,
see runbook PR #2418”) rather than re-discovering the diagnosis.
Per panellist P12 (Distributed-Systems Architect, Session 6): “questions 5 and 7 of the on-call questions are ‘have we seen this before?’ and ‘what should I investigate next?’. The catalog is the answer to both.” This module is the answer.
§no_std + no_alloc — Copy slots
The catalog is a fixed-size [Option<DebugEpisode>; N] array.
Older episodes are overwritten when the buffer wraps. Lookup is
O(N) linear scan. Suitable for embedded deployments (no heap)
and audit-grade determinism (no time-dependent state — the same
record history produces the same find_similar output).
For audit-grade durability across process restarts, the operator
should periodically serialise the catalog to a write-ahead log
(see docs/operator_handbook.md §Episode Catalog Persistence).
Structs§
- Episode
Catalog - Fixed-size circular buffer of past episodes.
- Similar
Episode - Result of a catalog similarity lookup.