diff --git a/tests/production/harness/smoke-production.mjs b/tests/production/harness/smoke-production.mjs index 96c82950..7748f203 100644 --- a/tests/production/harness/smoke-production.mjs +++ b/tests/production/harness/smoke-production.mjs @@ -48,16 +48,9 @@ const forgotPasswordEmail = // 含已下线内部文档 slug:公开页面永远不得出现这些路径,防止复用同名 slug 时静默泄露。 const forbiddenPublicDocsPatterns = [ - 'docs/design', - 'docs/goal', - 'docs/verification', - 'docs/deployment', - 'docs/api-contracts', - 'docs/current-gap-audit', - 'docs/implementation-status', - 'docs/soft-delete', - '完整功能设计', - '设计真相源', + /href=["']\/docs\/(?:design|goal|verification|deployment|api-contracts|current-gap-audit|implementation-status|soft-delete)(?:[/#?]|["'])/u, + /完整功能设计/u, + /设计真相源/u, ] export function publicDocsBodyOk(body) { @@ -66,7 +59,7 @@ export function publicDocsBodyOk(body) { body.includes('data-ai-agent-directive') && body.includes('data-nb-sidebar') && body.includes('data-search-dialog') && - forbiddenPublicDocsPatterns.every((item) => !body.includes(item)) + forbiddenPublicDocsPatterns.every((pattern) => !pattern.test(body)) ) } @@ -136,6 +129,12 @@ function canonicalJson(value) { return JSON.stringify(value) } +function canonicalAuthConfig(value) { + if (!value || typeof value !== 'object' || Array.isArray(value)) return canonicalJson(value) + const { guest: _flowCapability, ...stableConfig } = value + return canonicalJson(stableConfig) +} + const docsHomeTextRequired = [ '