Skip to content

Resolve Git metadata without blocking the server - #108

Draft
a-monteiro wants to merge 1 commit into
supermemoryai:mainfrom
a-monteiro:andre/upstream-async-git-tags
Draft

a-monteiro wants to merge 1 commit into
supermemoryai:mainfrom
a-monteiro:andre/upstream-async-git-tags

Conversation

@a-monteiro

Copy link
Copy Markdown

Replace synchronous Git probes with bounded asynchronous execFile calls and resolve metadata once per tag resolution. Slow Git processes no longer block the server event loop. Successful canonical and legacy tags, read ordering, configuration precedence, and worktree identity stay unchanged. Timeouts reject resolution instead of caching a different memory identity.

A sanitized delayed-Git regression wraps Git with a 0.6-second delay and verifies that a timer runs before resolution finishes. Tests also cover probe counts, timeout recovery, tag parity, worktree isolation, and V2 single-flight/retry behavior. All 43 tests, typecheck, and build pass with an isolated test HOME on macOS. No version bump or generated artifacts.

Related to #101 and #102: windowsHide is retained, but Windows execution has not been verified locally.

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