Repository navigation
docs: sha256 on upload results and manifest entries (antd 0.17.0) - #403
Conversation
Document the sha256 fields antd 0.17.0 added (V2-1724), in the same words every SDK README uses: "requires antd 0.17.0 or later". llms-full.txt: the REST upload responses (POST /v1/data, /v1/data/public, /v1/files, /v1/files/public, /v1/upload/finalize) now show sha256, with a short paragraph on what it is; the manifest build bullet states the version and the daemon's accept-either-case / 400 behaviour; the decode example and a note show sha256 coming back on decode as well as build; the DataService, FileService and ManifestService sections carry the gRPC fields (5/6/7/5 on the results, optional string 5 on the entry input, plain string 9 on entry info); a new Upload results model table and the manifest input/info rows list sha256 with the none mapping (Go keeps ""); the Go manifest comment and the MCP table rows mention it. README.md: a "SHA-256 of uploads" subsection and an entry bullet in Manifests. llms.txt: the build request shape, a manifest bullet and a short "Upload SHA-256" section. skill.md: a hint in Pattern 5 and a rule for agents (pass the hash through, never compute or check it). docs/: one sentence per quickstart (13 SDKs, with that language's field and setter names), a paragraph in tutorial-manifests.md, and the external-signer FinalizeUploadResult line. The README SDK tables do not track fields, so they are unchanged. No SDK dir is touched. Checked against a live antd 0.17.0 on dev2: decode of the fixture link returns sha256 on public.txt and private.txt and omits it on nohash.txt; build accepts an uppercase hash and returns lowercase; "zz" is a 400 "entries[0]: invalid hex sha256: ...". Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ize results The Swift quickstart showed ManifestEntryInput(sha256: hex, ...), which does not compile: the init is (path:, size:, dataMap:, address:, sha256:) and labels must follow declaration order, so sha256 goes last. The example is now ManifestEntryInput(path: "a.txt", address: addr, sha256: hex). C#, Kotlin and Swift return a separate FinalizeMerkleUploadResult that also carries sha256; the three quickstarts and the llms-full.txt Upload results table now name it next to FinalizeUploadResult. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
MaidSafe-Hermes
left a comment
There was a problem hiding this comment.
REQUEST_CHANGES — reviewed head b8c4520076a2cb617b282ab77cfa8a45e80cd4ce.
Coverage: 2/2 seats reviewed (sol-1 gpt-6.1-sol xhigh; glm-1 z-ai/glm-5.3). Both returned UNCERTAIN because the PR is docs-only and the proto contracts were not in their evidence. I checked the exact-head antd/proto/antd/v1/data.proto and files.proto; they confirm this blocker.
Blocker — llms-full.txt gRPC API section, lines 678 and 686: The new SHA-256 documentation attaches the field to non-existent gRPC response names and methods: PutPrivateDataResponse / PutPrivate and UploadPublicResponse / UploadPublic. The actual proto RPCs are DataService.Put → PutDataResponse, DataService.PutPublic → PutPublicDataResponse, FileService.Put → PutFileResponse, and FileService.PutPublic → PutFilePublicResponse. The upload-results table later in the same file uses the real response names, so the document contradicts itself.
Minimum fix: correct those gRPC method and response names to match the committed proto definitions, then keep the SHA-256 field numbers aligned with the same messages. No merge performed.
The DataService and FileService lists in llms-full.txt named RPCs and messages that do not exist (PutPrivate/PutPrivateDataResponse, UploadPublic/ UploadPublicResponse and so on), so the new sha256 notes sat on invented names and the section contradicted its own sha256 bullet. Both lists now match data.proto and files.proto: Put, PutPublic, Get, GetPublic, Stream, StreamPublic, Cost on DataService; Put, PutPublic, Get, GetPublic, Cost on FileService, with the real request and response messages and the sha256 field numbers (5, 5, 6, 7). Only those two service listings change; the rest of the file is untouched. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The gRPC service table listed DataService and FileService RPCs that do not exist (GetPrivate, PutPrivate, GetCost, UploadPublic, DownloadPublic, GetFileCost). It now matches data.proto and files.proto: DataService is Put, PutPublic, Get, GetPublic, Stream, StreamPublic, Cost; FileService is Put, PutPublic, Get, GetPublic, Cost. No other gRPC method names of that kind remain in llms.txt, skill.md, README.md or docs/. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
MaidSafe-Hermes
left a comment
There was a problem hiding this comment.
APPROVE — re-reviewed exact head 79dcd7b5415bfe277d2a641cf91b0e1b5f70b78a.
Coverage: both review seats completed (sol-1 gpt-6.1-sol xhigh; glm-1 z-ai/glm-5.3). This reports model coverage, not team consensus.
The prior blocker is fixed: the gRPC examples now use the actual DataService and FileService RPC and response names, including PutDataResponse, PutPublicDataResponse, PutFileResponse, and PutFilePublicResponse. I checked the current proto method and SHA-256 field names. The docs consistently state the antd 0.17.0+ requirement, optional input/omission behavior, and unset/empty output behavior across the main docs and language quickstarts.
No CI checks are reported on this docs branch. No merge performed.
Part of the sha-fanout round (V2-1724): the SDK side of the sha256 fields antd 0.17.0 added in #347. Targets main; the daemon and antd-go are already released.
docs: sha256 on upload results and manifest entries (antd 0.17.0)
Document the sha256 fields antd 0.17.0 added (V2-1724), in the same words
every SDK README uses: "requires antd 0.17.0 or later".
llms-full.txt: the REST upload responses (POST /v1/data, /v1/data/public,
/v1/files, /v1/files/public, /v1/upload/finalize) now show sha256, with a
short paragraph on what it is; the manifest build bullet states the version
and the daemon's accept-either-case / 400 behaviour; the decode example and a
note show sha256 coming back on decode as well as build; the DataService,
FileService and ManifestService sections carry the gRPC fields (5/6/7/5 on
the results, optional string 5 on the entry input, plain string 9 on entry
info); a new Upload results model table and the manifest input/info rows
list sha256 with the none mapping (Go keeps ""); the Go manifest comment and
the MCP table rows mention it.
README.md: a "SHA-256 of uploads" subsection and an entry bullet in
Manifests. llms.txt: the build request shape, a manifest bullet and a short
"Upload SHA-256" section. skill.md: a hint in Pattern 5 and a rule for
agents (pass the hash through, never compute or check it). docs/: one
sentence per quickstart (13 SDKs, with that language's field and setter
names), a paragraph in tutorial-manifests.md, and the external-signer
FinalizeUploadResult line. The README SDK tables do not track fields, so
they are unchanged. No SDK dir is touched.
Checked against a live antd 0.17.0 on dev2: decode of the fixture link
returns sha256 on public.txt and private.txt and omits it on nohash.txt; build
accepts an uppercase hash and returns lowercase; "zz" is a 400
"entries[0]: invalid hex sha256: ...".
docs: fix the Swift sha256 manifest example and list the merkle finalize results
The Swift quickstart showed ManifestEntryInput(sha256: hex, ...), which does not
compile: the init is (path:, size:, dataMap:, address:, sha256:) and labels must
follow declaration order, so sha256 goes last. The example is now
ManifestEntryInput(path: "a.txt", address: addr, sha256: hex).
C#, Kotlin and Swift return a separate FinalizeMerkleUploadResult that also
carries sha256; the three quickstarts and the llms-full.txt Upload results
table now name it next to FinalizeUploadResult.
🤖 Generated with Claude Code