Context
src/signals/focus-manifest.ts:812-832 fully implements and documents deriveContributionLanes ("Derive public-safe... contribution lanes from a focus manifest"), with an exported type, but has zero callers outside its own test. Production contributor-guidance output instead flows through a separate, differently-shaped RepoPolicyContributionLane/RepoOnboardingContributionLane model in src/signals/onboarding-pack.ts — suggesting deriveContributionLanes is a superseded, orphaned implementation from before onboarding-pack.ts's model was built.
Requirements
- Confirm via a fresh repo-wide search that
deriveContributionLanes and its exported type have zero real callers.
- Confirm
onboarding-pack.ts's RepoPolicyContributionLane/RepoOnboardingContributionLane model genuinely covers the same use case deriveContributionLanes was built for (read both implementations' doc comments to confirm equivalent intent, not just similar naming).
- If confirmed superseded, remove
deriveContributionLanes and its type from focus-manifest.ts, along with its dedicated test.
- If the two models actually serve different purposes (e.g. one is public-facing and the other isn't, in a way that matters), keep both but fix
deriveContributionLanes's misleading lack of any caller by wiring it into whatever public-facing surface actually needs it — don't leave an ambiguous outcome.
Deliverables
Expected Outcome
No orphaned, functionally-superseded contribution-lane implementation remains alongside the one actually in production use.
Links & Resources
src/signals/focus-manifest.ts:812-832
src/signals/onboarding-pack.ts (the model actually in production use)
Context
src/signals/focus-manifest.ts:812-832fully implements and documentsderiveContributionLanes("Derive public-safe... contribution lanes from a focus manifest"), with an exported type, but has zero callers outside its own test. Production contributor-guidance output instead flows through a separate, differently-shapedRepoPolicyContributionLane/RepoOnboardingContributionLanemodel insrc/signals/onboarding-pack.ts— suggestingderiveContributionLanesis a superseded, orphaned implementation from beforeonboarding-pack.ts's model was built.Requirements
deriveContributionLanesand its exported type have zero real callers.onboarding-pack.ts'sRepoPolicyContributionLane/RepoOnboardingContributionLanemodel genuinely covers the same use casederiveContributionLaneswas built for (read both implementations' doc comments to confirm equivalent intent, not just similar naming).deriveContributionLanesand its type fromfocus-manifest.ts, along with its dedicated test.deriveContributionLanes's misleading lack of any caller by wiring it into whatever public-facing surface actually needs it — don't leave an ambiguous outcome.Deliverables
deriveContributionLanesremoved (if confirmed redundant withonboarding-pack.ts's model), or wired into a real public-facing call site (if genuinely distinct).Expected Outcome
No orphaned, functionally-superseded contribution-lane implementation remains alongside the one actually in production use.
Links & Resources
src/signals/focus-manifest.ts:812-832src/signals/onboarding-pack.ts(the model actually in production use)