Estimate: 16m · Depends on: 2.4.5, 2.4.8
Make the 2.4.5 relationships panel INTERACTIVE — wire the shipped linkWorkItems / unlinkWorkItems (1.4.4) into it per the 2.4.8 design. Thin Server Actions (createLinkAction / removeLinkAction) over the gated service methods (no raw Prisma — 4-layer rule); a client add-link control opened from the panel header (kind selector + issue-search Combobox); an inline remove on each row; revalidatePath on the detail route so the groups AND the readiness banner update (adding a non-terminal blocker flips Ready→Blocked; removing it flips back). The typed link errors map to inline messages (no crash). The 2.4.5 "Manage in Epic 5" read-only note is REPLACED by the real control.
Candidate read. The issue-search Combobox needs an in-workspace candidate lookup (by identifier / title, excluding self + already-linked). Add a lightweight workItemsService.listLinkCandidates (workspace-scoped, explicit workspaceId filter — finding #26; cross-project allowed, matching the link model's same-workspace rule); full cross-cutting search is Epic 6, so this is a simple prefix/contains read, not the search engine. Scope: management lives on the DETAIL panel; the edit page's related-issues block stays READ-ONLY (an editor keeps context there — 2.4.5).
is_blocked_by target flips Ready→Blocked).relates_to removes both reciprocal rows (service already does this).listLinkCandidates carries an explicit workspaceId filter.listLinkCandidates (incl. excludes-self / excludes-already-linked / cross-workspace empty); a component test for the add control (kind + combobox + submit + error surfacing); the detail + edit routes stay green on the shell-a11y sweep (the add dialog/combobox is accessible — reuse the 2.3.4 Combobox semantics).design/work-items/links.mock.html + design-notes.md (2.4.8 — REQUIRED, match its layout/primitives)lib/services/workItemsService.ts — linkWorkItems / unlinkWorkItems + listCandidateParents (the candidate-read pattern to mirror for listLinkCandidates)lib/workItems/linkErrors.ts + lib/dto/workItemLinks.ts (kinds + LinkWorkItemsInput)app/(authed)/issues/[key]/_components/RelationshipsPanel.tsx (2.4.5 — make it interactive) + components/ui/Combobox (2.3.4)revalidatePath conventions