Copilot
a26ac55fb0
fix(lbug): Recover gitnexus analyze from orphan LadybugDB sidecars when main DB file is missing ( #1622 )
...
* Initial plan
* fix: recover from orphan lbug sidecars on init
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/6e8ea6e8-f9ab-46ff-9c1b-4d2c73a6452c
* test: strengthen orphan sidecar recovery coverage
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/6e8ea6e8-f9ab-46ff-9c1b-4d2c73a6452c
* fix(lbug): only clean orphan sidecars when DB is missing
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/a34217b5-0e98-4949-bae1-2a50933f291e
* test(lbug): cover no-cleanup path when db file exists
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/a34217b5-0e98-4949-bae1-2a50933f291e
* test(lbug): use errno-shaped ENOENT mocks for sidecar recovery
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/a34217b5-0e98-4949-bae1-2a50933f291e
* test(lbug): cover partial sidecar and unlink-failure recovery cases
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/a34217b5-0e98-4949-bae1-2a50933f291e
* refactor(lbug): tighten ENOENT detection and test naming
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/a34217b5-0e98-4949-bae1-2a50933f291e
* test(lbug): normalize errno mock helpers across sidecar tests
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/a34217b5-0e98-4949-bae1-2a50933f291e
* docs(lbug): annotate orphan `.wal.checkpoint` cleanup provenance
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/7edf5156-43e0-412d-87a4-bf4b2934deac
* test(lbug): clarify unlink-failure path test intent
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/7edf5156-43e0-412d-87a4-bf4b2934deac
* fix(lbug): handle orphan-sidecar cleanup error paths explicitly
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/93294b2c-57f6-459c-8eb2-86e3b8920fb0
* refactor(lbug): extract errno and error-summary helpers
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/93294b2c-57f6-459c-8eb2-86e3b8920fb0
* test(lbug): expand non-ENOENT lstat coverage and remove magic number
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/93294b2c-57f6-459c-8eb2-86e3b8920fb0
* test(lbug): add native integration test for orphan sidecar recovery
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/2dd28264-4604-430a-a249-af52afd29245
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
* test(lbug): annotate best-effort catch in integration test cleanup
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/2dd28264-4604-430a-a249-af52afd29245
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
* chore(autofix): apply prettier + eslint fixes via /autofix command
* fix(lbug): add cross-process init lock for orphan sidecar cleanup with integration tests
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/e4cbcfec-a252-449d-8d65-2f3570a253f8
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
* refactor(lbug): use INIT_LOCK_STALE_MS in stale lock detection and address review feedback
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/e4cbcfec-a252-449d-8d65-2f3570a253f8
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
* style(lbug): fix Prettier line-length violation in acquireInitLock fs.open call
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/a140b567-0e9b-4ec9-a158-9fe6b8685ec2
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
* fix(lbug): ensure parent directory exists before creating init lock file
acquireInitLock tried to create `${dbPath}.init.lock` using O_CREAT | O_EXCL,
but on a fresh repo the parent directory (`.gitnexus/`) doesn't exist yet —
the mkdir call was inside the locked section. This caused ENOENT failures
on all platforms (Windows, macOS, Ubuntu) during `gitnexus analyze`.
Move mkdir to before the lock file creation attempt.
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/6883dc3c-36eb-4907-bcd8-61d23e2c641a
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
* test(lbug): verify acquireInitLock succeeds when parent directory does not exist
Adds an integration test proving the fix from the previous commit:
acquireInitLock now creates the parent directory before attempting
to create the lock file, preventing ENOENT on fresh repos.
Agent-Logs-Url: https://github.com/abhigyanpatwari/GitNexus/sessions/6883dc3c-36eb-4907-bcd8-61d23e2c641a
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Gergő Magyar <gergomagyar@icloud.com>
Co-authored-by: magyargergo <11230420+magyargergo@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-16 11:45:32 +01:00