Prune detail safely through normal collection #100

Closed
opened 2026-09-27 20:01:11 +00:00 by xavierk · 2 comments
Owner

Parent

Deepen observation-history publication, local-day evidence, and activity selection.

What to build

Actually expire eligible detailed observations after 14 days during normal collection without making history less trustworthy. Keep durable UTC/local summaries, shared boundary evidence, controller and projection prerequisites, successor anchors and all pending-publication recovery inputs until they can be safely replaced or consumed.

Acceptance criteria

  • Advance controlled time past 14 days through normal collection; eligible detailed samples are removed, with no separate manual maintenance invocation required.
  • A local-day summary, its recorded boundaries and shared evidence remain visible and truthful after detail expires and readers restart; historical UTC/projection evidence still works as specified.
  • Pending observations, unfinished intervals and required boundary/continuation anchors are never pruned merely due to age; repair/replay remains possible and idempotent.
  • Retention runs only after durable trustworthy publication and evidence sufficiency checks, with safe behavior for legacy dates, interruptions and repeated collection.
  • Use real temporary stores for normal collection-to-reader tests; focused retention tests cover missing replacement evidence and preservation of recovery prerequisites without deployed-store access.

Blocked by

## Parent [Deepen observation-history publication, local-day evidence, and activity selection](https://git.bongbetic.com/xavierk/Fenris/issues/95). ## What to build Actually expire eligible detailed observations after 14 days during normal collection without making history less trustworthy. Keep durable UTC/local summaries, shared boundary evidence, controller and projection prerequisites, successor anchors and all pending-publication recovery inputs until they can be safely replaced or consumed. ## Acceptance criteria - [ ] Advance controlled time past 14 days through normal collection; eligible detailed samples are removed, with no separate manual maintenance invocation required. - [ ] A local-day summary, its recorded boundaries and shared evidence remain visible and truthful after detail expires and readers restart; historical UTC/projection evidence still works as specified. - [ ] Pending observations, unfinished intervals and required boundary/continuation anchors are never pruned merely due to age; repair/replay remains possible and idempotent. - [ ] Retention runs only after durable trustworthy publication and evidence sufficiency checks, with safe behavior for legacy dates, interruptions and repeated collection. - [ ] Use real temporary stores for normal collection-to-reader tests; focused retention tests cover missing replacement evidence and preservation of recovery prerequisites without deployed-store access. ## Blocked by - [#99 Make historical local-day evidence trustworthy](https://git.bongbetic.com/xavierk/Fenris/issues/99).
xavierk added the ready-for-agent label 2026-09-27 20:01:11 +00:00
xavierk added a new dependency 2026-09-27 20:01:12 +00:00
xavierk added a new dependency 2026-09-27 20:01:17 +00:00
xavierk self-assigned this 2026-09-28 07:45:02 +00:00
Author
Owner

Implemented in commit d697536 (fix: prune old detail after publication).

Normal collection now prunes eligible detail after successful publication. The retention pass preserves successor anchors, local-day/UTC replacement evidence, controller context, pending publication inputs, and legacy or incomplete data; an interrupted pass rolls back and can retry.

Verification: focused retention, collection, repair, and issue #99 tests passed (52 total); focused Ruff and compileall passed. The full suite reported 868 passed, 1 skipped, and 21 packaging failures caused by this environment's missing zstd, Podman build exit 100, and package install/removal/purge checks.

Implemented in commit d697536 (fix: prune old detail after publication). Normal collection now prunes eligible detail after successful publication. The retention pass preserves successor anchors, local-day/UTC replacement evidence, controller context, pending publication inputs, and legacy or incomplete data; an interrupted pass rolls back and can retry. Verification: focused retention, collection, repair, and issue #99 tests passed (52 total); focused Ruff and compileall passed. The full suite reported 868 passed, 1 skipped, and 21 packaging failures caused by this environment's missing zstd, Podman build exit 100, and package install/removal/purge checks.
Author
Owner

Final review follow-up in commit 5aeee7b: same-day local totals can replace an interval only when one recorded monitoring period covers that full interval. Added regression coverage for unrelated later activity after a monitoring gap.

Final verification: 60 focused retention, collection, repair, and issue #99 tests passed; focused Ruff, compileall, and git diff checks passed. Full suite: 869 passed, 1 skipped, 21 packaging failures (missing zstd, a Podman build exit 100, and package lifecycle checks).

Final review follow-up in commit 5aeee7b: same-day local totals can replace an interval only when one recorded monitoring period covers that full interval. Added regression coverage for unrelated later activity after a monitoring gap. Final verification: 60 focused retention, collection, repair, and issue #99 tests passed; focused Ruff, compileall, and git diff checks passed. Full suite: 869 passed, 1 skipped, 21 packaging failures (missing zstd, a Podman build exit 100, and package lifecycle checks).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: xavierk/Fenris#100