From 9a43a2f6bb3c1e3978841fa1220aeedbe6c10f39 Mon Sep 17 00:00:00 2001 From: Claude Fable 5 Date: Thu, 30 Jul 2026 22:18:39 +0200 Subject: [PATCH] =?UTF-8?q?#235:=20keep=20page=5Flinks=20rows=20pointing?= =?UTF-8?q?=20at=20purged=20pages=20=E2=80=94=20recorded=20decision?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The row is only the index of a wikilink whose text (slug = title) remains visible in the linking page's own content either way; deleting the index would remove nothing the system still shows while breaking phantom-link re-resolution. Kept as an accepted residue, reasoning in operations.md (deletion/purge section) and recorded on #231. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_0168Ph5uBmHm8X28CSVpbpnJ --- docs/architecture/operations.md | 13 +++++++++++++ docs/vs-nfd/20-massnahmenplan.md | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/architecture/operations.md b/docs/architecture/operations.md index 5f7b43d..ba6cb82 100644 --- a/docs/architecture/operations.md +++ b/docs/architecture/operations.md @@ -146,6 +146,19 @@ A Site Admin can purge a trashed pond immediately event. Known residues by design: `page_links.target_slug` in OTHER ponds' pages (#235) and backups within their retention. +Decision on `page_links` rows pointing at a purged page (issue #235, +recorded on #231): they are KEPT, as an accepted residue. The row is +only the index of a wikilink whose text — including the slug, which +carries the page title — remains visible in the linking page's own +content, governed by that page's permissions and written by an author +who could read the target at the time. Deleting the index row would +remove nothing the system still shows (content, content cache, and the +linking page's search index all keep the text) while breaking the +deliberate phantom-link behaviour: a page recreated under the same slug +resolves those links again. An operator answering for deletion refers +to this paragraph: the residue is the linking author's own document, +not a copy of the purged page. + ## Update strategy - **Own stages**: pipeline-driven (see `deployment.md`); Prod only via diff --git a/docs/vs-nfd/20-massnahmenplan.md b/docs/vs-nfd/20-massnahmenplan.md index d49e885..c21b831 100644 --- a/docs/vs-nfd/20-massnahmenplan.md +++ b/docs/vs-nfd/20-massnahmenplan.md @@ -253,7 +253,7 @@ fehlten — als Issues angelegt: unbefristet in `conversion_jobs` · 2 AT · #233 (M24, I-22) - [x] Retention für `mail_outbox` — Digest-Mails tragen Seitentitel · 1 AT · #234 (M24, I-23) -- [ ] `page_links.target_slug`-Residuum nach Purge entscheiden +- [x] `page_links.target_slug`-Residuum nach Purge entscheiden · 0,5 AT · #235 (M24, I-24) - [ ] Node-Version pinnen — Voraussetzung für #219 · 0,5 AT · #236 (M25, I-26)