Predictify-org / Predictify-org/predictify-frontend

[Quality-2][Medium] Make portfolio history cursors insertion-safe

Open
#896 5 comments 0 reactions 1 assignee View on GitHub

@blizzj is already working on this.

Since Aug 28, 2026.

Stellar Wave
Dominant language
TypeScript
Stars
4
Forks
194
Avg merge
15h 38m
Merged PRs (30d)
23

Description

Summary

Implement Make portfolio history cursors insertion-safe as a production-ready change in Predictify-org/predictify-frontend.

Why this matters

The implementation must be deterministic and reviewable so normal operation and adverse conditions do not cause silent data loss, inconsistent state, security regressions, or an unrecoverable user experience. This issue specifically requires loading, error, retry, stale, and permission states without losing user data.

Scope

Trace the relevant entry points, state model, and failure paths; implement the smallest complete design; preserve public interfaces unless a compatibility plan is included; and document important invariants in code.

Priority

Medium

Acceptance criteria

  • The intended behavior is deterministic for valid, invalid, duplicate, and boundary-case inputs.
  • Authorization, validation, and state-transition invariants remain enforced.
  • Retries, partial failure, and concurrent execution cannot produce an unsafe or inconsistent result.
  • Focused tests cover success, rejection, boundary, and regression scenarios.
  • Existing callers remain compatible, or the PR includes a tested migration path.
  • Relevant logs, metrics, or user-visible errors make failures diagnosable without exposing sensitive data.

Validation

Run focused tests and repository CI checks with evidence for normal operation, invalid input, retries, concurrency or timing boundaries, and failure recovery where applicable.

Non-goals

  • Typo-only, formatting-only, documentation-only, or cosmetic changes.
  • Unrelated refactors, dependency upgrades, or broad rewrites.
  • Removing safeguards or weakening validation to make tests pass.

Contributor application

Before coding, describe affected modules, proposed state/invariant changes, test strategy, compatibility considerations, and an estimate. Wait for assignment before starting implementation.

PR requirements

Use a feature branch and include Closes #<issue-number>. Address every criterion, map criteria to code and tests, explain security and failure-mode handling, and ensure CI passes.

Quality review

A maintainer will assess correctness, completeness, test depth, compatibility, observability, and adverse-case handling. A substantive implementation is required; merge or CI status alone does not guarantee reward eligibility.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.