audit: phase 2 verification U01-U05 (round 01)#522
Closed
samtrion wants to merge 1 commit into
Closed
Conversation
Verifies first five usability assumptions from audit/assumptions/round-01-usability.md with file:line evidence and adds failing tests / repros that demonstrate each defect. - U01 CONFIRMED README.md:118-136 Quick Use snippet fails CS0535 x2 on CausationId/CorrelationId; never builds provider or dispatches. Repro: audit/repros/u01. - U02 CONFIRMED src/NetEvolve.Pulse/README.md:152-162 sets QueryCachingOptions.JsonSerializerOptions which does not exist (CS1061). Repro: audit/repros/u02. - U03 CONFIRMED AssemblyScanningExtensions XML doc recommends 'NetEvolve.Pulse.Generators' but the real package id is 'NetEvolve.Pulse.SourceGeneration'. Failing TUnit test: tests/NetEvolve.Pulse.Tests.Unit/Audit/U03_AssemblyScanningPackageNameTests.cs. - U04 CONFIRMED SystemTextJsonPayloadSerializer uses reflection-mode STJ with no [RequiresUnreferencedCode]/[RequiresDynamicCode]; an AOT-enabled consumer build emits zero IL2026/IL3050 warnings. Repro: audit/repros/u04. - U05 CONFIRMED OutboxProcessorOptions has no IValidateOptions and AddOutbox() does not call ValidateOnStart(); BatchSize=0, PollingInterval=Zero, BackoffMultiplier=0, ProcessingTimeout=Zero all resolve cleanly. Failing TUnit tests: tests/NetEvolve.Pulse.Tests.Unit/Audit/U05_OutboxProcessorOptionsValidationTests.cs. Phase 3 builders will fix each. This commit only adds verification artifacts; no production code changed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
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.
Summary
Phase 2 verification for the first five usability assumptions from
audit/assumptions/round-01-usability.md. Each was independently re-verified with file:line evidence; failing tests / repros were added but no production code was modified. Phase 3 builders will fix the underlying issues.README.md:118-136audit/repros/u01/—dotnet buildemitsCS0535x2 (CausationId, CorrelationId)src/NetEvolve.Pulse/README.md:152-162;QueryCachingOptions.cs:10-59audit/repros/u02/—dotnet buildemitsCS1061foroptions.JsonSerializerOptionssrc/NetEvolve.Pulse/AssemblyScanningExtensions.cs:15tests/NetEvolve.Pulse.Tests.Unit/Audit/U03_AssemblyScanningPackageNameTests.cs(fails 1/1)src/NetEvolve.Pulse/Serialization/SystemTextJsonPayloadSerializer.cs:32-44audit/repros/u04/— AOT-annotated build emits zero IL2026/IL3050 warningssrc/NetEvolve.Pulse/Outbox/OutboxProcessorOptions.cs:10-99;OutboxExtensions.cs:51-61tests/NetEvolve.Pulse.Tests.Unit/Audit/U05_OutboxProcessorOptionsValidationTests.cs(fails 4/4)All assumptions confirmed: 5 CONFIRMED / 0 REFUTED / 0 NEEDS-NUANCE.
Test plan
dotnet build audit/repros/u01/U01Repro.csproj— observeCS0535x2.dotnet build audit/repros/u02/U02Repro.csproj— observeCS1061x1.dotnet build audit/repros/u04/U04AotRepro.csproj(AOT analyzers on) — observe zeroIL2026/IL3050warnings.dotnet run --project tests/NetEvolve.Pulse.Tests.Unit -- --treenode-filter "/*/*/U03_AssemblyScanningPackageNameTests/*"— 1/1 fails (XML doc mentions phantomNetEvolve.Pulse.Generators).dotnet run --project tests/NetEvolve.Pulse.Tests.Unit -- --treenode-filter "/*/*/U05_OutboxProcessorOptionsValidationTests/*"— 4/4 fail (noOptionsValidationException).dotnet build tests/NetEvolve.Pulse.Tests.Unit/NetEvolve.Pulse.Tests.Unit.csprojsucceeds (new tests compile).