Skip to content

Push Git notes asynchronously per repository family - #2117

Open
svarlamov wants to merge 7 commits into
feat/git-notes-http-isolation-timeoutsfrom
feat/git-notes-async-push-worker
Open

Push Git notes asynchronously per repository family#2117
svarlamov wants to merge 7 commits into
feat/git-notes-http-isolation-timeoutsfrom
feat/git-notes-async-push-worker

Conversation

@svarlamov

@svarlamov svarlamov commented Aug 10, 2026

Copy link
Copy Markdown
Member

Summary

  • Capture immutable push destinations from trace2 transport events without adding Git work to ingestion.
  • Queue Git-notes delivery only after the user push completes.
  • Serialize pushes per repository family, coalesce repeated destinations, and bound ingress, per-command, and per-family queues.
  • Deliver notes to every distinct traced push URL, including mirrored remotes.
  • Add structured lifecycle, overflow, failure, and timeout logging.
  • Cover prompt return, retries, explicit, relative, and mirrored destinations, HTTP isolation, and worker concurrency with TestRepo-based and focused trace regressions.

Verification

  • task fmt
  • task lint
  • task build
  • task test CARGO_TEST_ARGS="--lib" — 2,197 passed
  • task test CARGO_TEST_ARGS="--test notes_sync_regression" — 26 passed

Stack 2/2; depends on #2116.

Fixes #2099.

devin-ai-integration[bot]

This comment was marked as resolved.

@svarlamov
svarlamov force-pushed the feat/git-notes-async-push-worker branch from e8bde08 to fee4228 Compare August 10, 2026 18:49
devin-ai-integration[bot]

This comment was marked as resolved.

@svarlamov
svarlamov force-pushed the feat/git-notes-async-push-worker branch from fee4228 to 4fda767 Compare August 10, 2026 19:17
devin-ai-integration[bot]

This comment was marked as resolved.

@svarlamov
svarlamov force-pushed the feat/git-notes-async-push-worker branch from 4fda767 to 538a996 Compare August 10, 2026 19:38
devin-ai-integration[bot]

This comment was marked as resolved.

Capture immutable push destinations from trace2 transport events and enqueue best-effort Git-notes delivery after the user push completes. Serialize work per repository family, coalesce repeated destinations, bound every queue, and allow independent families to progress concurrently.\n\nAdd structured lifecycle, overflow, failure, and timeout logging plus TestRepo coverage for prompt return, retry behavior, explicit destinations, HTTP isolation, and worker concurrency.\n\nFixes #2099.
@svarlamov
svarlamov force-pushed the feat/git-notes-async-push-worker branch from 538a996 to b175a66 Compare August 10, 2026 19:52
devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

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.

Push-time authorship-notes fetch blocks git push for minutes (killing the daemon makes pushes instant); pure-cost fetch on HTTP notes backend

1 participant