Skip to content

Document why the BLS-grounded Market Potential pipeline isn't wired in (#266) - #271

Merged
Monster0506 merged 1 commit into
mainfrom
docs/266-unwired-bls-pipeline
Sep 20, 2026
Merged

Monster0506 merged 1 commit into
mainfrom
docs/266-unwired-bls-pipeline

Conversation

@Monster0506

Copy link
Copy Markdown
Member

Summary

#266 asked whether IMarketPotentialPipeline/MarketPotentialPipeline (the BLS-grounded compensation pipeline from #96-#99) is dead code or an unfinished migration, since it's registered in DI but never called from /market-potential or the Dashboard — both still use the AI-guess-only ICompensationEstimationService (#148), whose UI explicitly says "AI estimate - not based on live wage data".

What I found

This isn't an oversight, and it isn't a simple wiring task:

Wiring MarketPotentialPipeline into the UI now means first deciding how to get that mapping without O*NET — e.g. a fixed lookup table for common occupation titles, or a second LLM call to guess a series ID (which would mean AI is back in "choosing the number", contradicting IMarketPotentialPipeline's own doc comment that "no AI participates in choosing the numbers"). That's a product/architecture call, not something I should just decide inside a bug-fix PR.

Changes

Doc-comments only, no behavior change:

  • IMarketPotentialPipeline: added a <remarks> explaining it's currently unused by the UI and why, linking back to External data integration: eBay, O*NET, BLS (accounts + wiring) #177.
  • ICompensationEstimationService: added a <remarks> pointing forward to IMarketPotentialPipeline as the real replacement once the mapping question is resolved, so someone reading either side finds the other.

Verification

  • dotnet test — all 221 tests pass (no logic changed).
  • dotnet csharpier check — clean on both touched files.

Closes #266.

#266)

IMarketPotentialPipeline/MarketPotentialPipeline (#96-99) is registered
in DI but never called from any page - /market-potential and the
Dashboard both still use the AI-guess-only ICompensationEstimationService
(#148). This isn't dead code or an oversight: GetCompensationAsync needs
a BLS series ID per matched occupation, which was meant to come from
O*NET occupation data (#93/#94), but eBay and O*NET were both dropped
from project scope (#177) before that occupation-to-series mapping was
built. Wiring the real pipeline into the UI requires first deciding how
to get that mapping without O*NET.

Documented this on both interfaces (with a cross-reference between them)
so a future contributor doesn't have to re-discover it, and so it isn't
mistaken for abandoned code.

No behavior change - doc comments only.
@Monster0506
Monster0506 merged commit 133140a into main Sep 20, 2026
2 checks passed
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.

Market Potential page bypasses the BLS-grounded MarketPotentialPipeline (unused code or unfinished migration?)

1 participant