Skip to content

audit: phase 2 verification U11-U15 (round 01)#521

Closed
samtrion wants to merge 1 commit into
mainfrom
audit/phase2-r01-U11-U15
Closed

audit: phase 2 verification U11-U15 (round 01)#521
samtrion wants to merge 1 commit into
mainfrom
audit/phase2-r01-U11-U15

Conversation

@samtrion

Copy link
Copy Markdown
Contributor

Summary

Independent Phase 2 verification of usability assumptions U11 through U15 from audit/assumptions/round-01-usability.md. Each assumption was re-evaluated against the worktree's current source, and a failing test or repro was produced where applicable.

This PR contains NO production code changes — Phase 3 builders will fix the issues. Failing tests + Notes only.

ID Status Title Failing artifact
U11 CONFIRMED Transport extensions silently overwrite previous registration tests/NetEvolve.Pulse.Tests.Unit/Outbox/TransportOverwriteDiagnosticTests.cs
U12 CONFIRMED IMediator Scoped — BackgroundService XML-doc example violates DI lifetime tests/NetEvolve.Pulse.Tests.Unit/IMediatorSendOnlyBackgroundServiceLifetimeTests.cs
U13 NEEDS-NUANCE NuGet metadata missing icon + embedded README audit/repros/u13/verify.ps1 (+ committed nuspec evidence). README auto-detected on .NET 10 SDK; icon still missing.
U14 CONFIRMED C# 14 extension(...) blocks lock source build to .NET 10 SDK audit/repros/u14/verify.ps1 (+ committed build.log). Actual error: NETSDK1045, not CS1003/CS8400.
U15 CONFIRMED Missing handler gives generic DI exception, no scanning helper tests/NetEvolve.Pulse.Tests.Unit/MissingHandlerDiagnosticTests.cs

Notable findings beyond the original assumptions

  • U13 is only PARTIALLY confirmed. The .NET 10 SDK (10.0.300) auto-detects an adjacent README.md and emits <readme>README.md</readme> in the nuspec without any explicit PackageReadmeFile property. The icon half (<icon> + logo.png packing) is still fully missing. Phase 3 should still set both properties explicitly to avoid behavior drifting with SDK version.
  • U14 confirms the symptom (build fails on .NET 8 SDK) but the actual error is NETSDK1045 (cannot target net9.0), surfaced before the compiler runs. The original assumption predicted CS1003/CS8400 parser errors on the extension(...) syntax — those would only appear if the multi-target was reduced to net8.0 only.
  • The existing test UseAzureServiceBusTransport_replaces_existing_transport (line 116-126 of AzureServiceBusExtensionsTests.cs) codifies the U11 footgun as if it were correct behavior. Phase 3 should reconsider.

Test plan

  • dotnet build tests/NetEvolve.Pulse.Tests.Unit/NetEvolve.Pulse.Tests.Unit.csproj — 0 errors (12 style warnings only).
  • Phase 3 builders run the three new TUnit tests; each should fail before the fix and pass after.
  • Phase 3 runs pwsh audit/repros/u13/verify.ps1 — must exit 0 after fix.
  • Phase 3 runs pwsh audit/repros/u14/verify.ps1 — must exit 0 after fix (i.e., build succeeds with .NET 8 SDK pinned).

🤖 Generated with Claude Code

Independently verify usability assumptions U11 through U15 with file:line
evidence and failing tests / repros (TUnit + PowerShell).

| ID  | Status        | Failing artifact                                                                           |
|-----|---------------|--------------------------------------------------------------------------------------------|
| U11 | CONFIRMED     | tests/NetEvolve.Pulse.Tests.Unit/Outbox/TransportOverwriteDiagnosticTests.cs               |
| U12 | CONFIRMED     | tests/NetEvolve.Pulse.Tests.Unit/IMediatorSendOnlyBackgroundServiceLifetimeTests.cs        |
| U13 | NEEDS-NUANCE  | audit/repros/u13/verify.ps1 (icon missing; readme auto-detected on .NET SDK 10.x)          |
| U14 | CONFIRMED     | audit/repros/u14/verify.ps1 (fails with NETSDK1045, not CS1003/CS8400 as predicted)        |
| U15 | CONFIRMED     | tests/NetEvolve.Pulse.Tests.Unit/MissingHandlerDiagnosticTests.cs                          |

Tests/repros compile (dotnet build NetEvolve.Pulse.Tests.Unit.csproj: 0 errors).
No production code changes — Phase 3 will own the fixes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@samtrion samtrion requested a review from a team as a code owner May 26, 2026 09:09
@samtrion samtrion requested a review from Hnogared May 26, 2026 09:09
@coderabbitai

coderabbitai Bot commented May 26, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • state:ready for merge

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f6e19125-8f45-4d94-8a9a-d605d0a21fd1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@samtrion samtrion closed this May 26, 2026
@samtrion samtrion deleted the audit/phase2-r01-U11-U15 branch May 26, 2026 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant