Skip to content

docs: map the dependency version spread across the container repos - #1710

Open
renemadsen wants to merge 1 commit into
stablefrom
docs/dependency-alignment-map
Open

renemadsen wants to merge 1 commit into
stablefrom
docs/dependency-alignment-map

Conversation

@renemadsen

Copy link
Copy Markdown
Member

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

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>
Copilot AI lite review requested due to automatic review settings September 15, 2026 05:12

Copilot AI 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.

🟡 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 *-base repos 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`) |
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.

2 participants