Claude: changes for issue #72 #75

Merged
Grandiras merged 1 commit from claude/issue-72 into main 2026-07-25 23:11:43 +00:00
Collaborator

Closes #72.

Closes #72.
docs: document the core package's public API surface (closes #72)
All checks were successful
CI / pds-integration (pull_request) Successful in 17s
CI / build-and-test (pull_request) Successful in 46s
Sync Closures to GitHub / sync-closure (pull_request) Successful in 7s
6a52304a38
`ATProtoNet` shipped with `GenerateDocumentationFile` on and 1114 CS1591
warnings, so most of the public surface arrived in a consumer's IntelliSense
with an empty tooltip — and the noise meant a genuinely new warning on a
touched file was easy to miss.

All 1114 members are now documented. DTO properties describe the AT Protocol
field they map to rather than restating their own name, `$type` discriminators
name the Lexicon ID they carry, the `Did`/`Handle`/`AtUri`/`Nsid`/`Tid`/`Cid`/
`RecordKey`/`AtIdentifier` conversion operators and equality members are
documented or inherit, and the moderation-event, apply-writes and invite-code
types gained type-level summaries. The change is insert-only: no existing prose
was rewritten.

To keep it that way, the four packages that generate documentation now promote
CS1591 to an error. `TreatWarningsAsErrors` stays `false`.

Also folded in the three remaining warnings so the solution builds clean: a
missing `<param>` on `XrpcClient.SendWithDPoPRetryAsync` (CS1573), an ambiguous
`cref` in `PlcOperationBuilder` (CS0419), and a missing `@using` in
`ServerIntegrationSample` (RZ10012).

Verified: `dotnet build -c Release --no-incremental` reports 0 warnings and
0 errors across the solution; `dotnet test tests/ATProtoNet.Tests/` passes
1103 tests; `dotnet pack` produces the package and a well-formed
`ATProtoNet.xml`; and a probe file with an undocumented public member fails
the build with CS1591, confirming the ratchet fires.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Author
Collaborator

🤖 Reviewing this PR — follow along in the action run; the reply will link the full session transcript.

📜 Live transcript — updating every ~5 minutes while the task runs.

🤖 Reviewing this PR — follow along in [the action run](https://git.grandiras.net/Grandiras/claude-bot/actions/runs/89); the reply will link the full session transcript. 📜 [Live transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/ATProto.NET/pr-75/run-89.md) — updating every ~5 minutes while the task runs.
claude-reviewer left a comment

Verdict: approve — no blocking issues found.

Mechanical, insert-only XML-doc PR (1114 members) plus turning CS1591 into a build error on the four documented packages, and three small warning fixes (CS1573, CS0419, RZ10012). Spot-checked several of the claimed fixes against the current tree and they're all correct:

  • The PlcOperationBuilder cref now points at PlcClient.SubmitOperationAsync(PlcSignedOperation, CancellationToken), which matches that overload's actual signature (disambiguating from the (string, JsonObject, CancellationToken) overload).
  • The added <param name="proxyOverride"> in XrpcClient.SendWithDPoPRetryAsync is correctly worded and positioned to match the parameter order.
  • The _Imports.razor addition (ServerIntegrationSample.Components.Layout) matches where ReconnectModal actually lives.
  • WarningsAsErrors is additive ($(WarningsAsErrors);CS1591) and doesn't touch TreatWarningsAsErrors, consistent with the CHANGELOG note.

The CHANGELOG entries accurately describe the change and are added in the same commit, per repo convention. I couldn't do a full dotnet build of the PR branch in this sandbox (git fetch/worktree operations required approval I couldn't obtain), so I relied on diff inspection plus spot-checks against the current source rather than a full compiler verification of "zero warnings" across all 1114 members — that claim is plausible given the sampled correctness but not independently confirmed end-to-end.

One minor doc-quality nit noted inline: RemoveReactionRequest.Value got a generic "The record value." summary instead of describing the reaction emoji, unlike the parallel AddReactionRequest.Value. Not blocking.


⏱ 1m 26s · 16 turns · tokens: 82.7k in / 5.4k out (+1544.3k cache-read)
📜 Full session transcript

✅ **Verdict: approve** — no blocking issues found. Mechanical, insert-only XML-doc PR (1114 members) plus turning CS1591 into a build error on the four documented packages, and three small warning fixes (CS1573, CS0419, RZ10012). Spot-checked several of the claimed fixes against the current tree and they're all correct: - The `PlcOperationBuilder` cref now points at `PlcClient.SubmitOperationAsync(PlcSignedOperation, CancellationToken)`, which matches that overload's actual signature (disambiguating from the `(string, JsonObject, CancellationToken)` overload). - The added `<param name="proxyOverride">` in `XrpcClient.SendWithDPoPRetryAsync` is correctly worded and positioned to match the parameter order. - The `_Imports.razor` addition (`ServerIntegrationSample.Components.Layout`) matches where `ReconnectModal` actually lives. - `WarningsAsErrors` is additive (`$(WarningsAsErrors);CS1591`) and doesn't touch `TreatWarningsAsErrors`, consistent with the CHANGELOG note. The CHANGELOG entries accurately describe the change and are added in the same commit, per repo convention. I couldn't do a full `dotnet build` of the PR branch in this sandbox (git fetch/worktree operations required approval I couldn't obtain), so I relied on diff inspection plus spot-checks against the current source rather than a full compiler verification of "zero warnings" across all 1114 members — that claim is plausible given the sampled correctness but not independently confirmed end-to-end. One minor doc-quality nit noted inline: `RemoveReactionRequest.Value` got a generic "The record value." summary instead of describing the reaction emoji, unlike the parallel `AddReactionRequest.Value`. Not blocking. --- ⏱ 1m 26s · 16 turns · tokens: 82.7k in / 5.4k out (+1544.3k cache-read) 📜 [Full session transcript](https://git.grandiras.net/Grandiras/claude-bot/src/branch/claude-logs/transcripts/Grandiras/ATProto.NET/pr-75/run-89.md) <!-- claude-verdict:approve --> <!-- claude-reviewed-head:6a52304a38deba6e0c3b3325b3795593810b16f2 -->
@ -273,3 +327,4 @@
public required string ConvoId { get; init; }
/// <summary>The identifier of the message.</summary>
[JsonPropertyName("messageId")]
Collaborator

RemoveReactionRequest.Value is documented as "The record value." — generic filler that doesn't say what the value actually is (the reaction emoji being removed). Compare AddReactionRequest.Value a few lines up, correctly documented as "The reaction emoji." Minor, but worth fixing given the whole point of this PR is useful IntelliSense.

`RemoveReactionRequest.Value` is documented as "The record value." — generic filler that doesn't say what the value actually is (the reaction emoji being removed). Compare `AddReactionRequest.Value` a few lines up, correctly documented as "The reaction emoji." Minor, but worth fixing given the whole point of this PR is useful IntelliSense.
Grandiras deleted branch claude/issue-72 2026-07-25 23:11:44 +00:00
Grandiras referenced this pull request from a commit 2026-07-25 23:11:44 +00:00
Sign in to join this conversation.
No description provided.