Repository navigation
Test a blank explicit install ID falling back to the file and a padded DO_NOT_TRACK - #16
Conversation
…d DO_NOT_TRACK Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Self-review rubric (anchored on CI run 39743643018 on the PR head):
Observation (judgment, not a defect): the Local run: UNVERIFIED (no This review comment was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener). drafted by Claude on behalf of Daniel Stephenson |
Summary
Stage B (unit-test expansion) cycle: two characterization tests are added for constructor and opt-out behaviour that had no test. No production code is changed.
InstallIdTest.BlankExplicitId_DoesNotWinOverTheFile: a blankinstallId(" ") passed alongside aninstallIdFileis treated as none, so the file is still created, its GUID becomesInstallId, and that ID is sent as theinstalltag. This pins the constructor's!string.IsNullOrEmpty(explicitInstallId)→installIdFilefallthrough (src/TraceClient/TraceClient.cs:208-215). The existingNoIdOrABlankOne_SendsNoInstallTagcovers only the case where both are blank.TraceClientTest.DoNotTrack_DisablesReportingForEveryAcceptedValuegains[InlineData(" Yes ")].IsYestrims and lower-cases its input, and theTRACE_USAGE_REPORTINGtheory already checks" No ", butDO_NOT_TRACKhad no padded or mixed-case case. The README "Turning it off" table promises case-insensitivity for both variables.No tracking issue: the gaps were found during triage by reading
TraceClient.csbranch by branch against both test files.Skipped: #12 (non-ASCII application in
User-Agent). It changes the wire format and needs Java and Python parity, so the maintainer has to decide it (behaviour-contract change, not auto-fixable).Test plan
Buildworkflow green on ubuntu-latest (net8.0)Buildworkflow green on windows-latest (net8.0 + net48)Local run: UNVERIFIED, because no
dotnetSDK is installed in the dispatch sandbox. The CI matrix on the PR head is the gate.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