Document why the BLS-grounded Market Potential pipeline isn't wired in (#266) - #271
Merged
Merged
Conversation
#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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-potentialor the Dashboard — both still use the AI-guess-onlyICompensationEstimationService(#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:
IMarketPotentialPipeline.GetCompensationAsyncneeds a BLS series ID per matched occupation as an input parameter.MarketPotentialPipelineTests), but the piece that would feed it real occupation→series IDs never arrived, and nobody's decided what replaces it.Wiring
MarketPotentialPipelineinto 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", contradictingIMarketPotentialPipeline'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 toIMarketPotentialPipelineas 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.