Skip to content

fix(group): move manifest/workspace extraction before closeLbug (#1802)#1807

Merged
magyargergo merged 3 commits into
mainfrom
fix/manifest-extractor-after-closelbug-1802
May 24, 2026
Merged

fix(group): move manifest/workspace extraction before closeLbug (#1802)#1807
magyargergo merged 3 commits into
mainfrom
fix/manifest-extractor-after-closelbug-1802

Conversation

@magyargergo

Copy link
Copy Markdown
Collaborator

Summary

  • Fix issue ManifestExtractor runs after closeLbug() — "LadybugDB not initialized" warnings on every group sync #1802: syncGroup closed LadybugDB pools before running discoverWorkspaceLinks and ManifestExtractor.extractFromManifest, causing "LadybugDB not initialized" warning spam and loss of graph-backed manifest symbol resolution
  • Restructure pool lifecycle so manifest/workspace extraction runs inside an outer try block with pools still open; finally closes pools only after processing completes or throws
  • Add regression test proving executeParameterized fires before closeLbug and that manifest cross-links use real DB UIDs (not synthetic fallback)

Test plan

  • npm run test:unit -- test/unit/group/sync.test.ts — all pass (including new ordering test)
  • npm run test:unit -- test/unit/group/manifest-extractor.test.ts — all pass
  • Full unit suite: 6386 tests pass, 289 test files
  • npx tsc --noEmit — clean
  • Existing extractorOverride no-DB path still produces synthetic UIDs
  • Workspace_deps integration tests still pass

Closes #1802

syncGroup closed all LadybugDB pools in `finally` before running
discoverWorkspaceLinks and ManifestExtractor.extractFromManifest,
causing executor closures to resolve against dead pools. Restructure
so both run inside an outer try block with pools still open; the
finally now fires only after manifest/workspace processing completes.

Adds regression test proving executeParameterized fires before
closeLbug and that the resulting cross-link uses the real DB UID.
@vercel

vercel Bot commented May 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
gitnexus Ready Ready Preview, Comment May 24, 2026 6:31pm

Request Review

@github-actions

github-actions Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

CI Report

All checks passed

Pipeline Status

Stage Status Details
✅ Typecheck success tsc --noEmit
✅ Tests success unit tests, 3 platforms
✅ E2E success gitnexus-web changes only

Test Results

Tests Passed Failed Skipped Duration
9708 9707 0 1 596s

✅ All 9707 tests passed

1 test(s) skipped — expand for details
  • buildTypeEnv > known limitations (documented skip tests) > Ruby block parameter: users.each { |user| } — closure param inference, different feature

Code Coverage

Tests

Metric Coverage Covered Base Delta Status
Statements 80.07% 33069/41295 N/A% 🟢 ████████████████░░░░
Branches 68.62% 21163/30838 N/A% 🟢 █████████████░░░░░░░
Functions 84.9% 3431/4041 N/A% 🟢 ████████████████░░░░
Lines 83.47% 29774/35668 N/A% 🟢 ████████████████░░░░

📋 View full run · Generated by CI

Replace toBeGreaterThan(0) with exact counter values per DoD §2.7.
Comment thread gitnexus/test/unit/group/sync.test.ts Outdated
…ng check

Instead of hard-coding executeParameterized call counts (which depend
on internal HttpRouteExtractor behavior), detect manifest-specific
resolution by matching the HANDLES_ROUTE query and record whether
closeLbug had already fired at that point. This decouples the ordering
proof from unrelated extractor internals.
@magyargergo magyargergo merged commit 06c3fb3 into main May 24, 2026
27 checks passed
@magyargergo magyargergo deleted the fix/manifest-extractor-after-closelbug-1802 branch May 24, 2026 19:39
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.

ManifestExtractor runs after closeLbug() — "LadybugDB not initialized" warnings on every group sync

1 participant