chore: Bump the dotnet-minor-patch group with 9 updates - #114
Merged
layeredcraft-dependabot-automerge[bot] merged 1 commit intoAug 27, 2026
Merged
Conversation
Bumps AwesomeAssertions from 9.5.0 to 9.6.0 Bumps Basic.Reference.Assemblies.Net100 from 1.8.10 to 1.8.11 Bumps Basic.Reference.Assemblies.Net110 from 1.8.10 to 1.8.11 Bumps Meziantou.Polyfill from 1.0.159 to 1.0.161 Bumps Microsoft.CodeAnalysis.Analyzers from 5.6.0 to 5.9.0 Bumps Microsoft.CodeAnalysis.CSharp from 5.6.0 to 5.9.0 Bumps Microsoft.NET.Test.Sdk from 18.8.1 to 18.9.0 Bumps TUnit from 1.64.13 to 1.65.38 Bumps TUnit.Core from 1.64.13 to 1.65.38 --- updated-dependencies: - dependency-name: AwesomeAssertions dependency-version: 9.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet-minor-patch - dependency-name: Basic.Reference.Assemblies.Net100 dependency-version: 1.8.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet-minor-patch - dependency-name: Basic.Reference.Assemblies.Net110 dependency-version: 1.8.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet-minor-patch - dependency-name: Meziantou.Polyfill dependency-version: 1.0.161 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet-minor-patch - dependency-name: Microsoft.CodeAnalysis.Analyzers dependency-version: 5.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet-minor-patch - dependency-name: Microsoft.CodeAnalysis.CSharp dependency-version: 5.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet-minor-patch - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet-minor-patch - dependency-name: TUnit dependency-version: 1.65.38 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet-minor-patch - dependency-name: TUnit.Core dependency-version: 1.65.38 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet-minor-patch ... Signed-off-by: dependabot[bot] <support@github.com>
layeredcraft-dependabot-automerge
Bot
merged commit Aug 27, 2026
c5aa81f
into
main
7 of 12 checks passed
layeredcraft-dependabot-automerge
Bot
deleted the
dependabot/nuget/dotnet-minor-patch-b515518517
branch
August 27, 2026 17:39
5 tasks
ncipollina
added a commit
that referenced
this pull request
Aug 28, 2026
…tching (#115) * fix(skill): correct TestDoubles matching guidance * fix(skill): repair shared double examples * fix(skill): correct namespace in shared-double benchmark output Match and UseGeneratedTestDoubles live in the Compono namespace, not Compono.TestDoubles (the package name). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(skill): add old-skill baseline for testdoubles benchmark Snapshot skills/compono/references/testdoubles.md at 644a5ad (pre-fix) and rerun evals 28-31 against it, per skill-creator's paired-run requirement for skill-improvement benchmarks. old_skill passes 1/4 (eval 29 only) vs with_skill's 4/4, confirming the fix corrects real regressions rather than restating already-passing behavior. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(skill): rerun testdoubles benchmark as a true paired batch Codex flagged that with_skill and old_skill runs weren't launched together, so they don't satisfy skill-creator's paired-run requirement. Rerun all 8 combinations (evals 28-31 x with_skill/ old_skill) in a single batch against the current skill and the 644a5ad pre-fix snapshot. Also verified and refuted the accompanying claim that only testdoubles.md was snapshotted: the snapshot always captured the full skills/compono directory, including the pre-fix SKILL.md (5139507 also added a guardrail section there). Net effect: old_skill now fails all 4 evals (0/4, down from 1/4) since eval 29's prior old_skill pass was a run-to-run fluke, not a stable result - stronger, cleaner evidence the fix corrects real regressions. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * docs(skill): fix self-contradictory baseline wording in benchmark.md The prior wording said the earlier baseline "snapshotted only testdoubles.md" then immediately said it "captured the full directory" - contradictory. Clarify that only the benchmark's description of the earlier baseline was wrong, not the snapshot itself. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * feat(testdoubles): sequential responses and overload-safe argument matching Implements ADR-0054 (sequential/call-count-based responses via ReturnConfigBuilder<T>.ReturnsSequence(...)/SequenceOutcome.Throw(...)) and ADR-0044 Amendment 21 (overload-safe argument matching via a new <Member>Matching(Match<T1>, ...) member name sharing ADR-0050's entries/call-log/lock state with the unchanged discriminator surface), per PLAN-0054. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(ci): update package-validation's tested TUnit.Core range to 1.65.38 #114 (dotnet-minor-patch Dependabot group) bumped Directory.Packages.props' TUnit.Core/TUnit floor from 1.64.13 to 1.65.38, but package-validation.yaml's inspect-packed-nupkgs.sh still asserted the old floor as Compono.TUnit's "intended tested range" (ADR-0031 Amendment 1) - a deliberate, human-gated check that a dependency floor bump has actually been validated, not meant to silently track whatever's currently pinned. The Dependabot PR's own CI run already proved 1.65.38 builds and tests clean; this just acknowledges that in the check itself. Confirmed locally: packed and ran inspect-packed-nupkgs.sh against all 8 publishable packages, all green. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * docs(adr): flip ADR-0044 Amendment 21 / ADR-0054 API status to Accepted Both were Accepted (capability) / Proposed (API) pending implementation. PLAN-0054 has now implemented and validated both (unit/generator-execution/ snapshot coverage, real Native AOT publish-and-run, and a real consumer dogfood pass) - flip to Accepted. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * docs: regenerate API reference and update package docs for PLAN-0054 - docs/reference/api: regenerate from XML docs (ADR-0032 drift check) - SequenceOutcome<T>/SequenceOutcome/ThrownOutcome, ReturnConfig<T>'s new HasConfiguredSequence/NextSequenceOutcome(), and ReturnConfigBuilder<T>.ReturnsSequence(...) were new public API this session added without ever regenerating this directory - would have failed docs.yml's drift check on push. - docs/packages/compono-testdoubles.md: was still stating "no sequential/ call-count-based responses" and "no argument matching on an overloaded member" in four places (Call verification, Multiple response configurations per member, and the closing "What it deliberately doesn't do" summary) - added "Overload-safe argument matching" and "Sequential/call-count-based responses" sections mirroring the skill's own testdoubles.md, and corrected every stale negative claim. Verified: `uv run mkdocs build --clean --strict` succeeds. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix: address Codex review feedback on PR #115 Five confirmed issues across two review passes: - TestDoubleAnalyzer.cs: the <Member>Matching alias-collision check compared nullable-aware display-string text instead of real C# signature identity, missing a collision between e.g. "string" and "string?" (real signature identity never considers nullable annotations). It also only considered non-overloaded real members as possible collision sources, missing that an ordinary overloaded real member's own discriminator extension can collide too. Rewrote both checks to compare real ITypeSymbols via SymbolEqualityComparer.Default (nullability-insensitive) across every real member sharing the candidate name, not just one eligibility shape. - ReturnConfigBuilder.cs: ReturnsSequence(...)'s XML doc still described the rejected dual-implicit-conversion design (a bare Exception implicitly converting) instead of the shipped SequenceOutcome.Throw(...) API. Also stored the caller's own params array by reference instead of snapshotting it - a caller mutating the array after configuring would silently change an already-configured response and violate NextSequenceOutcome()'s lock-free-safety premise that the sequence is immutable once configured. - docs/packages/compono-testdoubles.md: the "Why this doesn't apply to an overloaded member" paragraph flatly contradicted the newly-added "Overload-safe argument matching" section - clarified that the compiler spike's finding is scoped to the same-call-site shape, not a blanket "no matching on overloaded members" claim. Also, per this round of review: added a coding-standards.md/AGENTS.md rule (mirrored, since AGENTS.md is a condensed pointer at coding-standards.md) capturing the general lesson - a generator's collision-prediction logic must compare real ITypeSymbols via SymbolEqualityComparer.Default, and must consider every real member sharing a candidate name, not just the ones reachable through the code path being written. Regenerated docs/reference/api for the XML doc change (ADR-0032 drift check). New regression coverage: two generator-execution snapshot tests proving both collision-detection fixes fire the hash-suffixed fallback, one unit test proving the array-snapshot fix. Validated: full solution sweep (823/823 on net10.0), Compono.Generators.Tests on net10.0 and net11.0 (276/276 each, zero unexpected snapshot diffs - every prior fixture's generated output is unchanged), `uv run mkdocs build --clean --strict` succeeds. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix: address round-3 Codex review feedback on PR #115 Two confirmed issues, both in the same collision-detection code the previous round rewrote: - The real-signature pre-pass unconditionally excluded every closed-instantiation-eligible (ADR-0049) candidate, on the assumption only "ordinary" real members needed considering. A non-overloaded closed-instantiation-eligible member with real matched parameters emits a Match<T>-wrapped generic Configure<T>() extension exactly like the new alias does, so it can collide with an overloaded generic member's own alias (e.g. Foo<T>(int)/Foo(string) -> FooMatching<T>(Match<int>)) just as easily as any other real member. Removed the exclusion - the existing isMatchingEligible branch already computes the correct signature for both the non-overloaded (Match<T>-wrapped) and overloaded (real, unwrapped) closed-instantiation shapes once given the chance to run. - The stored/compared signature only tracked parameter types, not generic arity - also part of real C# signature identity (PLAN-0054's own "Naming/collision policy" Finding 4 already established this). A real non-generic FooMatching(int) and a generic alias FooMatching<T>(Match<int>) share parameter types but not arity, so they don't actually collide - the prior comparison treated them as if they did, forcing the whole alias family to an unnecessary hash-suffixed name. Signatures are now compared as (arity, parameter types) tuples. New regression coverage: one generator-execution snapshot test proving the closed-instantiation collision now triggers the fallback, one proving the arity-only mismatch no longer does (natural name kept, real overload set still coexists cleanly). Validated: full solution sweep (825/825 on net10.0), Compono.Generators.Tests on net10.0 and net11.0 (278/278 each, zero unexpected snapshot diffs). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix: address round-4 Codex review feedback on PR #115 A candidate's own TypeParameters.Length is not always its generated extension's actual emitted arity - TestDoubleMemberInfo.ExtensionIsGeneric (the template's own governing rule) says a solo (non-overloaded, non-closed-instantiation) generic member's extension is always emitted non-generic, mirroring ADR-0044 Requirement 2's "one backing slot covers every closed instantiation" rule onto a matching-eligible member's own extension too. The round-3 fix used raw TypeParameters.Length as arity unconditionally, so a solo generic real member sharing a candidate name (e.g. FooMatching<T>(int), whose own extension actually emits as the non-generic FooMatching(Match<int>)) was recorded at the wrong arity and a genuine collision went undetected. Computed effective arity now mirrors ExtensionIsGeneric exactly: generic arity only counts when the candidate is itself overloaded or closed-instantiation-eligible, zero otherwise - regardless of the method's own real TypeParameters.Length. New regression coverage: a generator-execution snapshot test (OverloadMatchingAliasCollidesWithSoloGenericRealMemberEmittingNonGenericExtension_FallsBackToHashSuffixedName) reproducing Codex's exact scenario - Foo(int)/Foo<T>(string) plus a solo real generic FooMatching<T>(int) - confirming the fallback now fires. Validated: full solution sweep (826/826 on net10.0), Compono.Generators.Tests on net10.0 and net11.0 (279/279 each, zero unexpected snapshot diffs). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
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.
Updated AwesomeAssertions from 9.5.0 to 9.6.0.
Release notes
Sourced from AwesomeAssertions's releases.
9.6.0
What's Changed
New features
Fixes
Documentation
Others
Dependencies
New Contributors
... (truncated)
Commits viewable in compare view.
Updated Basic.Reference.Assemblies.Net100 from 1.8.10 to 1.8.11.
Release notes
Sourced from Basic.Reference.Assemblies.Net100's releases.
1.8.11
Create release 1.8.11
Commits viewable in compare view.
Updated Basic.Reference.Assemblies.Net110 from 1.8.10 to 1.8.11.
Release notes
Sourced from Basic.Reference.Assemblies.Net110's releases.
1.8.11
Create release 1.8.11
Commits viewable in compare view.
Updated Meziantou.Polyfill from 1.0.159 to 1.0.161.
Release notes
Sourced from Meziantou.Polyfill's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated Microsoft.CodeAnalysis.Analyzers from 5.6.0 to 5.9.0.
Release notes
Sourced from Microsoft.CodeAnalysis.Analyzers's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated Microsoft.CodeAnalysis.CSharp from 5.6.0 to 5.9.0.
Updated Microsoft.NET.Test.Sdk from 18.8.1 to 18.9.0.
Release notes
Sourced from Microsoft.NET.Test.Sdk's releases.
18.9.0
What's Changed
New Contributors
Full Changelog: microsoft/vstest@v18.8.0...v18.9.0
Commits viewable in compare view.
Updated TUnit from 1.64.13 to 1.65.38.
Release notes
Sourced from TUnit's releases.
1.65.38
What's Changed
Other Changes
Dependencies
Full Changelog: thomhurst/TUnit@v1.65.31...v1.65.38
1.65.31
What's Changed
Other Changes
Dependencies
Full Changelog: thomhurst/TUnit@v1.65.0...v1.65.31
1.65.0
What's Changed
Other Changes
Dependencies
Full Changelog: thomhurst/TUnit@v1.64.13...v1.65.0
Commits viewable in compare view.
Updated TUnit.Core from 1.64.13 to 1.65.38.
Release notes
Sourced from TUnit.Core's releases.
1.65.38
What's Changed
Other Changes
Dependencies
Full Changelog: thomhurst/TUnit@v1.65.31...v1.65.38
1.65.31
What's Changed
Other Changes
Dependencies
Full Changelog: thomhurst/TUnit@v1.65.0...v1.65.31
1.65.0
What's Changed
Other Changes
Dependencies
Full Changelog: thomhurst/TUnit@v1.64.13...v1.65.0
Commits viewable in compare view.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions