Update README.md and docs #74
Labels
No labels
breaking-change
bug
documentation
duplicate
enhancement
good first issue
help wanted
performance
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Grandiras/ATProto.NET#74
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🤖 On it — follow along in the action run; the reply will link the full session transcript.
📜 Live transcript — updating every ~5 minutes while the task runs.
Pushed branch
claude/issue-74.What I did
The issue body was empty, so I treated "Update README.md and docs" as: audit the documentation against the code and fix what has drifted. I cross-checked every type, method, parameter, and constant named in
README.mdanddocs/againstsrc/andtools/. A lot had rotted — several pages documented APIs that never existed or that were renamed.Rewritten (the code in them could not compile as written):
docs/crypto.md— documentedAtProtoKey.Generate,AtProtoCrypto.EncodeMultikey/DecodeMultikey/GenerateDidKey/ParseDidKey/Base58Encode(none exist; the real API isAtProtoCrypto.GenerateP256Key,key.ToMultikey(),key.ToDidKey(),FromMultikey/FromDidKey), a staticServiceAuthGenerator.CreateToken(it is an instance method with different parameters), and an MST that stores string CIDs with abyte[] Serialize()(it stores binary CIDs and returns a root + block map). Also extended to coverCarWriterand covering proofs.docs/standard-site.md— everyStandardSiteClientcall omitted the required repository argument, and the records used fields that aren't in the Lexicon models (PublicationRecord.Theme,SubscriptionRecord.Subject,BasicTheme.PrimaryColor;DocumentRecord.Site/PublishedAtwere missing).docs/ozone.md— moderation events were namedModerationEvent*instead ofModEvent*; several calls passed request objects to methods taking positional arguments.docs/lexicon-codegen.md— themigrate/publishflags and migration file format didn't match the CLI, and the programmatic migration API had the wrong shape.Targeted fixes:
api-reference.md(a fabricatedBsky.Unspeccedclient, wrong Ozone/Site client types,AtProtoScopes.Full,ServiceProxydescribed as an instance type,RateLimitInfonullability/Policy),did-resolution.md(ResolveAsync→ResolveDidAsync,GetLatestOperationAsync→GetLastOperationAsync,HttpRequestException→PlcException,ServiceEndpoint.Endpoint),firehose.md(SetCursorAsync→StoreCursorAsync),identity-types.md(Handle.Segments,Tid.Timestamp,AtUri.Create),blob-upload.md(uploads return aBlobRef; downloads useSync.GetBlobAsync),video.md(stream upload;JobState.Processingis reallyEncoding/Scanning),labeler.md(ViewsisList<JsonElement>; wrong namespace forStandardLabelValues), plusbatch-operations.md,server.md,aspnet-core.md,aspire.md,managed-pds.md,oauth.md(the error-code table listed codes the SDK never throws), andgetting-started.md.Added: documentation for the 0.5.0 repository-authoring APIs that shipped with no prose at all —
CarWriter,RepoCommit/SignedRepoCommit,PlcOperationBuilder,MerkleSearchTree.SerializeProof,Tid.FromInt64/ToInt64,CidComputation.TryDecodeCidString,DidDocument.Context,XrpcClient.SetAdminCredentials.architecture.mdclaimed five runtime packages (there are four) and that only the core project generates docs (all four do, with CS1591 as an error).Verification
ATProtoNet,ATProtoNet.Server, and the generator tool — all compile, 0 errors. That's how I caught three further bugs I'd have otherwise missed (TryDecodeCidStringarity,ServiceEndpoint.Endpoint, a missingusingforCommitEventinfirehose.md).atproto-lexgen csharp,publish, andmigrateinvocations end to end against a sample Lexicon — all work as written.dotnet build: succeeded, 0 warnings.dotnet test tests/ATProtoNet.Tests/: 1103 passed, 0 failed, 5 skipped (the usual environment-gated ones).One source file changed:
AtProtoClientBuilder's XML example used the same non-existentFileSessionStorethe docs did.CHANGELOG.mdupdated under[Unreleased] → Fixed.⏱ 24m 47s · 260 turns · tokens: 351.7k in / 111.6k out (+41542.9k cache-read)
📜 Full session transcript
→ Opened PR: #77