registry: re-check verified domains and withdraw lost ones #343
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
A domain proven once can be lost or sold. RELEASE.md 7.1 says the record is "checked at creation and shown as a badge"; a badge that is never checked again would show a domain its owner no longer controls. This issue re-checks verified domains. Follows #341.
What exists today (main
787f63f)Nothing re-checks anything in the registry, but it already runs background tasks in the one service (the documentation worker,
src/documentation.trb, a task with a queue table) and starts work at start-up (page and search fill).Source
Design record point
7.1 row A verified domain ("the record, checked at creation and shown as a badge"); extends it by the re-check, recorded in the "as built" note.
Design (decided by the loop, see the comment of 2026-10-12)
torb-owner=<owner>string) counts a failed day; a lookup that gets no answer (timeout, SERVFAIL) counts nothing. The 3rd consecutive failed day withdraws the domain: row removed,owner.trbrewritten without it, package pages rewritten, anauditlog eventdomain-withdrawn. A success resets the count. Three days, because a DNS change or an outage of a provider is not a loss of the domain; a withdrawn domain can be claimed again at once.src/database.trb.Acceptance criteria
owner.trb(still verifies) and the package pages, and logs the event; the domain can be claimed again afterwardssh tools/gates.sh agreen in forge CISeed impact
No.
Size
One PR, one or two Conventional Commits (
feat(registry)). Worker: opus/high.Dependencies
Needs #341. Definition of ready is met; the label
readyfollows when #341 has landed.[loop:torbscript] refine: split from #19 (see the decision comment there). Definition of ready met in content (state of main, design record point, testable criteria, seed impact: no, size); depends on #341, so the label
readyfollows when it has landed, next: waiting (depends on #341)[loop:torbscript] refine: dependency #341 landed (PR #355,
0d10b99f), labelreadyset, next: implement[loop:torbscript] claim implement by session:loop-torbscript-20261013 until 2026-10-13T09:46Z
[loop:torbscript] implement: PR #357 opened (one
feat(registry)commit15184a9c,Closes #343): a daily re-check of verified domains with three-strike withdrawal,domains.checked/failuresadded by an idempotent migration step, a new end-to-end testtests/domain-recheck.test.trb, and README and RELEASE.md as-built notes. Forge CI green (tier A, tier B, gates, registry suite, pdisc). Review requested from argus. Worker token usage: about 330k tokens. next: waiting (merge gate review of PR)