Task · TSO-0202

Baseline PAM sessions older than the log horizon on cold start

Description

With no cursor, internal/collector/pam/sessions.go pages every historical session and emits each as a log stamped Timestamp: s.StartTime, so a cold start or evidence loss with per-session logs enabled sends months-old records the log backend rejects. Same class as TSO-0200. Uses the shared delivery.log_max_record_age key from the horizon-clamp task.

Acceptance Criteria

Definition of Done

Implementation Plan

Use landed delivery.log_max_record_age in PAM sessions: deterministic cold-start older/newer fixtures, seen baseline without old logs, unchanged warm cursor behavior, zero-disable coverage; exact gate and code review.

Implementation Notes

loop33 landedd308d23153305c0dfc93cfd8fdd23db079817373 after exact clean-commit gate20261101T222224Z-tailscale2otel-a89aa4a2 exit0/zerochangedpaths. Earlier6pathworking-tree gate retained separately, not substituted as commit proof. Cold old sessions enter evidence/cursor baseline without deltas/logs; recent/boundary/missing timestamp and0disable preserved, currentactivegauges outsidebranch, warmcursorunchanged. Source patch byte-identical; independent review upholds reciprocal-shard CR critical/majors as false positives/out-of-contract; finaldsreviewPASS. No live runtime remediation claim.

Final Summary

PAM cold starts now baseline source sessions older than the shared log horizon, preserving warm cursors, current active gauges and explicit zero compatibility.

References

View the source file on GitHub