docs: antd v0.6.1 — health fields, upload visibility, MCP port discovery#37
Merged
JimCollinson merged 7 commits intoMay 12, 2026
Merged
Conversation
…td v0.6.1 - rest-api.md: health endpoint now returns version, evm_network, uptime_seconds, build_commit, payment_token_address, payment_vault_address (all required); add visibility param on prepare endpoints; add data_map_address to finalize response; add 501 to error codes. - grpc-services.md: HealthCheckResponse has 6 new fields; update Common messages table. - use-external-signers-for-upload-payments.md: document visibility param on file prepare, data_map_address on finalize, and data_prepare_upload_with_visibility for Rust callers. - mcp-server-reference.md: fix port-file discovery note (both antd and antd-mcp now use ant/sdk/daemon.port); update check_health() response. - library-reference.md: add Visibility type; note data_prepare_upload_with_visibility in external signer section. - SKILL.md: health shape updated; MCP discovery claim corrected; linked release 0.1.3-draft → 0.1.4-draft. Upstream: ant-sdk d7652ec3→529280c3, ant-client 71ad53b0→6cada1d6 https://claude.ai/code/session_01PbqgEKBP7PkuUXZvjWRVrT
Closed
JimCollinson
commented
May 12, 2026
…11-api-health-visibility
Per review on PR #37: the audit/write loop slipped into changelog-style framing in several places, which violates CLAUDE.md's Style guide rule on time-relative wording and the Voice-and-tone present-tense mandate. The reviewer flagged three instances; sweep found five more of the same pattern and they are all fixed here. - docs/mcp/mcp-server-reference.md: "Both antd and antd-mcp now use the same path" → "antd writes the port file to ant/sdk/daemon.port and antd-mcp reads from the same path". - docs/sdk/reference/rest-api.md (visibility on /v1/data/prepare): "reserved — returns 501 until upstream ant-core exposes data_prepare_upload_with_visibility" → "returns 501 on this endpoint; use /v1/upload/prepare with a file path". - docs/sdk/reference/rest-api.md (visibility on /v1/upload/prepare): "Omitting this field preserves pre-0.6.1 (private) behavior" deleted — the default is already stated inline. - docs/sdk/reference/rest-api.md (finalize response): "(legacy daemon- wallet path)" → "that path uses the daemon's own wallet to store the DataMap". State the mechanism, not a relationship to a successor. - docs/sdk/reference/rest-api.md (501 row): "not yet supported" → "not supported". - docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md: same "currently only supports" / "legacy daemon-wallet path" fixes. - skills/start/SKILL.md: same "now use the same path" rewrite as the MCP reference. Changelog content in skills/start/CHANGELOG.md keeps its delta framing (it is explicitly a version-comparison surface). https://claude.ai/code/session_019cz1M7pXuXFQykMZxfdXHm
The original prose-PR commit added planning/sweeps/2026-05-11-prose.md, but the prose-guard and sweep-guard regex only accepts the bare-date form (planning/sweeps/<YYYY-MM-DD>.md). Renaming to the bare-date form would conflict with PR #36's same-named file, so the cleanest path right now is to drop the prose summary entirely. The PR body and the CHANGELOG.md entry already carry the audit narrative; per policy the file is "optional add." Long-term the routine should either commit no per-run prose summary or the guards/policy should be updated to allow a -prose / -sweep suffix so both PRs in the same day can coexist with their own files. Out of scope for this PR. https://claude.ai/code/session_019cz1M7pXuXFQykMZxfdXHm
JimCollinson
pushed a commit
that referenced
this pull request
May 12, 2026
…tence PR #37's prose changes drifted into changelog-style framing in eight places ("now use the same path", "currently only supports", "legacy daemon-wallet path", "until upstream X exposes Y", "preserves pre-0.6.1 behavior", "not yet supported"). Every one of these violated rules that already exist in CLAUDE.md — the Style guide explicitly bans time-relative wording, the Voice-and-tone section mandates present tense, and the "do not narrate the evidence" rule asks for direct statements of fact. The general CLAUDE.md pointer in step 4.7 was easy to skim past during the audit/write loop. Tighten step 4.7 to call out the specific failure mode the routine keeps hitting: the audit gives the model a diff between two SHAs, but the page describes the state of the surface at head_sha. Translating "what changed" into "what is" is exactly where the model slips. The new wording names the relevant CLAUDE.md sections explicitly and gives one concrete bad-vs-good example without duplicating the rule itself. No rule duplication; the Style guide remains the source of truth. https://claude.ai/code/session_019cz1M7pXuXFQykMZxfdXHm
4 tasks
prose-guard's linked-release check compares version.json's published_date (a JSON string) against SKILL.md frontmatter's verified_date. YAML auto-parses an unquoted ISO date into a datetime.date object, so the string-vs-date comparison always returns False even when the values are semantically identical: published_date: '2026-05-11' (str) verified_date: datetime.date(2026, 5, 11) '2026-05-11' != datetime.date(2026, 5, 11) # always True Quoting the YAML value preserves it as a string so the comparison works. Same workaround applies in any future skill release. There is a latent bug in the prose-guard workflow itself — it should coerce both sides to strings before comparing — but that is a separate .github/ change outside this PR's envelope. https://claude.ai/code/session_019cz1M7pXuXFQykMZxfdXHm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upstream
d7652ec3→529280c3(chore(antd): release v0.6.1)71ad53b0→6cada1d6(merge rc-2026.4.4)23aee15c→0c2f2c97(merge rc-2026.5.1, payment verifier clock skew — internal only)65651f3a→8955144b(merge rc-2026.4.4, Cargo.lock only — metadata-only)Source artifacts inspected
antd/openapi.yaml— primary REST API specantd/proto/antd/v1/health.proto— gRPC HealthCheckResponseantd/src/types.rs— PrepareUploadRequest, PrepareDataUploadRequest, FinalizeUploadResponse, HealthResponseantd/src/main.rs— EVM/build-commit fields wired into AppStateantd-mcp/src/antd_mcp/discover.py— port-file path changed toant/sdk/daemon.portantd-mcp/src/antd_mcp/server.py— check_health() now surfaces all six new fieldsant-core/src/data/client/data.rs— newdata_prepare_upload_with_visibilitymethodant-core/src/data/client/file.rs—Visibilityenum (Public/Private)ant-core/src/data/mod.rs—pub use client::file::VisibilityconfirmedDeveloper-facing change
antd v0.6.1 introduces four breaking additions to the REST and gRPC health surface, a new upload visibility parameter, and a corrected MCP port-file discovery path:
GET /healthandHealthCheckResponsenow return six new required fields:version,evm_network,uptime_seconds,build_commit,payment_token_address,payment_vault_address.POST /v1/upload/prepareaccepts a new optionalvisibilityfield ("private"|"public"). Public uploads bundle the DataMap chunk into the payment batch; finalize returnsdata_map_address.POST /v1/data/prepareacceptsvisibilitybut returns501for"public"(blocked on ant-core upstream PR #73). Use/v1/upload/preparefor public external-signer uploads today.antd-mcpnow reads the port file fromant/sdk/daemon.port(matching whereantdwrites it); the previous mismatch note is corrected.ant-coregainsdata_prepare_upload_with_visibility(content, Visibility)and theVisibilityenum as public API.Files changed in this PR
docs/sdk/reference/rest-api.md— health response, visibility param on prepare endpoints,data_map_addresson finalize,501error codedocs/sdk/reference/grpc-services.md— HealthCheckResponse fields, Common messages tabledocs/sdk/how-to-guides/use-external-signers-for-upload-payments.md— visibility param,data_map_addresson finalize,data_prepare_upload_with_visibilityfor Rust callersdocs/mcp/mcp-server-reference.md— port-file discovery corrected,check_health()response updateddocs/rust/library-reference.md—Visibilitytype in key types table,data_prepare_upload_with_visibilityin external signer sectionskills/start/SKILL.md— health shape updated, MCP discovery claim corrected; frontmatter bumped 0.1.3-draft → 0.1.4-draftskills/start/version.json— version 0.1.4-draft, published_date 2026-05-11, verified_commits updatedskills/start/CHANGELOG.md— 0.1.4-draft entry addedplanning/sweeps/2026-05-11-prose.md— sweep summary addedWhy prose changed
GET /healthresponse shape changed — six new required fields exist at529280c3inantd/openapi.yamlandantd/src/types.rs:HealthResponse. The prepare endpoints have a newvisibilityfield. The finalize response hasdata_map_address.antd/proto/antd/v1/health.protoat529280c3adds six new fields toHealthCheckResponse.data_map_address. The ant-core native path has a newdata_prepare_upload_with_visibilitymethod.antd-mcp/src/antd_mcp/discover.pyat529280c3switched fromant/daemon.porttoant/sdk/daemon.port, matchingantd's write path. Thecheck_health()server function now returns all six new health fields.ant-core/src/data/mod.rsat6cada1d6nowpub usesVisibilityfromclient::file.data_prepare_upload_with_visibilityis a new public method onClient.Linked skill release
SKILL.md body changed → linked release applies per
planning/routines/upstream-sweep.md:version.json: version0.1.3-draft → 0.1.4-draftversion.json: published_date2026-05-02 → 2026-05-11SKILL.md frontmatter version:0.1.3-draft → 0.1.4-draftSKILL.md frontmatter verified_date:2026-05-02 → 2026-05-11CHANGELOG.mdentry added for 0.1.4-draftVerification run
python3 scripts/sweep_poll.py) re-run on prose branch:status: "ok", 0 drifted records on the 6 prose pages. Remaining 14 drifted records are all in the companion sweep PR, correct by design.python3 -m json.tool skills/start/version.json): validHealthResponsestruct has all 6 new fields at529280c32c024c92b68436abb6ace956c8da66ba;Visibilityis re-exported fromant_core::dataat6cada1d6b318a93e52ea6c34aa4b68fc2782c946;antd-mcp/discover.pyusesant/sdk/path at529280c32c024c92b68436abb6ace956c8da66baUncertainties
501note onPOST /v1/data/preparewithvisibility:"public"references ant-client PR #73. That PR is not merged as of the audit. The page correctly documents the current (501) behavior and directs users to/v1/upload/prepareinstead.data_map_addressdescription inrest-api.mdmatches the intent inantd/src/rest/upload.rs(not audited in full detail — inferred fromtypes.rsandopenapi.yaml).Generated by Claude Code