From 414e5d8f84715058e004a79340cf470912603c40 Mon Sep 17 00:00:00 2001 From: bitfathers94 <237535319+bitfathers94@users.noreply.github.com> Date: Mon, 27 Jul 2026 13:02:04 +0000 Subject: [PATCH] fix(signals): render discouragedPaths in onboarding-pack preview markdown buildPreviewMarkdown dropped the sanitized discouragedPaths lane field, rendering only preferredPaths, validationExpectations, and publicNotes. Add the missing appendNestedList call so contributors see discouraged paths that the underlying lane data already carries. --- src/signals/onboarding-pack.ts | 1 + test/unit/onboarding-pack.test.ts | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/signals/onboarding-pack.ts b/src/signals/onboarding-pack.ts index 4d7b34ed95..d139b7731b 100644 --- a/src/signals/onboarding-pack.ts +++ b/src/signals/onboarding-pack.ts @@ -410,6 +410,7 @@ function buildPreviewMarkdown(preview: RepoOnboardingPackPreview): string { preview.contributionLanes.forEach((lane) => { lines.push(`- ${lane.title}: ${lane.summary}`); appendNestedList(lines, "Preferred paths", lane.preferredPaths); + appendNestedList(lines, "Discouraged paths", lane.discouragedPaths); appendNestedList(lines, "Validation", lane.validationExpectations); appendNestedList(lines, "Notes", lane.publicNotes); }); diff --git a/test/unit/onboarding-pack.test.ts b/test/unit/onboarding-pack.test.ts index a9a6967679..4eaad3ac27 100644 --- a/test/unit/onboarding-pack.test.ts +++ b/test/unit/onboarding-pack.test.ts @@ -96,11 +96,31 @@ describe("buildRepoOnboardingPackPreview", () => { "Confirm contribution guidance stays previewable before publication.", ); expect(preview.previewMarkdown).toContain("Direct PR quality lane"); + expect(preview.previewMarkdown).toContain("Discouraged paths: scripts/release/"); expect(preview.previewMarkdown).toContain("Label policy"); expect(preview.previewMarkdown).toContain("Validation expectations"); expect(preview.previewMarkdown).toContain("Readiness warnings"); }); + it("omits the Discouraged paths lane entry when discouragedPaths is empty", () => { + const preview = buildRepoOnboardingPackPreview({ + ...POLICY_COMPILER_FIXTURE, + contributionLanes: [ + { + id: "docs-lane", + title: "Docs lane", + summary: "Documentation-only improvements.", + preferredPaths: ["docs/"], + discouragedPaths: [], + validationExpectations: ["Run npm run test:ci before submission."], + }, + ], + }); + + expect(preview.previewMarkdown).toContain("Preferred paths: docs/"); + expect(preview.previewMarkdown).not.toContain("Discouraged paths"); + }); + it("keeps private owner context out of public onboarding material", () => { const preview = buildRepoOnboardingPackPreview({ ...POLICY_COMPILER_FIXTURE,