Skip to content

feat(research): add project detail presentation model#53

Draft
hubab1 wants to merge 2 commits into
34b-research-project-list-modelfrom
34c-research-project-detail-model
Draft

feat(research): add project detail presentation model#53
hubab1 wants to merge 2 commits into
34b-research-project-list-modelfrom
34c-research-project-detail-model

Conversation

@hubab1

@hubab1 hubab1 commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a closure-injected project-detail model for scoped keyword membership management
  • thread every returned project revision through add, remove, and edit operations
  • keep ranking and popularity refresh lanes independent for each exact keyword incarnation
  • preserve valid pagination while requiring reconciliation when a mutation supersedes an unknown initial page

Correctness

  • mutations and provider refreshes check cancellation before starting but publish successful committed returns without a post-commit cancellation lie
  • replacement projects and stale completions are generation-checked
  • refresh lanes are keyed by full keyword generation, so remove/recreate with the same UUID cannot inherit stale evidence or a stuck spinner
  • canceled non-cancellation errors restore loading/refresh state
  • continuation availability is hidden whenever reconciliation is required, matching the guarded paging operation
  • structured Apple Ads outcomes remain successful evidence even when they carry a reconnect, fallback, or availability issue
  • destructive conflicts are surfaced and never retried automatically

Validation

  • 10 focused detail-model tests passed
  • 437 tests pass at this stack boundary; 445 passed at the current stacked UI head
  • signed Debug build passed
  • strict deep code-sign verification passed
  • all independent-review findings were fixed and the final P1/P2 review was clear
  • GitHub Actions is green for the amended head

Review gate

This is a stacked draft on PR #52 / 34b-research-project-list-model. It adds no UI entry point, performs no automatic provider work, and was not launched against the maintainer's live V5 store.

Implementation is independent; no external co-author applies.

@hubab1
hubab1 force-pushed the 34c-research-project-detail-model branch from 6db5436 to fd184e4 Compare July 19, 2026 12:29
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