Uh oh!
There was an error while loading. Please reload this page.
Reconciliation plan - #13748
Conversation
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
a057fa0 to
46e274eComparendeloof
commented
Apr 20, 2026
/review |
There was a problem hiding this comment.
Pull request overview
Introduces a new “reconciliation plan” pipeline for docker compose create by replacing the legacy convergence flow with: observed state collection → plan generation (DAG) → parallel plan execution.
Changes:
- Added new reconciliation components:
ObservedState,Plan,reconcilelogic, and a parallelexecutePlanexecutor with grouped progress events. - Refactored
create()to use the new pipeline (including “Running” events for unchanged containers) and removed most of the oldconvergenceimplementation. - Updated
runto resolveservice:references withoutconvergence, and added/updated unit tests for the new modules.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| reconciliation.md | Architecture/design doc for the new reconciliation engine and pipeline. |
| pkg/compose/run.go | Replaces convergence-based service-reference resolution for run with a new helper. |
| pkg/compose/reconcile_test.go | Adds unit tests validating plan output for networks/volumes/containers/orphans. |
| pkg/compose/reconcile.go | Implements reconciler producing a deterministic DAG plan for infra + containers. |
| pkg/compose/progress.go | Removes runningEvent helper (replaced by direct newEvent usage). |
| pkg/compose/plan_test.go | Adds unit tests for Plan and OperationType stringification. |
| pkg/compose/plan.go | Introduces Plan, PlanNode, Operation, and OperationType abstractions. |
| pkg/compose/observed_state_test.go | Adds tests for observed-state snapshot construction and classification. |
| pkg/compose/observed_state.go | Adds snapshot types + collection logic; adds “Running” events emission helper. |
| pkg/compose/executor_test.go | Adds executor tests using mocked API client calls. |
| pkg/compose/executor.go | Implements parallel plan execution, operation handlers, and grouped progress events. |
| pkg/compose/create.go | Refactors create() to build observed state → reconcile → emit running events → execute plan. |
| pkg/compose/convergence.go | Removes convergence struct/logic; keeps/exports service-reference resolution helpers. |
| pkg/compose/containers.go | Adds getContainersByService() and removes Containers.names(). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| ensureImagesExists -> ensureNetworks/Volumes -> collectObservedState -> reconcile -> executePlan | ||
| (inchange) (inchange) (1) (2) (3) | ||
| ``` |
There was a problem hiding this comment.
Spelling: "inchange" should be "inchangé".
glours
commented
May 21, 2026
/review |
❌ PR Review Failed — The review agent encountered an error and could not complete the review. View logs. |
8f2d032 to
b812190Compareglours
commented
May 28, 2026
/review |
❌ PR Review Failed — The review agent encountered an error and could not complete the review. View logs. |
f5336ce to
7bbbc77Compare
this is an alternative for #13641
based on previous work, I first generated an analysis an plan document, so AI work on this significant refactoring is better guided and impact is well understood