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.
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
Relevant code
src/resolver.rs,src/lockfile.rsPart of #68.