Repository navigation
Test both opt-out variables together and a disabled client's silence - #18
Merged
dmccoystephenson merged 1 commit intoOct 24, 2026
Merged
Conversation
Either environment variable alone turns reporting off, and a value in one that is not an opt-out never cancels an opt-out in the other. A disabled client -- whichever reason -- returns from Report before the size checks, so it logs nothing even for a report it would have dropped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
Self-review rubric (Phase 4), anchored on CI run 40050430162 on the PR head:
Observations:
This review was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener). drafted by Claude on behalf of Daniel Stephenson |
dmccoystephenson
deleted the
feature/test-env-combinations-and-silent-disabled
branch
October 24, 2026 01:36
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
Stage B (unit-test expansion) cycle. Two characterization tests are added to
tests/TraceClient.Tests/TraceClientTest.cs; no production code is changed.Environment_EitherVariableAloneTurnsReportingOffAndNeitherTurnsItBackOn(theory, 3 cases):TRACE_USAGE_REPORTING=ondoes not cancelDO_NOT_TRACK=1,DO_NOT_TRACK=0does not cancelTRACE_USAGE_REPORTING=off, and both opt-outs together still give reasonenvironment. Previously each variable was only tested on its own, so the OR inEnvironmentDisables()(IsOff(...) || IsYes(...)) had no guard against becoming an override.DisabledClient_LogsNothingEvenForAReportItWouldHaveDropped: for each disabled reason (config,no key,environment),Reportwith an overlong name and with more thanMaxTagstags logs nothing and sends nothing. This locks in the README promise that "a disabled client does nothing and costs nothing":Reportreturns before the size checks inJson().A documentation sweep (Stage A) was run first against
README.md, theTraceClient.csheader and XML docs, both csproj files andbuild.yml. No drift was found, so the cycle moved on to test expansion.Skipped issues
User-Agent) was skipped. The fix changes the wire format, which is a maintainer decision that also affects parity with the Java and Python clients. The issue lists the options.Test plan
Buildworkflow green on ubuntu-latest (net8.0)Buildworkflow green on windows-latest (net8.0 + net48)dotnetcould not run in the dispatch sandbox, so the local anchor is UNVERIFIED. The CI matrix on the PR head is the gate.No tracking issue: these gaps were found while comparing the test suite against
TraceClient.csbranch by branch.This PR description was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).
🤖 Generated with Claude Code
drafted by Claude on behalf of Daniel Stephenson