You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of the flight-recorder persistence epic — design: docs/superpowers/specs/2026-08-21-flight-recorder-persistence-design.md, discussion #27. Sequenced after #51.
Deliverable
After this slice: old sessions auto-purge and the consumer can tune how many are kept. The one public method of the whole epic lands here.
Scope
Public Sharingan.configure(persistence: Boolean = true, maxSessions: Int = 50, persistBodies: Boolean = false). persistBodies is wired but its effect ships in slice 5.
maxSessions clamped to a runtime device/storage-derived ceiling.
Noop obligation: mirror configure() as an empty no-op in sharingan-noop, run ./gradlew apiDump, commit all four .api/.klib.api dumps, confirm checkApiParity green (per docs/api-parity.md).
TDD / acceptance
RED→GREEN: creating session N+1 with maxSessions=N purges the oldest and its events (retention math).
maxSessions above the device ceiling is clamped, not honored verbatim.
checkApiParity green with the new public method mirrored in noop.
Intentionally diverging the noop (drop configure) is shown to fail the parity check.
Part of the flight-recorder persistence epic — design:
docs/superpowers/specs/2026-08-21-flight-recorder-persistence-design.md, discussion #27. Sequenced after #51.Deliverable
After this slice: old sessions auto-purge and the consumer can tune how many are kept. The one public method of the whole epic lands here.
Scope
Sharingan.configure(persistence: Boolean = true, maxSessions: Int = 50, persistBodies: Boolean = false).persistBodiesis wired but its effect ships in slice 5.maxSessionsclamped to a runtime device/storage-derived ceiling.configure()as an empty no-op insharingan-noop, run./gradlew apiDump, commit all four.api/.klib.apidumps, confirmcheckApiParitygreen (perdocs/api-parity.md).TDD / acceptance
maxSessions=Npurges the oldest and its events (retention math).maxSessionsabove the device ceiling is clamped, not honored verbatim.checkApiParitygreen with the new public method mirrored in noop.configure) is shown to fail the parity check.