Parent tracker: #62
Spec: docs/superpowers/specs/2026-05-21-edge-case-hardening-design.md
Milestone: P4
Goal
Fire a finding when a session or refresh handler resets a TTL/Max-Age on each use (sliding expiry) but no rotation evidence is linked.
Acceptance criteria
New check IDs
sliding_expiry_without_rotation_review
Files touched
crates/sessionscope-classifier/src/lifecycle.rs
Fixture expectations
Audit-then-decide
- Category:
lifecycle_gap, severity low.
- Feed into the consolidated P4.8 audit.
Doc-update checklist
Parent tracker: #62
Spec:
docs/superpowers/specs/2026-05-21-edge-case-hardening-design.mdMilestone: P4
Goal
Fire a finding when a session or refresh handler resets a TTL/Max-Age on each use (sliding expiry) but no rotation evidence is linked.
Acceptance criteria
sliding_expiry_without_rotation_reviewfires when:New check IDs
sliding_expiry_without_rotation_reviewFiles touched
crates/sessionscope-classifier/src/lifecycle.rsFixture expectations
session.regenerate()orsession.cycle_key()calls present.Audit-then-decide
lifecycle_gap, severitylow.Doc-update checklist
docs/USAGE.mdcheck catalog.docs/COVERAGE_MATRIX.mdrow.CHANGELOG.mdunreleased entry.