camunda / camunda/spm-cli

resolver: version-conflict detection and error reporting for transitive deps

Open
#81 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
8
Forks
0
Avg merge
6h 12m
Merged PRs (30d)
19

Description

Summary

Phase 3 of #68 (depends on the recursive resolution sub-issue landing). Enforce the conflict policy chosen in the design decision issue (recommended: error-on-conflict) when two skills — directly or transitively — request different tags/commits of the same repo.

Scope

  • Detect when the same repo (by normalized git URL) resolves to two different commits across the dependency set.
  • Surface a clear, actionable error identifying both requesters (using the lockfile provenance field) and the conflicting refs/commits, rather than silently picking one.
  • Unit/integration test fixtures: a direct conflict (two top-level skills, same repo, different tags) and a transitive conflict (a nested dependency conflicting with a top-level or sibling-nested one).

Relevant code

  • src/resolver.rs, src/lockfile.rs

Part of #68.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading src/resolver.rs and src/lockfile.rs, along with the recursive resolution work and conflict-policy design from #68. Add coverage for direct and transitive conflicts, including both requesters and their conflicting tags or commits, then run the unit and integration tests to verify the actionable error and avoid silent selection.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, rust
Domain
cli, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.