Skip to content

docs: collision cleanup no longer deletes — excluded rows age to inactive - #11

Merged
MrAlders0n merged 1 commit into
mainfrom
docs/collision-cleanup-removed
Aug 2, 2026
Merged

docs: collision cleanup no longer deletes — excluded rows age to inactive#11
MrAlders0n merged 1 commit into
mainfrom
docs/collision-cleanup-removed

Conversation

@MrAlders0n

Copy link
Copy Markdown
Contributor

Follows server 26df9c9, which removed Logic 1 (the prefix-overlap duplicate delete) from repeaters_cleanup.php and widened Logic 3 to enabled IN (1, 2).

What changed on the server

Collisions are now handled entirely by the collision system at ingest (repeater_collision.php + backfill_repeater_collisions.php / fold_corrupt_twins.php). Nothing is deleted on a 3× stale timer any more.

Instead, a colliding repeater that goes silent is marked Inactive at repeater_inactive_days (default 30). That drops it out of the collision recompute's live set — which only considers enabled IN (1,2) — so its partner is restored on its next advert instead of being pinned at Excluded forever.

Two user-visible changes: the timeline moves from 72 hours → 30 days, and the outcome from deleted → Inactive.

admins.md

  • Dropped the 72-hour row from the lifecycle table, and the whole Duplicate collision cleanup subsection — including the survivor-restore behaviour, which no longer exists
  • 3× stale is now attributed to pending resolution alone (it was "the two routines below")
  • Repeater Inactive After now covers Excluded rows, and explains why that's what unsticks a stale collision
  • Excluded status and Bypass Auto Delete corrected — the latter no longer skips a stale-duplicate delete, but does now hold a colliding partner excluded while it's away, which is worth an admin knowing

duplicaterepeaterid.md

Automatic Cleanup rewritten. It previously described deletion at 72 hours as the primary resolution path, which is now wrong end to end. Neither repeater is deleted; the survivor returns on its next advert; a returning repeater is re-excluded if the ID is still ambiguous.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KojjSrgSQQJW7Z8b3eakEA

…tive

Follows server 26df9c9, which removed Logic 1 (the prefix-overlap
duplicate delete) from repeaters_cleanup.php and widened Logic 3 to
enabled IN (1,2).

Collisions are now handled entirely by the collision system at ingest;
nothing is deleted on a 3× stale timer any more. Instead a colliding
repeater that goes silent is marked Inactive at repeater_inactive_days
(default 30), which drops it out of the recompute's live set — the
comparison only considers enabled 1|2 — so its partner is restored on its
next advert rather than being pinned at excluded forever.

Two user-visible changes, both worth being explicit about: the timeline
moves from 72 hours to 30 days, and the outcome from deleted to Inactive.

admins.md
  - dropped the 72-hour row from the lifecycle table and the whole
    "Duplicate collision cleanup" subsection, including the survivor
    restore that no longer exists
  - 3× stale now attributed to pending resolution alone
  - Repeater Inactive After covers Excluded rows, and says why
  - Excluded status and Bypass Auto Delete corrected — the latter no
    longer skips a stale-duplicate delete, but does now hold a partner
    excluded while it's away

duplicaterepeaterid.md
  - Automatic Cleanup rewritten: nothing is deleted, the survivor returns
    on its next advert, and a returning repeater is re-excluded if the ID
    is still ambiguous

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KojjSrgSQQJW7Z8b3eakEA
@MrAlders0n
MrAlders0n merged commit dcf46ab into main Aug 2, 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