Skip to content

feat(research): persist ranking observations#49

Draft
hubab1 wants to merge 1 commit into
32c-research-project-storefrom
33a-research-ranking-workflow
Draft

feat(research): persist ranking observations#49
hubab1 wants to merge 1 commit into
32c-research-project-storefrom
33a-research-ranking-workflow

Conversation

@hubab1

@hubab1 hubab1 commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • add an app-only, generation-safe ranking workflow for pre-live keyword research projects
  • persist complete 200-result shared ranking crawls without creating fake tracked apps, tracked keywords, ranks, or refresh statuses
  • make shared and tracked ranking persistence independently monotonic, deterministic, and rollback-safe
  • rebuild shared keyword statistics in the owning transaction and schedule metadata enrichment only after a successful commit
  • preserve App Store Web versus iTunes catalog, language, metadata, and rating provenance
  • protect shared UI model contexts from committing or rolling back unrelated pending edits
  • route the production coordinator-backed MCP persistence paths through the same full-result and post-commit rules

Safety and scope

  • no schema change
  • no credential or session handling
  • no UI surface
  • no live-store launch was performed because this stack inherits the manually gated V5 persistence work
  • stale project/keyword incarnations, cancellation, provider failure, partial pages, delayed sources, equal retries, and batch rollback are covered

This is a stacked draft based on 32c-research-project-store / #48. It should remain draft until the persistence/provider stack receives maintainer approval. It progresses #3 but does not close it.

Validation

  • 140 focused regression tests passed
  • 374 full OpenASO tests passed
  • signed Debug build passed
  • codesign --verify --deep --strict passed
  • project-file lint and whitespace checks passed
  • independent final reviews found no remaining P0-P2 issues

Inherited limitation

The standalone OpenASOMCP scheme still has its pre-existing missing source-membership/type failures. This PR does not broaden into that separate repair; MCP behavior is covered through the main app/test scheme.

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