Skip to content

feat: add MCP logging, split docs clone, and parallelize sync#7

Merged
critesjosh merged 3 commits intomainfrom
feat/sync-logging
Mar 3, 2026
Merged

feat: add MCP logging, split docs clone, and parallelize sync#7
critesjosh merged 3 commits intomainfrom
feat/sync-logging

Conversation

@critesjosh
Copy link
Collaborator

@critesjosh critesjosh commented Mar 2, 2026

Summary

  • Adds structured MCP logging (server.sendLoggingMessage) throughout the sync/clone/update lifecycle so clients get real-time progress visibility
  • Logs repo-by-repo status, git fetch/checkout stages, sparse-checkout paths, and error details at appropriate levels (info/debug/warning/error)
  • Includes gc.auto=0 fix for blobless clones to prevent the gc race condition (previously on fix/gc-race-condition branch)
  • Splits sparsePathOverrides into a separate clone: instead of overlaying next branch content into the blobless tag clone of aztec-packages (which triggered slow one-by-one lazy blob fetching or SIGSEGV for ~2600 files), creates a separate shallow clone (aztec-packages-docs) for the docs paths
  • Parallelizes independent repo clones: after the blocking aztec-packages clone + noir commit extraction, all remaining repos (noir, noir-examples, aztec-examples, aztec-starter, demo-wallet, gregoswap, aztec-packages-docs) clone in parallel via Promise.all

Test plan

  • Run aztec_sync_repos --force and verify all 8 repos clone successfully
  • Verify aztec-packages clones at tag without sparsePathOverrides overlay — no SIGSEGV or slow blob fetching
  • Verify aztec-packages-docs clones separately from next branch with docs sparse paths
  • Verify parallel cloning via interleaved log messages
  • Verify searchAztecDocs returns results from aztec-packages-docs
  • All 107 tests pass, build compiles clean

🤖 Generated with Claude Code

…ility

Adds structured logging throughout the clone/update lifecycle so MCP clients
can surface progress messages (repo-by-repo status, git fetch/checkout stages,
sparse-checkout paths, and error details). Also includes the gc.auto=0 fix
for blobless clones to prevent the race condition.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
critesjosh and others added 2 commits March 2, 2026 17:08
- Catch sendLoggingMessage rejections to prevent unhandled promise
  rejections when the client disconnects during sync
- Only pass logger arg to cloneRepo when defined, preserving the
  two-argument call contract for callers without logging

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Instead of overlaying docs from the `next` branch into the blobless tag
clone of aztec-packages (which triggered slow one-by-one lazy blob
fetching or SIGSEGV), create a separate shallow clone
(`aztec-packages-docs`) for the docs paths. All independent repos now
clone in parallel via Promise.all after the blocking aztec-packages
clone completes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@critesjosh critesjosh changed the title feat: add MCP logging to sync operations feat: add MCP logging, split docs clone, and parallelize sync Mar 3, 2026
@critesjosh critesjosh merged commit 7377b6f into main Mar 3, 2026
6 checks passed
@critesjosh critesjosh deleted the feat/sync-logging branch March 3, 2026 01:31
@github-actions
Copy link

github-actions bot commented Mar 3, 2026

🎉 This PR is included in version 1.10.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant