Skip to content

docs: sha256 on upload results and manifest entries (antd 0.17.0) - #403

Merged
Nic-dorman merged 4 commits into
mainfrom
nic/v2-1724-sha256-docs
Oct 23, 2026
Merged

Nic-dorman merged 4 commits into
mainfrom
nic/v2-1724-sha256-docs

Conversation

@Nic-dorman

Copy link
Copy Markdown
Member

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

Nic-dorman and others added 2 commits October 23, 2026 15:50
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 MaidSafe-Hermes left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Nic-dorman and others added 2 commits October 23, 2026 17:45
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 MaidSafe-Hermes left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@Nic-dorman
Nic-dorman marked this pull request as ready for review October 23, 2026 19:37
@Nic-dorman
Nic-dorman merged commit 0010601 into main Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants