docs: map the dependency version spread across the container repos - #1710
Open
renemadsen wants to merge 1 commit into
Open
renemadsen wants to merge 1 commit into
renemadsen wants to merge 1 commit into
Conversation
Four *-service-build jobs fail deterministically in work-items-planning-container. The cause is a runtime assembly mismatch, not a code or SDK-behaviour change: the service host loads plugins from /app/Plugins/<Plugin>/, each plugin ships its own transitive DLLs there, and host and plugin were built against different versions. Traced to System.ComponentModel.Composition -- the host pins 10.0.10, timeplanning 10.0.11, items-planning 10.0.9, workflow 2010.2.11.1, and the runtime wanted assembly 10.0.0.12. The workflow pin is a 2010-era package whose version sorts highest by major, which is what anyone taking 'the latest version' naively would land on. Eleven repos ship in this container and span 17 versions of Microting.eForm, from 10.0.39 down to 10.0.22. eform-angular-frontend disagrees with itself across four: the host process is on 10.0.39 while the plugin mirrors bundled inside it sit on 10.0.35, 10.0.37 and 10.0.38. eform-debian-service carries stale plugin mirrors still pinning 10.0.4. Records current state, targets verified against nuget, and a per-repo action list ordered bases -> plugins -> hosts, because a host bumped before its plugins just relocates the mismatch. Nothing here catches the next occurrence: neither the plugin's CI nor the host's CI can see a mismatch that exists only once they are assembled. A check in the container repo comparing pins across the checked-out repos is the only thing that would. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Changes recommended
The dependency map contains factual and scope inconsistencies that should be corrected before approval.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds a documentation-only dependency alignment map for the container repositories.
Changes:
- Documents dependency mismatches and runtime failures.
- Defines target versions and staged remediation actions.
- Suggests CI and centralized package-management safeguards.
File summaries
| File | Description |
|---|---|
docs/superpowers/specs/2026-09-13-dependency-alignment-map.md |
Dependency alignment analysis and remediation plan |
Review details
Suppressed comments (3)
docs/superpowers/specs/2026-09-13-dependency-alignment-map.md:5
- The referenced run now has a fifth attempt, so “all four attempts” is no longer an accurate description of run 34753032043; the latest attempt failed different jobs than the four service builds. Please identify the historical cutoff (for example, attempts 1–4) and mention the later attempt, or refresh this trigger summary.
**Trigger:** four `*-service-build` jobs failing deterministically on
`work-items-planning-container` run 34753032043 (all four attempts).
docs/superpowers/specs/2026-09-13-dependency-alignment-map.md:83
- This spread calculation ignores the stale eForm 10.0.4 copies called out in §3b, which this document says are load-bearing for the container. If those files are in scope, the effective range is 10.0.39→10.0.4 (35 versions); qualify this as source-project-only or include the mirrors in the metric.
Spread: **17 versions** between the newest (`eFormAPI.Web` at 10.0.39) and the oldest
(`eform-service-workflow-plugin` at 10.0.22).
docs/superpowers/specs/2026-09-13-dependency-alignment-map.md:146
- Section 2 defines the scope as the 11 repos shipped in the container and says the remaining repos are out of scope, but this wave introduces five
*-baserepos that are not in that list. These are upstream release prerequisites rather than container repos; label the wave accordingly (or expand the scope) so the action plan is not contradictory.
### Wave 1 — base packages (publish first, plugins consume them)
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+36
to
+37
| Four different versions of one package across a host and the three plugins it loads, and | ||
| none of them is the one the runtime wanted. |
| | `eform-backendconfiguration-plugin` | 10.0.37/38 → **10.0.39** | 10.0.31/32 → **10.0.33** | unify its two internal versions first | | ||
| | `eform-service-backendconfiguration-plugin` | 10.0.38 → **10.0.39** | 10.0.32 → **10.0.33** | `Composition` → 10.0.12 | | ||
| | `eform-service-timeplanning-plugin` | 10.0.38 → **10.0.39** | 10.0.32 → **10.0.33** | `Composition` 10.0.11 → **10.0.12** ← *the one in the failing log* | | ||
| | `eform-angular-timeplanning-plugin` | ✅ 10.0.39 | ✅ 10.0.33 | already aligned on `stable` (commit `9e2ae84f`) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docs only. A map of how dependency versions spread across the container repos. It was written alongside the Reconciled day-lock design and split out of that branch because it is unrelated.
No code changes.
🤖 Generated with Claude Code