Skip to content

feat(keywords): add bounded market insights core#40

Draft
hubab1 wants to merge 1 commit into
20c-estimated-difficulty-surfacesfrom
22-market-insights-core
Draft

feat(keywords): add bounded market insights core#40
hubab1 wants to merge 1 commit into
20c-estimated-difficulty-surfacesfrom
22-market-insights-core

Conversation

@hubab1

@hubab1 hubab1 commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • add one shared read-only service for explicit app, storefront, platform, and optional keyword scopes
  • distinguish ranked, not ranked, never refreshed, untracked, failed with cached evidence, failed without evidence, and bounded-scan unavailable states
  • aggregate best, worst, average, spread, freshness, partial-data reasons, and stored estimated-difficulty provenance without network work
  • use fixed-size scope-bound cursors, bounded track/snapshot/status scans, generation-safe status resolution, cancellation checks, and deterministic ordering

Safety and review status

  • Read-only: no provider calls, persistence writes, or automatic all-market fan-out
  • Stacked on PR feat(keywords): expose estimated difficulty evidence #39 because it consumes the reviewed ranking, status, and estimated-difficulty persistence stack
  • Kept as a draft/category-B review until ranking-source and estimated-difficulty semantics are accepted
  • The app was built and code-sign verified without launching it against the live V4 store

Verification

  • 20/20 focused KeywordMarketInsightsService tests
  • 424/424 full repository tests on the isolated core commit
  • signed Debug build and strict codesign verification
  • final independent semantic review: P1/P2 clear

Attribution

Independent rewrite informed by the useful market-comparison idea in upstream WIP commit akshaynexus@441b871. The unsafe global fan-out implementation was not carried forward. Source link only; no co-author trailer.

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.

1 participant