Repository navigation
feat: diffx-fetcher with leased, repo-scoped pull request fetches - #116
Merged
Merged
Conversation
Server leases coalesced refresh intent on an internal listener with a shared secret and a contents:read installation token; diffx-fetcher mirrors with partial clones and collects offline; the server authors the observation and admits it to every verified follower atomically with lease completion.
flexdinesh
marked this pull request as ready for review
October 25, 2026 06:33
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stack 3/4:
diffx-fetcherand leased, repo-scoped fetches.githubsyncleases coalesced refresh intent (Lease/Finish), reads the PR and mints acontents:readtoken scoped to that repository, and authors the observation itself (identity, labels,pullRequest, deterministic submission ID; Resync run makes it fresh). Fan-out admits every verified follower in one transaction with lease completion. Newinternal/fetchprotocol,internal/fetcherandcmd/diffx-fetcher: partial-clone mirrors, changed-blob prefetch, offline collection underGIT_NO_LAZY_FETCH, hardened git env, LRU disk cap (20 GiB default).DIFFX_SERVER_INTERNAL_PORT(default 7979, same host as public, never published) authenticated byDIFFX_SERVER_FETCHER_SECRET(≥32 chars, required with GitHub). Results accepted only for the current lease token and leased head/base SHAs; failures back off 1 min → 1 h. Server image stays scratch; fetcher is a separate Alpine target behind compose profilegithub.mise run checkpasses. Lease/fan-out tests (generation, retention-run and base-SHA guards mutation-checked); fetcher tests on a real git origin; end-to-end test git origin → fetcher → lease/finish → stored review. Real binaries: internal port 401/401/204/409, public port refuses, fetcher polls. Images built. Risks: collector 30 s timeout for huge PRs; no proxy/CA passthrough; corrupt mirror needs manual removal.docs/system.md,docs/architecture.md,docs/development.md.