Skip to content

Improve multi-source matching and add interactive selection - #6577

Merged
AmirMS (AmelBawa-msft) merged 3 commits into
masterfrom
user/amelbawa/multi-source-integration
Oct 2, 2026
Merged

AmirMS (AmelBawa-msft) merged 3 commits into
masterfrom
user/amelbawa/multi-source-integration

Conversation

@AmelBawa-msft

@AmelBawa-msft AmirMS (AmelBawa-msft) commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

📖 Description

Improve package matching across sources and let users resolve remaining ambiguity without restarting their command.

  • Make source priority generally available for CLI and DSC source operations.
  • Validate locally verifiable REST filters and selectors before package selection. Preserve name/publisher associations, prevent unrestricted searches when all selectors are unsupported, and detect repeated continuation tokens.
  • Add numbered selection for ambiguous single-package install, show, show --versions, and download commands. It is disabled by default; opt in with experimentalFeatures.interactivePackageSelection. Enter 0 or press Ctrl+C to cancel.

Source priority is applied before prompting. Redirected, noninteractive, and multi-package callers do not prompt. Additional manifest fetches for validation are limited to complete source result sets of at most three packages.

🔗 References

Resolves #2966 (multiple filters not applied).

Related to #3547, #6297, and #5345. Automatic installer-hash deduplication requested by #5345 is not included.

Integrates #6509, #6514, and #6575.

🔍 Validation

Validated af420278:

  • Built the CLI, native tests, and E2E test project in x64 Debug.
  • Passed 11,294 assertions across 359 native test cases covering source priority, REST matching and correlation, interactive selection, cancellation, and noninteractive behavior.

Runtime E2E and VM tests were not run for this integration. The demos below are from the individual feature PRs.

REST filtering (#6514)

REST filtering before and after

Interactive package selection (#6575)

Interactive package selection before and after

✅ Checklist

🤖 AI Assistance

  • AI assistance was used and has been disclosed in this PR
  • No AI assistance was used

AI assistance was used for implementation, tests, documentation, review, and validation.

📋 Issue Type

  • Bug fix
  • Feature
  • Task
Microsoft Reviewers: Open in CodeFlow

AmirMS (AmelBawa-msft) and others added 3 commits October 2, 2026 12:01
## 📖 Description

Promotes source priority to a regular feature by removing experimental
gating from CLI and DSC workflows and retiring the
`experimentalFeatures.sourcePriority` setting.

Uses the existing commands and options. Default priorities, selection
rules, and tie handling are unchanged. Updates documentation, release
notes, and regression coverage.

REST filtering, interactive resolution, and heuristic deduplication
remain out of scope for this PR.

## 🔗 References

- Related to #5345 — source-priority workstream only.
- Builds on #6029.

## 🔍 Validation

- Built the CLI, native tests, and E2E test project.
- Passed **43 native test cases with 792 assertions**, covering priority
ordering, ties, negative values, argument boundaries, disabled
experimental-feature policy, source output, and DSC source operations.
- Passed CLI smoke checks for `source add --help`, `source edit --help`,
`features`, and `dscv3 source --schema`.

## ✅ Checklist

- [ ] Signed the [Contributor License
Agreement](https://cla.opensource.microsoft.com)
- [x] Linked to an issue
- [x] Updated [Release Notes](../doc/ReleaseNotes.md) (if applicable)
- [x] Updated documentation (if applicable)
- [ ] Updated [Copilot instructions](.github/copilot-instructions.md)
(if build, architecture, or conventions changed) — not applicable

## 📋 Issue Type

- [ ] Bug fix
- [x] Feature
- [ ] Task

###### Microsoft Reviewers: [Open in
CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/6509)

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@AmelBawa-msft
AmirMS (AmelBawa-msft) requested a review from a team as a code owner October 2, 2026 19:40
@microsoft-github-policy-service microsoft-github-policy-service Bot added Copilot-Instructions PR modifies Copilot instruction files (.github/copilot-instructions.md or .github/instructions/) Issue-Bug It either shouldn't be doing this or needs an investigation. labels Oct 2, 2026
@AmelBawa-msft AmirMS (AmelBawa-msft) changed the title User/amelbawa/multi source integration Improve multi-source matching and add interactive selection Oct 2, 2026
@JohnMcPMS
JohnMcPMS force-pushed the user/amelbawa/multi-source-integration branch 2 times, most recently from a7e55de to af42027 Compare October 2, 2026 20:53
@AmelBawa-msft
AmirMS (AmelBawa-msft) merged commit 3973956 into master Oct 2, 2026
13 of 19 checks passed
@AmelBawa-msft
AmirMS (AmelBawa-msft) deleted the user/amelbawa/multi-source-integration branch October 2, 2026 23:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Copilot-Instructions PR modifies Copilot instruction files (.github/copilot-instructions.md or .github/instructions/) Issue-Bug It either shouldn't be doing this or needs an investigation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multiple filters not applied

3 participants