From 0d3a51f50997102024e33ab0f83d346ae772f928 Mon Sep 17 00:00:00 2001 From: Thomas Jung Date: Sun, 6 Sep 2026 08:43:25 -0400 Subject: [PATCH] fix(ci): allowlist GET /content/channel-detail/:slug as srv-only route #2169 added the channel-detail serve route to srv/server.js but not srv-qa/server.js, tripping check-srv-qa-route-drift. The channel-detail page is a public prod content surface (like /content/topics/:slug), not tutorial-draft author preview, and its publish sibling POST /content/publish/render-channels is already allowlisted. Add the serve counterpart to ALLOWLIST_ONLY_ON_SRV. --- scripts/check-srv-qa-route-drift.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/check-srv-qa-route-drift.ts b/scripts/check-srv-qa-route-drift.ts index e00b32bd2..edc0118bd 100644 --- a/scripts/check-srv-qa-route-drift.ts +++ b/scripts/check-srv-qa-route-drift.ts @@ -112,6 +112,12 @@ const ALLOWLIST_ONLY_ON_SRV: Record = { 'Channel-detail publish rendering (channels-hub Phase 2) — renders per-channel BLOB pages ' + 'into a publish session for the public /channels/:slug/ detail surface. Not a ' + 'tutorial-draft author-preview endpoint; the QA channel has no channel-detail publish flow.', + 'GET /content/channel-detail/:slug': + 'CAP-served /channels/{slug}/ detail pages (channels-hub Phase 2) — a public prod content ' + + 'surface (channel- prefixed BLOBs, lowercase-canonicalize + 301) that mirrors ' + + 'GET /content/topics/:slug, not tutorial-draft author preview. It is the serve counterpart ' + + 'to POST /content/publish/render-channels above (already allowlisted); the QA channel serves ' + + 'in-flight tutorials from -Contribution repos and has no channel-detail serve/publish flow.', 'POST /content/orphan-purge': 'CI-only batched soft-delete for prod content maintenance (#823). Not an author-preview ' + 'endpoint — the QA channel has no orphan-purge maintenance flow.',