Summary
Proposal to add a --subscription <maestro-subscription-id> option to the darc update-dependencies command. This would enable users to locally simulate the effect of a specific Maestro subscription, making it easier to debug, validate, and reason about dependency updates as they would occur in Maestro.
Motivation
Currently, darc update-dependencies supports applying updates from a channel, but does not allow users to replicate what a particular subscription would do. This is problematic when multiple subscriptions (from different channels, with different rules) target a single repository, and there is a need to locally test or troubleshoot the outcome of a subscription update.
Proposed Behavior
- Add a
--subscription <maestro-subscription-id> parameter to the command.
- When provided:
- Fetch the subscription metadata (source repo, target repo/branch, channel, target-directory, excluded assets).
- Determine the build that Maestro would apply for the subscription (using Maestro's selection logic).
- Apply dependency updates locally based on that build, instead of a channel-wide update.
- Respect the subscription's target-directory (only update or place assets within that subtree) and excluded assets (skip those).
- Support using the existing dry-run/verbose option to show:
- Which build was selected (id, repo, commit)
- Which assets would be updated, and which are skipped (with reasons)
- Provide clear errors if the subscription id is invalid, no build can be resolved, or assets don't map to current dependencies.
Notes
- This does not modify the subscription or Maestro service state—it's a local simulation.
- Goal: To make it easier for engineers to reproduce, validate, and debug Maestro subscription outcome locally.
Related Issue
Summary
Proposal to add a
--subscription <maestro-subscription-id>option to thedarc update-dependenciescommand. This would enable users to locally simulate the effect of a specific Maestro subscription, making it easier to debug, validate, and reason about dependency updates as they would occur in Maestro.Motivation
Currently,
darc update-dependenciessupports applying updates from a channel, but does not allow users to replicate what a particular subscription would do. This is problematic when multiple subscriptions (from different channels, with different rules) target a single repository, and there is a need to locally test or troubleshoot the outcome of a subscription update.Proposed Behavior
--subscription <maestro-subscription-id>parameter to the command.Notes
Related Issue