Skip to content

Finalizing task implementation and documentation - #831

Merged
AndreaCuneo merged 6 commits into
masterfrom
copilot/move-task-to-completed
Aug 3, 2026
Merged

Finalizing task implementation and documentation#831
AndreaCuneo merged 6 commits into
masterfrom
copilot/move-task-to-completed

Conversation

Copilot AI commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Pull request created by AI Agent

Copilot AI and others added 3 commits August 3, 2026 14:08
Co-authored-by: AndreaCuneo <5227688+AndreaCuneo@users.noreply.github.com>
Co-authored-by: AndreaCuneo <5227688+AndreaCuneo@users.noreply.github.com>
Co-authored-by: AndreaCuneo <5227688+AndreaCuneo@users.noreply.github.com>
Co-authored-by: AndreaCuneo <5227688+AndreaCuneo@users.noreply.github.com>
@AndreaCuneo
AndreaCuneo marked this pull request as ready for review August 3, 2026 14:40
Copilot AI review requested due to automatic review settings August 3, 2026 14:40
@AndreaCuneo
AndreaCuneo requested a review from a team as a code owner August 3, 2026 14:40
Comment thread tests/Ark.Tools.AspNetCore.ProblemDetails.Tests/ProblemDetailsShapeTests.cs Dismissed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Not ready to approve

The updated mapper introduces a compile break (missing UnconditionalSuppressMessage qualification/import) and uses Expression.Compile() without handling dynamic-code-disabled/AOT environments.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.

Pull request overview

Improve BusinessRuleViolationException → RFC7807 mapping performance by caching per-violation-type property accessors, and add tests/benchmarks/docs to validate compatibility and measure gains.

Changes:

  • Add a ConcurrentDictionary<Type, Accessor[]> cache and compiled getters for business-rule violation extension payload mapping.
  • Add compatibility + concurrency tests for business-rule violation payload shaping.
  • Add BenchmarkDotNet benchmarks and update benchmark runner/docs to capture baseline vs cached performance.
File summaries
File Description
tests/Ark.Tools.AspNetCore.ProblemDetails.Tests/ProblemDetailsShapeTests.cs Adds payload-compatibility and concurrency tests for business rule violation mapping.
src/aspnetcore/Ark.Tools.AspNetCore.ProblemDetails/ExceptionProblemDetailsMapper.cs Introduces cached accessors and expression-compiled getters for business-rule violation payloads.
docs/performance/completed/003-business-rule-problem-details.md Documents decisions and measured benchmark results for the accessor cache approach.
benchmarks/Ark.Tools.Benchmarks/Program.cs Switches benchmark entrypoint to BenchmarkSwitcher for assembly-wide execution.
benchmarks/Ark.Tools.Benchmarks/packages.lock.json Updates lockfile to include the new project reference closure.
benchmarks/Ark.Tools.Benchmarks/ExceptionProblemDetailsBenchmarks.cs Adds reflection vs cached mapping benchmarks for representative violation shapes.
benchmarks/Ark.Tools.Benchmarks/Ark.Tools.Benchmarks.csproj Adds project reference to Ark.Tools.AspNetCore.ProblemDetails to benchmark the mapper.
Review details
  • Files reviewed: 7/7 changed files
  • Comments generated: 2
  • Review effort level: Lite

We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.

…callyAccessedMembers on violationType parameter

Co-authored-by: AndreaCuneo <5227688+AndreaCuneo@users.noreply.github.com>
Copilot AI requested review from Copilot and removed request for Copilot August 3, 2026 14:52
Copilot AI requested a review from AndreaCuneo August 3, 2026 14:56
@AndreaCuneo

Copy link
Copy Markdown
Contributor

@copilot sync with master and validate build and tests runs

…o-completed

Co-authored-by: AndreaCuneo <5227688+AndreaCuneo@users.noreply.github.com>

Copilot AI commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

@copilot sync with master and validate build and tests runs

Synced with master (merged origin/master, 29 files changed). Full solution build: 0 warnings, 0 errors. ProblemDetails tests: 6/6 passed.

@AndreaCuneo
AndreaCuneo merged commit 2dc29f5 into master Aug 3, 2026
6 checks passed
@AndreaCuneo
AndreaCuneo deleted the copilot/move-task-to-completed branch August 3, 2026 15:19
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.

3 participants