Skip to content

fix: upgrade commons dependency to v0.47.0 (ingestion + query engine) - #1352

Merged
JayGhiya merged 3 commits into
devfrom
upgrade-commons
Apr 12, 2026
Merged

fix: upgrade commons dependency to v0.47.0 (ingestion + query engine)#1352
JayGhiya merged 3 commits into
devfrom
upgrade-commons

Conversation

@JayGhiya

@JayGhiya JayGhiya commented Apr 12, 2026

Copy link
Copy Markdown
Member

Summary

Upgrades unoplat-code-confluence-commons from v0.46.0 to v0.47.0 in both services, switching from local path sources (dev mode) to pinned git sources (release mode).

Changes

  • fix(common-version-ingestion): upgrade commons dependency to v0.47.0
  • fix(common-version-query-engine): upgrade commons dependency to v0.47.0

Summary by CodeRabbit

  • Chores
    • Updated the shared commons dependency to v0.47.0 across multiple components to align with upstream changes and standardize dependency resolution.

@coderabbitai

coderabbitai Bot commented Apr 12, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7c9da9c3-edb8-4277-948b-0f414300b085

📥 Commits

Reviewing files that changed from the base of the PR and between c7844d4 and 1ee43e6.

⛔ Files ignored due to path filters (2)
  • unoplat-code-confluence-ingestion/code-confluence-flow-bridge/uv.lock is excluded by !**/*.lock
  • unoplat-code-confluence-query-engine/uv.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • unoplat-code-confluence-ingestion/code-confluence-flow-bridge/pyproject.toml
  • unoplat-code-confluence-query-engine/pyproject.toml
✅ Files skipped from review due to trivial changes (1)
  • unoplat-code-confluence-ingestion/code-confluence-flow-bridge/pyproject.toml
🚧 Files skipped from review as they are similar to previous changes (1)
  • unoplat-code-confluence-query-engine/pyproject.toml

📝 Walkthrough

Walkthrough

Two pyproject.toml files updated to upgrade the unoplat-code-confluence-commons dependency source from Git rev unoplat-code-confluence-commons-v0.46.0 to unoplat-code-confluence-commons-v0.47.0, commenting out local path overrides and pointing to the pinned upstream Git source.

Changes

Cohort / File(s) Summary
Dependency Version Bumps
unoplat-code-confluence-ingestion/code-confluence-flow-bridge/pyproject.toml, unoplat-code-confluence-query-engine/pyproject.toml
Updated [tool.uv.sources] entry for unoplat-code-confluence-commons from Git rev unoplat-code-confluence-commons-v0.46.0 to unoplat-code-confluence-commons-v0.47.0; local path = ... overrides were commented out.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • chore: release dev #1351: Updates release manifests and package versions to align with unoplat-code-confluence-commons-v0.47.0.

Suggested labels

autorelease: pending

Poem

🐰 I hopped through toml and thread,

pinned the commons, forward I sped;
v0.47 now gleams so bright,
upstream paths set straight and right,
carrots cheer for tidy deps tonight! 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: upgrading the commons dependency to v0.47.0 across two services (ingestion and query engine), which is precisely what the changeset accomplishes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch upgrade-commons

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@claude

claude Bot commented Apr 12, 2026

Copy link
Copy Markdown

Claude finished @JayGhiya's task —— View job


Code Review Complete ✅

Review Tasks

  • Analyze dependency changes in pyproject.toml files
  • Review upgrade approach and best practices
  • Check for potential security or compatibility issues
  • Assess test coverage implications
  • Provide comprehensive feedback

Review Summary

This PR successfully upgrades unoplat-code-confluence-commons from v0.46.0 to v0.47.0 across both services. The changes follow good practices for dependency management.

Positives

  1. Proper Version Pinning: Both services now use the exact same pinned Git revision (unoplat-code-confluence-commons-v0.47.0) ensuring consistency
  2. Clean Transition: Correctly switches from local development paths to Git sources for production releases
  3. Minimal Scope: Changes are focused and limited to dependency upgrades only
  4. Version Alignment: Both ingestion and query engine services are upgraded together, preventing version drift

📝 Code Quality Assessment

Files Changed:

  • unoplat-code-confluence-ingestion/code-confluence-flow-bridge/pyproject.toml:66
  • unoplat-code-confluence-query-engine/pyproject.toml:57

Change Pattern:

# Before (commented out local dev path)
#unoplat-code-confluence-commons = { path = "../../unoplat-code-confluence-commons" }

# After (pinned git source)
unoplat-code-confluence-commons = { git = "https://github.com/unoplat/unoplat-code-confluence.git", subdirectory = "unoplat-code-confluence-commons", rev = "unoplat-code-confluence-commons-v0.47.0" }

🔒 Security & Best Practices

  • ✅ Git revision pinning: Uses specific tagged revision instead of branch/HEAD
  • ✅ HTTPS URL: Uses secure GitHub HTTPS URL
  • ✅ Subdirectory specification: Correctly specifies subdirectory for monorepo structure
  • ✅ Commented local paths: Preserves local development setup for future use

⚠️ Considerations

  1. Dependency Version Mismatch:

    • Ingestion service: "unoplat-code-confluence-commons>=0.24.0" (line 17)
    • Query engine: "unoplat-code-confluence-commons>=0.25.0" (line 23)

    Consider aligning minimum version requirements to >=0.47.0 since that's what you're actually using.

  2. Lock File Updates: The uv.lock files were properly updated, ensuring reproducible builds

🧪 Testing Considerations

  • No Breaking Changes Expected: Since this follows semantic versioning, v0.47.0 should be backward compatible with v0.46.0
  • Integration Testing: Recommend running full integration tests to verify compatibility
  • CI Pipeline: Should validate that both services work correctly with the new commons version

📊 Performance Impact

  • Minimal Performance Impact: Dependency upgrades typically don't affect runtime performance
  • Build Time: Git-based dependencies may have slightly longer build times than local paths (expected for production)

Recommendation: APPROVE

This is a clean, well-executed dependency upgrade that follows best practices. The changes are minimal, focused, and properly implemented. Consider updating the minimum version requirements in dependencies to match the actual pinned version for consistency.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@unoplat-code-confluence-ingestion/code-confluence-flow-bridge/pyproject.toml`:
- Around line 65-66: The dependency floor in project.dependencies must match the
pinned source rev in tool.uv.sources: change the unoplat-code-confluence-commons
version constraint in pyproject.toml (under project.dependencies) from
">=0.24.0" (or a wide range) to a minimum of ">=0.47.0" or pin to "==0.47.0" so
it aligns with the git rev "unoplat-code-confluence-commons-v0.47.0"; update the
entry for unoplat-code-confluence-commons in project.dependencies to use the new
constraint to ensure reproducible installs.

In `@unoplat-code-confluence-query-engine/pyproject.toml`:
- Around line 56-57: The declared dependency range for
unoplat-code-confluence-commons in project.dependencies is inconsistent with the
git source pin (rev "unoplat-code-confluence-commons-v0.47.0"); update the
dependency spec for the symbol "unoplat-code-confluence-commons" in
pyproject.toml (the entry under project.dependencies) to require at least 0.47.0
(e.g., change ">=0.25.0" to ">=0.47.0") so the minimum allowed version aligns
with the pinned source revision.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3ed0a9e0-471e-4f56-a478-0f6f6a0d2931

📥 Commits

Reviewing files that changed from the base of the PR and between 10a3e12 and c7844d4.

⛔ Files ignored due to path filters (2)
  • unoplat-code-confluence-ingestion/code-confluence-flow-bridge/uv.lock is excluded by !**/*.lock
  • unoplat-code-confluence-query-engine/uv.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • unoplat-code-confluence-ingestion/code-confluence-flow-bridge/pyproject.toml
  • unoplat-code-confluence-query-engine/pyproject.toml

Comment on lines +65 to +66
#unoplat-code-confluence-commons = { path = "../../unoplat-code-confluence-commons" }
unoplat-code-confluence-commons = { git = "https://github.com/unoplat/unoplat-code-confluence.git", subdirectory = "unoplat-code-confluence-commons", rev = "unoplat-code-confluence-commons-v0.47.0" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

cat -n unoplat-code-confluence-ingestion/code-confluence-flow-bridge/pyproject.toml | head -80

Repository: unoplat/unoplat-code-confluence

Length of output: 3012


🏁 Script executed:

find . -name "dependencies_overview.md" -o -name "*dependencies*" -type f | grep -i overview | head -20

Repository: unoplat/unoplat-code-confluence

Length of output: 313


🏁 Script executed:

find unoplat-code-confluence-commons -name "*.md" | head -20

Repository: unoplat/unoplat-code-confluence

Length of output: 371


🏁 Script executed:

rg "unoplat-code-confluence-commons" --type md -A 2 -B 2 | head -50

Repository: unoplat/unoplat-code-confluence

Length of output: 5436


🏁 Script executed:

find unoplat-code-confluence-ingestion -name "dependencies_overview.md" -o -name "*dependencies*" -type f | grep -E "(overview|dependencies)" | head -20

Repository: unoplat/unoplat-code-confluence

Length of output: 383


🏁 Script executed:

cat unoplat-code-confluence-commons/dependencies_overview.md | head -100

Repository: unoplat/unoplat-code-confluence

Length of output: 3266


🏁 Script executed:

find unoplat-code-confluence-ingestion -name "pyproject.toml" -exec grep -l "unoplat-code-confluence-commons" {} \;

Repository: unoplat/unoplat-code-confluence

Length of output: 151


🏁 Script executed:

rg "unoplat-code-confluence-commons" unoplat-code-confluence-ingestion --type toml -A 1 -B 1

Repository: unoplat/unoplat-code-confluence

Length of output: 2497


Update the commons version floor to match the v0.47.0 source pin.

This file pins commons to v0.47.0 in tool.uv.sources, but project.dependencies still allows >=0.24.0, which weakens reproducibility and compatibility guarantees.

Suggested fix
-    "unoplat-code-confluence-commons>=0.24.0",
+    "unoplat-code-confluence-commons>=0.47.0",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@unoplat-code-confluence-ingestion/code-confluence-flow-bridge/pyproject.toml`
around lines 65 - 66, The dependency floor in project.dependencies must match
the pinned source rev in tool.uv.sources: change the
unoplat-code-confluence-commons version constraint in pyproject.toml (under
project.dependencies) from ">=0.24.0" (or a wide range) to a minimum of
">=0.47.0" or pin to "==0.47.0" so it aligns with the git rev
"unoplat-code-confluence-commons-v0.47.0"; update the entry for
unoplat-code-confluence-commons in project.dependencies to use the new
constraint to ensure reproducible installs.

Comment on lines +56 to +57
#unoplat-code-confluence-commons = { path = "../unoplat-code-confluence-commons" }
unoplat-code-confluence-commons = { git = "https://github.com/unoplat/unoplat-code-confluence.git", subdirectory = "unoplat-code-confluence-commons", rev = "unoplat-code-confluence-commons-v0.47.0" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
python - <<'PY'
import tomllib, re
from pathlib import Path

files = [
    Path("unoplat-code-confluence-query-engine/pyproject.toml"),
    Path("unoplat-code-confluence-ingestion/code-confluence-flow-bridge/pyproject.toml"),
]

def parse_tuple(v: str):
    return tuple(int(x) for x in v.split("."))

for p in files:
    data = tomllib.loads(p.read_text())
    dep = next(d for d in data["project"]["dependencies"] if d.startswith("unoplat-code-confluence-commons"))
    rev = data["tool"]["uv"]["sources"]["unoplat-code-confluence-commons"]["rev"]

    min_match = re.search(r">=\s*([0-9]+\.[0-9]+\.[0-9]+)", dep)
    rev_match = re.search(r"v([0-9]+\.[0-9]+\.[0-9]+)", rev)

    print(f"\n{p}")
    print(f"  dependency: {dep}")
    print(f"  source rev: {rev}")

    if min_match and rev_match:
        min_v = min_match.group(1)
        rev_v = rev_match.group(1)
        print(f"  parsed min version: {min_v}")
        print(f"  parsed rev version: {rev_v}")
        print(f"  min version < rev version: {parse_tuple(min_v) < parse_tuple(rev_v)}")
PY

Repository: unoplat/unoplat-code-confluence

Length of output: 605


Align the declared commons minimum version with the pinned source revision.

The source is pinned to v0.47.0, but project.dependencies declares >=0.25.0. This inconsistency can allow older commons versions to be resolved outside the uv source override.

Suggested fix
-    "unoplat-code-confluence-commons>=0.25.0",
+    "unoplat-code-confluence-commons>=0.47.0",
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@unoplat-code-confluence-query-engine/pyproject.toml` around lines 56 - 57,
The declared dependency range for unoplat-code-confluence-commons in
project.dependencies is inconsistent with the git source pin (rev
"unoplat-code-confluence-commons-v0.47.0"); update the dependency spec for the
symbol "unoplat-code-confluence-commons" in pyproject.toml (the entry under
project.dependencies) to require at least 0.47.0 (e.g., change ">=0.25.0" to
">=0.47.0") so the minimum allowed version aligns with the pinned source
revision.

@JayGhiya
JayGhiya merged commit 3c390ef into dev Apr 12, 2026
10 checks passed
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