Skip to content

fix: bound GitHub pagination and credential forwarding - #192

Merged
YuzeJ21 merged 5 commits into
mainfrom
codex/github-pagination-boundary
Aug 12, 2026
Merged

fix: bound GitHub pagination and credential forwarding#192
YuzeJ21 merged 5 commits into
mainfrom
codex/github-pagination-boundary

Conversation

@YuzeJ21

@YuzeJ21 YuzeJ21 commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • validate every GitHub pagination target before use and reissue accepted targets only to the verified HTTPS api.github.com origin
  • bind file and commit traversal to the requested repository, pull request, collection, and GitHub's numeric repository alias only when that alias matches verified PR metadata
  • enforce deterministic per-fetch request, page, item, decoded-response, file, and commit ceilings
  • stop file and commit retrieval at the smallest observable overflow while preserving API order and marking incomplete evidence partial
  • reject ambiguous, malformed, escaped, cyclic, repeated, or over-budget pagination fail closed
  • preserve saved reviews, reports, exports, and Streamlit session state when pagination ingestion fails

Review-driven correction

The first independent review found that real GitHub pagination may canonicalize named repository paths to /repositories/{id}/.... A live public API response reproduced that behavior. Focused failing regressions were added for file and commit pages plus a mismatched numeric repository ID, then the validator was corrected to accept only the numeric ID bound to verified pull-request metadata. The complete verification below was rerun on the repaired head.

Verification

  • Ruff: passed
  • complete suite: 2,049 passed, 2 intentional skips
  • combined coverage: 95.24%
  • repository contracts: 84 passed
  • deterministic acceptance benchmark: 12/12 cases, zero mismatches, zero must-have False Ready outcomes, zero false blockers
  • comparison benchmark: 2/2 cases, zero mismatches; Stage 1 unchanged
  • two byte-identical wheel builds: SHA-256 07633f74035559e085cdf18839a4b966cf7bbfffa466ebed15b9f1b15c496b01
  • artifact inventory: 101 entries, zero forbidden entries
  • clean installed-wheel dependency, version, CLI, benchmark, and loopback workbench-health checks: passed
  • installed-wheel packaged Chromium regression: 3 passed
  • local CPython 3.11.15 and 3.13.14 lanes: complete suites passed before the final canonical-path repair; the repair's focused tests, exact repaired wheel installs, dependency checks, versions, and installed benchmarks passed in both lanes
  • independent review: the initial Important finding was corrected test-first; exact repaired-head re-review passed its focused tests and lint with no remaining reported finding

Evidence boundary

This is engineering evidence only. ScopeProof remains an evidence assistant, not a correctness oracle; it never executes target-repository code. Partial ingestion remains fail closed, persisted/exported objects remain Pydantic-validated, and the opt-in GitHub Action remains informational. No release, tag, package publication, outreach, participant contact, benchmark retuning, or product-stage advancement is included.

Product Stage 1 remains exactly:

  • 0/5 qualifying reviews
  • 0/3 independent practitioners
  • 0/3 public repositories
  • 0/3 independently observed under-ten-minute completions
  • 0/2 reuse-intent signals

Unsupported environments remain real screen-reader operation, Windows desktop workflow, Linux desktop workflow, non-Chromium browser behavior, and accessibility conformance.

@YuzeJ21
YuzeJ21 merged commit 9426e87 into main Aug 12, 2026
8 checks passed
@YuzeJ21
YuzeJ21 deleted the codex/github-pagination-boundary branch August 12, 2026 14:13
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