Skip to content

feat(channels): Surface C — related-channels band on /topics/* (P3) - #2153

Merged
jung-thomas merged 8 commits into
DEVfrom
channels-p3-topics
Sep 4, 2026
Merged

feat(channels): Surface C — related-channels band on /topics/* (P3)#2153
jung-thomas merged 8 commits into
DEVfrom
channels-p3-topics

Conversation

@jung-thomas

Copy link
Copy Markdown
Contributor

Surface C — Related channels band on /topics/* (Phase 3)

External-channels integration, Phase 3. Adds a curator-reviewed crosswalk from channels to site topic tags and renders a "Related channels" band on topic term pages.

Spec: docs/superpowers/specs/2026-09-04-external-channels-integration-design.md (§5.3, §9, §13, §14, §15, §16)
Plan: docs/superpowers/plans/2026-09-04-external-channels-p3-topic-bands.md

What's included

  • ModelChannelTopicMap crosswalk entity (channel, topicTag in mdFormat, relevance, authoringStatus), unique (channel, topicTag), @cds.persistence.journal + regenerated migration table.
  • AdminAdminService.ChannelTopicMap draft-enabled projection + Fiori Elements admin app (prefix ctm) with shell registration, for curators to review/correct and promote AI_SEEDED → REVIEWED.
  • Seed — idempotent LLM draft pass (npm run seed-channel-topic-map): upserts on (channel_ID, topicTag), preserves REVIEWED rows, writes AI_SEEDED. AI SDK + chat-settings resolver lazy-imported off the srv-qa boot path.
  • PayloadbuildTopicDetailPayload joins the crosswalk: REVIEWED-gated, published-channel + non-broken-link filtered, ordered by relevance desc, capped at 5, empty-safe.
  • Render — empty-safe <section class="topic-channels"> band with owner badges + external links (rel="noopener"); ships via the existing topic-<slug> publish pipeline (CAP-SSR BLOB, not Hugo).
  • e2e — tolerant post-deploy nudge; self-skips without SMOKE_BASE_URL.

Verification

  • Per-task review (spec + code quality) APPROVED on all 7 tasks; whole-branch review CLEAN; end-to-end data contract confirmed (seed mdFormat write == payload join key == render shape).
  • CDS gates: check-cds-build-staging 0, check-srv-qa-cp-list 0.
  • Unit suite green — all P3 tests pass. (Pre-existing hugo-apps/selfie failures are missing optional deps in this worktree, unrelated to P3.)

Scope boundary

ChannelSubmissions (P4) is explicitly out of scope.

🤖 Generated with Claude Code

@jung-thomas
jung-thomas merged commit 4040232 into DEV Sep 4, 2026
9 checks passed
@jung-thomas
jung-thomas deleted the channels-p3-topics branch September 4, 2026 21:00
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