Repository navigation
Preserve typed manifest failures without widening Files demand - #10888
Open
richlander wants to merge 1 commit into
Open
richlander wants to merge 1 commit into
richlander wants to merge 1 commit into
Conversation
Preserve the manifest owner's bounded failure in the existing dependency outcome. Refuse single and multiple package recognition with that diagnostic when no canonical coordinate exists, rather than losing it to an internal exception. Keep Files inventory independent of malformed nuspec parsing. Shared owner controls pass 9/9, complete CLI hardening controls 5/5, and changed Markdown lint passes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 71598139-a4a3-4e60-b103-e90f709a2521
This branch has not been deployed
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.
Design basis
Normative owner:
docs/design/package-dependency-evidence.md#package-manifest— retain the typed failure governing manifest admission. Supportingpackage-file-inventory.md#boundary-evidencerequires Files inventory to complete without parsing malformed nuspecs. The CLI diagnostic owner renders supplied bounded failure text; it does not invent canonical coordinates or expose internal exceptions.Repair
The dependency operation discarded an already decoded
PackageManifestFailure. With a malformed manifest and a versionless local filename, subsequent ecosystem recognition lacked a canonical coordinate and replaced the useful parser diagnostic with an internal attribution exception.Retain that existing typed failure in the shared outcome, preserving the positional constructor/deconstruction and property order. Single- and multiple-package callers explicitly stop on a failed attribution and emit the bounded owner diagnostic. No XML reread, speculative identity, acquisition expansion, or threshold change. The existing generic refusal remains when no typed manifest failure is available.
The old Files-must-parse negative oracle contradicted the newer inventory contract. It now positively requires a real nuspec inventory row, no XML payload leakage, and empty stderr. The malformed-XML refusal keeps all its one-line/no-raw-XML/no-exception assertions and covers both single and multiple package gestures.
Evidence
PackageDependencyInspectionOperationTests: 9/9, including malformed-failure transport.NuspecHardeningTests: 5/5, including both refusal paths and cheap Files success.npx markdownlint-cli;git diff --checkand current-main conflict probe pass.This does not establish exhaustive-main cleanliness or exact-head performance. No merge authorization.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Copilot-Session: 71598139-a4a3-4e60-b103-e90f709a2521