Repository navigation
Document the installId ArgumentException; test Json's name and tag-value limits - #7
Conversation
…lue limits The constructor summary said it throws only for baseUrl, application and version problems, but an installId longer than MaxLength throws too. The MaxLength summary now says the version and installation ID are held to it. Json's name-too-long and tag-value-too-long reasons had no direct test; two characterization tests pin their wording and the at-the-limit case. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Self-review rubric (scored against CI run 37432344507 on the PR head and the diff):
Judgment call for the reviewer: the new Do-not-auto-merge check: the diff touches no wire-format, constant value, opt-out or signature lines, and no protected path matches. This dispatch is not authorized to merge, so the PR is left open for a human. 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 A (documentation accuracy sweep) plus a small Stage B (unit-test expansion) on the same surface: what the client rejects for length.
TraceClientconstructor's XML<summary>stated thatArgumentExceptionis thrown only for a missing/malformedbaseUrl, a missingapplication, or a missing/overlongversion. AninstallIdlonger thanMaxLengthalso throws (TraceClient.cs, theexplicitInstallId.Length > MaxLengthcheck). The summary now lists it. TheMaxLengthconstant's summary is extended to say the version and installation ID are held to it as well. Comment-only; no constant value, signature or behaviour changes.Json_RejectsANameLongerThanTheLimitButNotOneAtIt: pins thename longer than 255 charactersreason and the at-the-limit acceptance, which until now were only counted indirectly as adroppedlog line.Json_RejectsATagValueLongerThanTheLimitAndNamesItsKey: pins that an overlong tag value is rejected with a reason naming the key (tag level longer than 255 characters), and that a value exactly at the limit is written.No tracking issue. The gap was found during triage (no open issues existed).
The rest of the docs sweep found no other drift. README tables ("What
Reportpromises", "Turning it off", "The wire format", "Building"), the version strings (csproj, header,Versionconst, READMEUser-Agent, all0.3.0), and thebuild.yml/ test csproj net48 comments were each checked against source.Verification
dotnetis not installed in the dispatch sandbox, so the local anchor is UNVERIFIED. TheBuildmatrix on this PR head (ubuntu net8.0, windows net8.0 + net48) is the gate.Test plan
Build/ ubuntu-latest (net8.0) green, with the two new tests countedBuild/ windows-latest (net8.0 + net48) greenGenerateDocumentationFile+TreatWarningsAsErrorsstill build cleanly with the edited XML docsThis 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