Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On a live fleet, reputation evaluation repeatedly scans each node's up-to-500 trust samples for every overlapping neighbor. A 30-second profile attributed substantial processing time to these repeated scans, competing with frame ingestion.
Compute each node's trust score once per reputation pass and use that snapshot for both its own reputation and neighbor comparisons. Each new pass recomputes from current samples, so no long-lived cache can conceal new evidence. The pass also snapshots reputation membership for consistent pair enumeration.
Validation: all 519 analytics tests and all-file pre-commit checks pass. The regression checks one scan per node per pass, including a fresh scan on the next pass. This supports the real-node validation work in offworldlabs/retina-server#512.
Empirical coverage follow-up: expose
last_detection_tsindependently of capped per-bearing sample counts, use the recorder's range-admission multiplier when drawing evidence polygons, and return whether a calibration point was actually retained so callers cannot count rejected writes as progress. The percentile-based footprint and association gates are unchanged. Regression tests cover freshness after FIFO saturation, persistence, rejected points, and accepted evidence previously clipped by the display. All 521 analytics tests and pre-commit gates pass.