Skip to content

Reduce reputation cost and expose empirical coverage freshness - #35

Draft
jehanazad wants to merge 3 commits into
mainfrom
perf/reuse-trust-per-reputation-pass
Draft

jehanazad wants to merge 3 commits into
mainfrom
perf/reuse-trust-per-reputation-pass

Conversation

@jehanazad

@jehanazad jehanazad commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

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_ts independently 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.

@jehanazad jehanazad changed the title Avoid repeated trust scans during neighbor reputation evaluation Reduce reputation cost and expose empirical coverage freshness Sep 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant