Skip to content

feat(backend): add dependency-aware readiness and recovery diagnostics #134

Open

Description

@arisu6804

Problem

A process can report healthy while its database, payment provider, or FX dependency is unavailable.

Objective

Deliver a production-quality improvement to health endpoints and payment/FX dependencies that creates measurable value for correctness, security, reliability, performance, or maintainability.

Implementation scope

  • Separate liveness and readiness; add bounded checks and redacted reason codes; ensure recovery does not require restart.

Acceptance criteria

  • Liveness remains responsive during outages; readiness accurately changes and recovers; dependency checks cannot hang.

Required validation

  • Dependency failure, timeout, recovery, status-code, and redaction tests.
  • Existing tests and CI remain passing.
  • Add regression coverage for the original failure mode.
  • Do not weaken, delete, or skip unrelated tests to obtain a green build.

PR quality bar

  • Keep the PR focused and explain design tradeoffs, compatibility impact, and test evidence.
  • Avoid typo-only, documentation-only, cosmetic-only, or unrelated refactor submissions.

Out of scope

  • Broad rewrites not required by the acceptance criteria.
  • Changes to unrelated services, contracts, or user flows.

Activity

  1. Ranjeet2063 commented on Oct 4, 2026

    @Ranjeet2063

    Hello maintainers,

    I am interested in taking up feat(backend): add dependency-aware readiness and recovery diagnostics.

    Plan:

    1. Audit storage layout and state invariants ensuring strict auth guards.
    2. Implement deterministic state transitions with safe checked arithmetic.
    3. Add hermetic unit and regression tests covering authorized, unauthorized, and boundary edge cases.
    4. Profile instruction and CPU/gas limits under Soroban host environment.

    Ready to implement immediately upon assignment. Please feel free to assign!

  2. woahwhattheheck commented on Oct 6, 2026

    @woahwhattheheck

    /claim #134
    PR: #140

  3. Rodrigoue9 commented on Oct 7, 2026

    @Rodrigoue9

    Hi @maintainers! I'd like to work on this issue. Here is my proposed technical approach:

    Proposed Technical Approach:

    1. Architecture & State Guard: Implement deterministic state handling, deduplicating transfer submissions and adding correlation IDs/readiness checks across routes.
    2. Validation & Currency Rules: Centralize precision and currency boundaries preventing rounding inaccuracies or overflow.
    3. Automated Testing: Backfill comprehensive unit and integration tests simulating network retries, race conditions, and currency edge cases.

    Key Files:

    • src/** (transfer handlers, state stores, and validation utilities)
    • tests/** (unit and integration suites)

    Verification & Testing:

    • Run pnpm test / pytest with 100% pass rate.
    • Run linter and typecheck with zero errors.

    Relevant Track Record:

    I have successfully implemented and merged multiple production PRs across the Stellar ecosystem and Web3 open-source projects (e.g., cybermax4200/stellar-did-credit #898 & #900, Bitcoindefi/OpenAO #218, and FindMalek/sonaraem #416).

    Please feel free to assign this issue to me so I can proceed with the implementation. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    GRANTFOX OSSOpen-source issue tracked by GrantFoxMAYBE REWARDEDThis issue may carry a rewardThird CampaignThird Campaign contributionenhancementNew feature or requestpriority:mediumMedium implementation priority

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions