From 179ada131f6ebdc64b5d0c9196855e5813b59c5c Mon Sep 17 00:00:00 2001 From: Marcel Date: Mon, 15 Jun 2026 21:51:59 +0200 Subject: [PATCH] docs(rtm): add REQ-014/REQ-015 rows for #850 Two spec gaps the Requirements Engineer flagged on PR #851 are now pinned as requirements in the #850 issue body and traced here (Status Planned, flipped to Done as the tasks land): - REQ-014: a HISTORICAL curated event keeps its full-width WorldBand and never clusters into a card, even with linked letters. - REQ-015: a cross-year card sits at its earliest linked letter's chronological position, never appended after later-dated loose letters. Refs #850 Co-Authored-By: Claude Opus 4.8 --- .specify/rtm.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.specify/rtm.md b/.specify/rtm.md index 1355326b..26d9e22a 100644 --- a/.specify/rtm.md +++ b/.specify/rtm.md @@ -207,3 +207,5 @@ | REQ-011 | wrapping header keeps #842 add-event CTA + #780 filter trigger; meta-line drops the grouping segment | #850 | inline-event-clustering | `frontend/src/routes/zeitstrahl/+page.svelte` | `page.svelte.spec.ts#renders the meta sub-line with range and counts, no grouping segment`, `#drops the letters segment instead of showing "0 Briefe"` (no "Gruppierung") | Done | | REQ-012 | show-more/less labels are new Paraglide keys in de/en/es; unused #827 grouping/Thema keys removed | #850 | inline-event-clustering | `frontend/messages/{de,en,es}.json`, `frontend/src/lib/timeline/EventCluster.svelte` | `messages.spec.ts#zeitstrahl visual-fidelity keys are present in all locales` (now asserts `timeline_bucket_show_more`/`_less`; `timeline_grouping_date` removed) | Done | | REQ-013 | `GET /api/timeline` failure → existing localized error state via `getErrorMessage(code)` (unchanged #779) | #850 | inline-event-clustering | `frontend/src/routes/zeitstrahl/+page.svelte` (unchanged error path) | covered by #779 `zeitstrahl` error-state tests (regression — no change) | Done | +| REQ-014 | HISTORICAL curated event with ≥1 linked letter keeps its full-width WorldBand — never clusters into a card (preserves #779 REQ-009); its letters stay loose | #850 | inline-event-clustering | `frontend/src/lib/timeline/eventClustering.ts` (`buildEventLookup` excludes HISTORICAL) | `eventClustering.spec.ts#excludes a HISTORICAL event from the lookup`; `YearBand.svelte.spec.ts#renders a HISTORICAL event with a same-year linked letter as a WorldBand, letter loose` | Planned | +| REQ-015 | a cross-year ✉ card is placed at its earliest linked letter's chronological position in the band — never appended after later-dated loose letters | #850 | inline-event-clustering | `frontend/src/lib/timeline/YearBand.svelte` | `YearBand.svelte.spec.ts#interleaves a cross-year card before a later-dated loose letter in the same band` | Planned |