config-remote-sync: block-aware YAML indexing for tasks/clusters split across top-level and target blocks#5981
Draft
ilyakuz-db wants to merge 1 commit into
Draft
Conversation
Collaborator
Integration test reportCommit: ce7c5f1
8 interesting tests: 4 RECOVERED, 4 SKIP
Top 3 slowest tests (at least 2 minutes):
|
…t across top-level and target blocks
ilyakuz-db
force-pushed
the
configsync-fix-type34-resources-parent
branch
from
July 23, 2026 16:30
1ee0e47 to
ce7c5f1
Compare
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.
Changes
bundle config-remote-syncwrites visual-authoring edits back to bundle YAML. When a job'stasks(orjob_clusters, or a pipeline'sclusters) are split across a top-levelresources.*block and atargets.<t>.resources.*override block, the CLI merges them into one in-memory sequence — but each block is still patched independently in the YAML. The old code used the flat merged-sequence index, so edits landed on the wrong task/element, or on the wrong block, and sometimes hard-failed withparent path ... does not exist.This makes indexing block-aware:
targets.<t>.-prefixed candidate for elements that came from a target block.clustersdiff by position because they register no key function.Why
config-remote-sync is used by in-workspace visual authoring. Editing a resource whose sequence is split between a top-level block and a target override is a common layout, and it either wrote to the wrong element or failed the whole sync.
Tests
Added acceptance tests covering every split-block case (job tasks, job clusters, pipeline clusters, multiple jobs, non-zero indices, cross-block removes and renames), run on both engines. The bug-exposing ones fail before the fix and pass after; the full
config-remote-syncsuite stays green.