Skip to content

audit: phase 1 round 03 usability assumptions#518

Closed
samtrion wants to merge 1 commit into
mainfrom
audit/phase1-r03-usability
Closed

audit: phase 1 round 03 usability assumptions#518
samtrion wants to merge 1 commit into
mainfrom
audit/phase1-r03-usability

Conversation

@samtrion

Copy link
Copy Markdown
Contributor

Summary

Round 03 of the NetEvolve.Pulse Phase 1 usability audit. Adds 13 new falsifiable usability/DX assumptions (U33–U45) with code evidence, impact rationale, and a falsification test idea for each.

New territory explored (no overlap with U01–U32):

  • Telemetry: meter and ActivitySource names hardcoded in an internal class with no public constant, no documented OTel AddSource/AddMeter snippet.
  • Outbox: a real IOutboxManagement admin API exists but is undocumented in every README — no operator runbook for dead-letter inspection/replay.
  • Packaging: no CHANGELOG.md, static PackageReleaseNotes URL, no versioning policy (lockstep vs. independent) across the 19 packages.
  • DX: no dotnet user-secrets example for transports requiring secrets; no IHealthCheck integration despite IsHealthyAsync existing; no runnable sample apps.
  • API surface hygiene: *.Internals namespace mixed with public members; IPayloadSerializer lacks [NotNullIfNotNull] flow annotations.
  • Tooling: Renovate + Dependabot overlap on devcontainer images.
  • Discoverability: main NetEvolve.Pulse NuGet README never mentions [PulseHandler] source-gen attribute.
  • Code smell: [SuppressMessage("CA2007")] repeated across 14 outbox files with a contradictory justification.

Test plan

This is a read-only audit (no code changes). Verification path:

  • Each assumption cites a concrete file path or grep result reproducible from main.
  • Each assumption is falsifiable — the "Test idea" describes how to disprove it.
  • No assumption duplicates U01–U32.

Add 13 new falsifiable usability/DX assumptions (U33-U45) covering
telemetry name discoverability, dead-letter runbook gaps, versioning
policy, secrets handling, HealthChecks integration, public/internal
boundary hygiene, and analyzer-suppression hazards.
@samtrion samtrion requested a review from a team as a code owner May 26, 2026 08:56
@samtrion samtrion requested a review from benwirren May 26, 2026 08:56
@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: ee01d402-5faf-4af8-9234-73919215d070

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/phase1-r03-usability 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