hyperledger-identus / hyperledger-identus/sdk-rust

Factory: paginate hosted PR closing-issue evidence

Open
#308 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
0
Forks
0
Avg merge
39m
Merged PRs (30d)
153

Description

## Outcome

Ensure historical metrics publication can validate a recorded issue when an authoritative pull request has more than 100 closing-issue references.

## Context

Discovered during hosted review of #307 after the routine remediation cutoff. The current bounded GraphQL query reads the first 100 `closingIssuesReferences`. It fails closed when the recorded issue is outside that page, so this is independent availability hardening rather than a forged-publication risk.

## Acceptance criteria

- Create an OpenSpec-first bounded factory change from current `develop`.
- Paginate `closingIssuesReferences` with an explicit cursor and deterministic upper/resource bound.
- Preserve exact repository + issue matching and fail closed on malformed, cyclic, or over-bound pagination.
- Add positive multi-page, absent-link, wrong-repository, malformed-page, and bound-exhaustion tests.
- Keep GitHub responses and credentials out of public metrics/errors.

## Evidence

- Source PR: #307
- Review thread: https://github.com/hyperledger-identus/sdk-rust/pull/307#discussion_r4029693481

Contributor guide

Open the contributing guide

Research direction

Start from the bounded GraphQL query for closingIssuesReferences and the factory path used for historical metrics publication, using current develop and source PR #307 for context. Add tests covering positive multi-page, absent-link, wrong-repository, malformed-page, and bound-exhaustion cases. Done means bounded cursor pagination preserves exact matching, fails closed safely, and exposes no GitHub responses or credentials.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, graphql, rust
Domain
backend-api-design, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.