Function analyze_stability
Function analyze_stability
Generated from cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker.
pub fn analyze_stability(
observations: &[PromptIR],
thresholds: &StabilityThresholds,
) -> StabilityAnalysisResult
Analyze prompt-block stability across multiple observations.
The analysis computes one stability score per span, ordered by the first sequence index at which that span appeared, and derives the length of the stable prefix at the start of the prompt.
The result must not depend on the per-process seed s that Rust draws for HashMap iteration, because a profile persisted by one process is read back by another. Over N processes producing outcomes with multiplicities c_1..c_k, the cross-process agreement rate is
the probability that two independent processes agree, and equivalently the probability that a persisted profile satisfies the reuse gate elsewhere. A = 1 exactly when the analysis is seed-independent, which is what [canonical_scores] and [dominant_prefix_length] each establish.
Parameters
observations: Prompt observations to compare.thresholds: Thresholds used for stability classification and confidence.
Returns
A StabilityAnalysisResult summarizing span-level stability.