From 8500e4dcc4c8ba7843cc6cdacc6b8bc98c492fcb Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 11 May 2026 15:38:37 +0000 Subject: [PATCH 1/4] docs: update health response, upload visibility, MCP discovery for antd v0.6.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- docs/mcp/mcp-server-reference.md | 14 +++++++--- docs/rust/library-reference.md | 7 ++--- ...se-external-signers-for-upload-payments.md | 17 +++++++----- docs/sdk/reference/grpc-services.md | 14 +++++++--- docs/sdk/reference/rest-api.md | 20 +++++++++++--- planning/sweeps/2026-05-11-prose.md | 27 +++++++++++++++++++ skills/start/CHANGELOG.md | 14 ++++++++++ skills/start/SKILL.md | 24 ++++++++++------- skills/start/version.json | 12 ++++----- 9 files changed, 112 insertions(+), 37 deletions(-) create mode 100644 planning/sweeps/2026-05-11-prose.md diff --git a/docs/mcp/mcp-server-reference.md b/docs/mcp/mcp-server-reference.md index b1597fe..841d9df 100644 --- a/docs/mcp/mcp-server-reference.md +++ b/docs/mcp/mcp-server-reference.md @@ -3,8 +3,8 @@ @@ -59,7 +59,7 @@ At startup, the server resolves the daemon base URL in this order: The discovery helper still checks a `daemon.port` file before falling back to the default URL. -`antd` writes `ant/sdk/daemon.port`, while `antd-mcp` reads `ant/daemon.port`. Treat `ANTD_BASE_URL` as the reliable configuration path unless you have already confirmed port-file discovery works in your environment. +Both `antd` and `antd-mcp` now use the same `ant/sdk/daemon.port` path, so port-file discovery should work without `ANTD_BASE_URL` when both are installed from the same `ant-sdk` checkout. Set `ANTD_BASE_URL` explicitly when you want a fixed URL regardless of port-file state, or when you are running `antd-mcp` against a daemon on a different host. ## Claude Desktop configuration @@ -202,7 +202,13 @@ Examples: ```json { "healthy": true, - "network": "local" + "network": "local", + "version": "0.6.1", + "evm_network": "local", + "uptime_seconds": 42, + "build_commit": "529280c3", + "payment_token_address": "", + "payment_vault_address": "" } ``` diff --git a/docs/rust/library-reference.md b/docs/rust/library-reference.md index cea88d9..6fd607b 100644 --- a/docs/rust/library-reference.md +++ b/docs/rust/library-reference.md @@ -3,8 +3,8 @@ @@ -121,7 +121,7 @@ async fn main() -> Result<(), Box> { The native Rust library exposes both wave-batch and Merkle-batch external payment helpers. -For wave-batch uploads, `data_prepare_upload`, `file_prepare_upload`, and `finalize_upload` prepare the upload, collect quotes, and later store the chunks after an external signer returns transaction hashes. +For wave-batch uploads, `data_prepare_upload`, `data_prepare_upload_with_visibility`, `file_prepare_upload`, and `finalize_upload` prepare the upload, collect quotes, and later store the chunks after an external signer returns transaction hashes. Use `data_prepare_upload_with_visibility(content, Visibility::Public)` to bundle the DataMap chunk into the same payment batch and receive its network address in the `FileUploadResult` after finalize. For Merkle batches, `prepare_merkle_batch_external` and `finalize_merkle_batch` expose the low-level batch helpers, while `finalize_upload_merkle` completes a prepared upload from the winning pool hash. Progress-aware variants such as `file_prepare_upload_with_progress`, `finalize_upload_with_progress`, and `finalize_upload_merkle_with_progress` are also available when you need UI feedback during long-running uploads. @@ -138,6 +138,7 @@ For Merkle batches, `prepare_merkle_batch_external` and `finalize_merkle_batch` | `ant_core::data::PreparedUpload` | Two-phase upload state used by external-signer flows | | `ant_core::data::ExternalPaymentInfo` | External payment details for prepared uploads | | `ant_core::data::PreparedMerkleBatch` | Prepared Merkle batch data for external signing | +| `ant_core::data::Visibility` | Upload visibility: `Private` (DataMap returned to caller) or `Public` (DataMap bundled into payment batch and stored on-network) | ## External signer example diff --git a/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md b/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md index 5b7d5c4..917eff2 100644 --- a/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md +++ b/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md @@ -3,15 +3,15 @@ @@ -25,7 +25,13 @@ Checks daemon health and network selection. | Name | Type | Description | |------|------|-------------| | `status` | string | Expected `ok` on success | -| `network` | string | Current network name | +| `network` | string | Network name: `default`, `local`, or `alpha` | +| `version` | string | antd crate version (e.g. `0.4.0`) | +| `evm_network` | string | EVM preset: `arbitrum-one`, `arbitrum-sepolia`, `local`, or `custom` | +| `uptime_seconds` | uint64 | Seconds since the daemon process started | +| `build_commit` | string | Short git SHA captured at build time, or empty if built outside a git checkout | +| `payment_token_address` | string | Payment token contract address, or empty if unconfigured | +| `payment_vault_address` | string | Payment vault contract address, or empty if unconfigured | ## Data Service @@ -139,7 +145,7 @@ The proto files define these shared shapes: | Message | Fields | |------|--------| | `Cost` | `atto_tokens` | -| `HealthCheckResponse` | `status`, `network` | +| `HealthCheckResponse` | `status`, `network`, `version`, `evm_network`, `uptime_seconds`, `build_commit`, `payment_token_address`, `payment_vault_address` | | `PutPublicDataResponse` | `cost`, `address` | | `PutPrivateDataResponse` | `cost`, `data_map` | | `UploadPublicResponse` | `address`, `storage_cost_atto`, `gas_cost_wei`, `chunks_stored`, `payment_mode_used` | diff --git a/docs/sdk/reference/rest-api.md b/docs/sdk/reference/rest-api.md index 8d67796..f550672 100644 --- a/docs/sdk/reference/rest-api.md +++ b/docs/sdk/reference/rest-api.md @@ -3,8 +3,8 @@ @@ -25,10 +25,18 @@ Returns daemon health and the selected network. ```json { "status": "ok", - "network": "default" + "network": "default", + "version": "0.6.1", + "evm_network": "arbitrum-one", + "uptime_seconds": 12345, + "build_commit": "529280c3", + "payment_token_address": "0xde817De9d8AC8C3aA10C3Ed0EE5FCB6C53cE7B0a", + "payment_vault_address": "0x607483B50C5F06c25cDC316b6d1E071084EeC9f5" } ``` +All six fields (`version`, `evm_network`, `uptime_seconds`, `build_commit`, `payment_token_address`, `payment_vault_address`) are always present. On a local devnet, `payment_token_address` and `payment_vault_address` may be empty strings, and `build_commit` is empty when the binary was built outside a git checkout. + **Example:** ```bash @@ -495,6 +503,7 @@ Prepares an in-memory data upload for external signing. | Name | Type | Required | Description | |------|------|----------|-------------| | `data` | string | Yes | Base64-encoded payload | +| `visibility` | string | No | `"private"` (default) or `"public"`. `"public"` is reserved — returns `501` until upstream ant-core exposes `data_prepare_upload_with_visibility`. Use `/v1/upload/prepare` with a file path for public external-signer uploads. | **Response:** @@ -569,6 +578,7 @@ Prepares a file upload for external signing. | Name | Type | Required | Description | |------|------|----------|-------------| | `path` | string | Yes | Local file path | +| `visibility` | string | No | `"private"` (default) or `"public"`. `"public"` bundles the serialized DataMap chunk into the same payment batch and stores it on-network; its address is returned on finalize via `data_map_address`. Omitting this field preserves pre-0.6.1 (private) behavior. | **Response:** Same `payment_type`-based shape as `POST /v1/data/prepare` @@ -603,11 +613,12 @@ Provide `tx_hashes` when the prepare response returned `payment_type: "wave_batc { "data_map": "", "address": "<64_hex_address>", + "data_map_address": "<64_hex_address>", "chunks_stored": } ``` -The `address` field is only present when `store_data_map` is `true`. +`address` is only present when `store_data_map` is `true` (legacy daemon-wallet path). `data_map_address` is only present when the upload was prepared with `visibility:"public"`; it is the network address of the bundled DataMap chunk whose payment was included in the same external-signer batch as the data chunks. **Examples:** @@ -632,6 +643,7 @@ curl -X POST http://localhost:8082/v1/upload/finalize \ | `404` | Not found | Check the address or `upload_id` | | `413` | Payload too large | Split the upload or switch to file/directory endpoints | | `500` | Internal server error | Check daemon logs and retry | +| `501` | Not implemented | `visibility:"public"` is not yet supported on `/v1/data/prepare`; use `/v1/upload/prepare` with a file path instead | | `502` | Network unreachable | Confirm the daemon can reach the Autonomi network | | `503` | Service unavailable | Configure a wallet before calling wallet or write endpoints | diff --git a/planning/sweeps/2026-05-11-prose.md b/planning/sweeps/2026-05-11-prose.md new file mode 100644 index 0000000..49e1782 --- /dev/null +++ b/planning/sweeps/2026-05-11-prose.md @@ -0,0 +1,27 @@ +# Prose sweep — 2026-05-11 + +## Branch + +`claude/prose-2026-05-11-api-health-visibility` + +## Repos audited + +| Repo | Recorded SHA | Head SHA | +|------|-------------|----------| +| ant-sdk | d7652ec3 | 529280c3 | +| ant-client | 71ad53b0 | 6cada1d6 | +| ant-node | 23aee15c | 0c2f2c97 | +| ant-protocol | 65651f3a | 8955144b | + +## Pages with prose changes + +- `docs/sdk/reference/rest-api.md` — health response (6 new required fields), upload prepare `visibility` parameter, finalize `data_map_address` field, 501 error code. +- `docs/sdk/reference/grpc-services.md` — HealthCheckResponse fields (6 new: version, evm_network, uptime_seconds, build_commit, payment_token_address, payment_vault_address). +- `docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md` — `visibility` param on prepare, `data_map_address` on finalize, ant-core `data_prepare_upload_with_visibility` mention. +- `docs/mcp/mcp-server-reference.md` — port-file discovery path corrected (both antd and antd-mcp now use `ant/sdk/daemon.port`), `check_health()` response updated. +- `docs/rust/library-reference.md` — `Visibility` type added to key types table, `data_prepare_upload_with_visibility` noted in external signer flows. +- `skills/start/SKILL.md` — health shape updated, MCP discovery claim corrected; linked release 0.1.4-draft. + +## Linked release + +Skill: 0.1.3-draft → 0.1.4-draft diff --git a/skills/start/CHANGELOG.md b/skills/start/CHANGELOG.md index a915158..c71ab32 100644 --- a/skills/start/CHANGELOG.md +++ b/skills/start/CHANGELOG.md @@ -4,6 +4,20 @@ All notable changes to this skill are recorded here. ## [Unreleased] +## [0.1.4-draft] - 2026-05-11 + +### Changed +- Updated health check expected shape to include the six new required fields added in antd v0.6.1: `version`, `evm_network`, `uptime_seconds`, `build_commit`, `payment_token_address`, `payment_vault_address`. +- Corrected the MCP daemon-discovery note: both `antd` and `antd-mcp` now use `ant/sdk/daemon.port`, so port-file discovery works without `ANTD_BASE_URL`. + +### Verified Against +- ant-sdk: 529280c32c024c92b68436abb6ace956c8da66ba +- ant-client: 6cada1d6b318a93e52ea6c34aa4b68fc2782c946 +- ant-node: 0c2f2c97aa0b7a2f1000aaa4a3a2a2d629da4e5d +- ant-protocol: 8955144bd2473d1bb5f3b6753061eb104b552070 +- self_encryption: 5f9d1646231da7ca2ce60e84d010acfb6d9c29d0 +- evmlib: 225acbb1af613193bcc8264b6ede4d7e4a7ac607 + ## [0.1.3-draft] - 2026-05-02 ### Changed diff --git a/skills/start/SKILL.md b/skills/start/SKILL.md index 41a0916..5dd7f00 100644 --- a/skills/start/SKILL.md +++ b/skills/start/SKILL.md @@ -8,7 +8,7 @@ description: | in Rust with `ant-core`, or expose Autonomi through an MCP-compatible client. Do not use for Autonomi 1.0, the MaidSafe-era network, `ant-quic`, or general EVM work that is not part of building on Autonomi. -version: 0.1.3-draft +version: 0.1.4-draft license: MIT repository: https://github.com/WithAutonomi/autonomi-developer-docs homepage: https://docs.autonomi.com/developers @@ -29,13 +29,13 @@ keywords: - read-only # Verification block. Re-verify before changing stable claims or examples. -verified_date: 2026-05-02 +verified_date: 2026-05-11 verification_mode: current-merged-truth verified_commits: - ant-sdk: d7652ec3da82dfbe2107778e5223dc413d95815b - ant-client: 71ad53b047f7fc6b55e73ce6008d0a834feebbd6 - ant-node: 23aee15cae33a17257ba833b2b98ed8a7a12e684 - ant-protocol: 65651f3a3243af8299a3e8d63385cba846ef88a4 + ant-sdk: 529280c32c024c92b68436abb6ace956c8da66ba + ant-client: 6cada1d6b318a93e52ea6c34aa4b68fc2782c946 + ant-node: 0c2f2c97aa0b7a2f1000aaa4a3a2a2d629da4e5d + ant-protocol: 8955144bd2473d1bb5f3b6753061eb104b552070 self_encryption: 5f9d1646231da7ca2ce60e84d010acfb6d9c29d0 evmlib: 225acbb1af613193bcc8264b6ede4d7e4a7ac607 @@ -118,11 +118,17 @@ Expected shape: ```json { "status": "ok", - "network": "default" + "network": "default", + "version": "0.6.1", + "evm_network": "arbitrum-one", + "uptime_seconds": 12345, + "build_commit": "529280c3", + "payment_token_address": "0x...", + "payment_vault_address": "0x..." } ``` -Treat `network` as environment-dependent. On a local devnet, it is typically `local` instead of `default`. +Treat `network` as environment-dependent. On a local devnet, it is typically `local` instead of `default`, and the payment address fields may be empty strings. If the user is on a non-default host or port, ask for the base URL instead of assuming `localhost:8082`. @@ -264,7 +270,7 @@ Run the editable install from an `ant-sdk` checkout root. - `daemon.port` - `http://127.0.0.1:8082` -`ANTD_BASE_URL` is the reliable MCP setup path because `antd` writes `ant/sdk/daemon.port` while `antd-mcp` reads `ant/daemon.port`. +Both `antd` and `antd-mcp` now use the same `ant/sdk/daemon.port` path, so port-file discovery works without `ANTD_BASE_URL` when both are installed from the same `ant-sdk` checkout. Set `ANTD_BASE_URL` when you need a fixed URL or when running against a daemon on a different host. Do not memorize MCP tool names or schemas in this skill. Fetch the MCP server reference when the task is MCP-specific. diff --git a/skills/start/version.json b/skills/start/version.json index ec9dedf..6ba012d 100644 --- a/skills/start/version.json +++ b/skills/start/version.json @@ -1,17 +1,17 @@ { "skill": "start", - "version": "0.1.3-draft", - "published_date": "2026-05-02", + "version": "0.1.4-draft", + "published_date": "2026-05-11", "status": "draft", "canonical_skill_url": "https://raw.githubusercontent.com/WithAutonomi/autonomi-developer-docs/main/skills/start/SKILL.md", "canonical_docs_url": "https://docs.autonomi.com/developers", "repository": "https://github.com/WithAutonomi/autonomi-developer-docs", "verification_mode": "current-merged-truth", "verified_commits": { - "ant-sdk": "d7652ec3da82dfbe2107778e5223dc413d95815b", - "ant-client": "71ad53b047f7fc6b55e73ce6008d0a834feebbd6", - "ant-node": "23aee15cae33a17257ba833b2b98ed8a7a12e684", - "ant-protocol": "65651f3a3243af8299a3e8d63385cba846ef88a4", + "ant-sdk": "529280c32c024c92b68436abb6ace956c8da66ba", + "ant-client": "6cada1d6b318a93e52ea6c34aa4b68fc2782c946", + "ant-node": "0c2f2c97aa0b7a2f1000aaa4a3a2a2d629da4e5d", + "ant-protocol": "8955144bd2473d1bb5f3b6753061eb104b552070", "self_encryption": "5f9d1646231da7ca2ce60e84d010acfb6d9c29d0", "evmlib": "225acbb1af613193bcc8264b6ede4d7e4a7ac607" }, From a1997878b40e76d9f57d49e6fd2465c50d5f9540 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 08:16:02 +0000 Subject: [PATCH 2/4] Strip time-relative wording from prose-PR docs (CLAUDE.md compliance) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docs/mcp/mcp-server-reference.md | 2 +- .../use-external-signers-for-upload-payments.md | 4 ++-- docs/sdk/reference/rest-api.md | 8 ++++---- skills/start/SKILL.md | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/mcp/mcp-server-reference.md b/docs/mcp/mcp-server-reference.md index 841d9df..265ca8e 100644 --- a/docs/mcp/mcp-server-reference.md +++ b/docs/mcp/mcp-server-reference.md @@ -59,7 +59,7 @@ At startup, the server resolves the daemon base URL in this order: The discovery helper still checks a `daemon.port` file before falling back to the default URL. -Both `antd` and `antd-mcp` now use the same `ant/sdk/daemon.port` path, so port-file discovery should work without `ANTD_BASE_URL` when both are installed from the same `ant-sdk` checkout. Set `ANTD_BASE_URL` explicitly when you want a fixed URL regardless of port-file state, or when you are running `antd-mcp` against a daemon on a different host. +`antd` writes the port file to `ant/sdk/daemon.port` and `antd-mcp` reads from the same path, so port-file discovery works without `ANTD_BASE_URL` when both are installed from the same `ant-sdk` checkout. Set `ANTD_BASE_URL` explicitly when you want a fixed URL regardless of port-file state, or when you are running `antd-mcp` against a daemon on a different host. ## Claude Desktop configuration diff --git a/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md b/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md index 917eff2..79841fb 100644 --- a/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md +++ b/docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md @@ -67,7 +67,7 @@ curl -X POST http://localhost:8082/v1/data/prepare \ -d "{\"data\":\"$DATA_B64\"}" ``` -The in-memory data prepare endpoint currently only supports private uploads (`visibility` is accepted but `"public"` returns `501`). To prepare a public upload with an external signer, use `POST /v1/upload/prepare` with a file path and `"visibility":"public"` instead. +The in-memory data prepare endpoint supports only private uploads: `visibility` is accepted but `"public"` returns `501`. To prepare a public upload with an external signer, use `POST /v1/upload/prepare` with a file path and `"visibility":"public"` instead. The prepare endpoints return a `payment_type` discriminator. Use that value to decide which on-chain call to make and which finalize payload to send back. @@ -165,7 +165,7 @@ Expected response shape: } ``` -`address` is only present when `store_data_map` is `true` (legacy daemon-wallet path). `data_map_address` is only present when the upload was prepared with `visibility:"public"` — it is the network address of the DataMap chunk whose payment was included in the same external-signer batch. +`address` is only present when `store_data_map` is `true`; that path uses the daemon's own wallet to store the DataMap. `data_map_address` is only present when the upload was prepared with `visibility:"public"` — it is the network address of the DataMap chunk whose payment was included in the same external-signer batch. ### 5. Use SDK helpers when available diff --git a/docs/sdk/reference/rest-api.md b/docs/sdk/reference/rest-api.md index f550672..b310a5f 100644 --- a/docs/sdk/reference/rest-api.md +++ b/docs/sdk/reference/rest-api.md @@ -503,7 +503,7 @@ Prepares an in-memory data upload for external signing. | Name | Type | Required | Description | |------|------|----------|-------------| | `data` | string | Yes | Base64-encoded payload | -| `visibility` | string | No | `"private"` (default) or `"public"`. `"public"` is reserved — returns `501` until upstream ant-core exposes `data_prepare_upload_with_visibility`. Use `/v1/upload/prepare` with a file path for public external-signer uploads. | +| `visibility` | string | No | `"private"` (default) or `"public"`. `"public"` returns `501` on this endpoint. Use `/v1/upload/prepare` with a file path for public external-signer uploads. | **Response:** @@ -578,7 +578,7 @@ Prepares a file upload for external signing. | Name | Type | Required | Description | |------|------|----------|-------------| | `path` | string | Yes | Local file path | -| `visibility` | string | No | `"private"` (default) or `"public"`. `"public"` bundles the serialized DataMap chunk into the same payment batch and stores it on-network; its address is returned on finalize via `data_map_address`. Omitting this field preserves pre-0.6.1 (private) behavior. | +| `visibility` | string | No | `"private"` (default) or `"public"`. `"public"` bundles the serialized DataMap chunk into the same payment batch and stores it on-network; its address is returned on finalize via `data_map_address`. | **Response:** Same `payment_type`-based shape as `POST /v1/data/prepare` @@ -618,7 +618,7 @@ Provide `tx_hashes` when the prepare response returned `payment_type: "wave_batc } ``` -`address` is only present when `store_data_map` is `true` (legacy daemon-wallet path). `data_map_address` is only present when the upload was prepared with `visibility:"public"`; it is the network address of the bundled DataMap chunk whose payment was included in the same external-signer batch as the data chunks. +`address` is only present when `store_data_map` is `true`; that path uses the daemon's own wallet to store the DataMap. `data_map_address` is only present when the upload was prepared with `visibility:"public"`; it is the network address of the bundled DataMap chunk whose payment was included in the same external-signer batch as the data chunks. **Examples:** @@ -643,7 +643,7 @@ curl -X POST http://localhost:8082/v1/upload/finalize \ | `404` | Not found | Check the address or `upload_id` | | `413` | Payload too large | Split the upload or switch to file/directory endpoints | | `500` | Internal server error | Check daemon logs and retry | -| `501` | Not implemented | `visibility:"public"` is not yet supported on `/v1/data/prepare`; use `/v1/upload/prepare` with a file path instead | +| `501` | Not implemented | `visibility:"public"` is not supported on `/v1/data/prepare`; use `/v1/upload/prepare` with a file path instead | | `502` | Network unreachable | Confirm the daemon can reach the Autonomi network | | `503` | Service unavailable | Configure a wallet before calling wallet or write endpoints | diff --git a/skills/start/SKILL.md b/skills/start/SKILL.md index 5dd7f00..4872ed8 100644 --- a/skills/start/SKILL.md +++ b/skills/start/SKILL.md @@ -270,7 +270,7 @@ Run the editable install from an `ant-sdk` checkout root. - `daemon.port` - `http://127.0.0.1:8082` -Both `antd` and `antd-mcp` now use the same `ant/sdk/daemon.port` path, so port-file discovery works without `ANTD_BASE_URL` when both are installed from the same `ant-sdk` checkout. Set `ANTD_BASE_URL` when you need a fixed URL or when running against a daemon on a different host. +`antd` writes the port file to `ant/sdk/daemon.port` and `antd-mcp` reads from the same path, so port-file discovery works without `ANTD_BASE_URL` when both are installed from the same `ant-sdk` checkout. Set `ANTD_BASE_URL` when you need a fixed URL or when running against a daemon on a different host. Do not memorize MCP tool names or schemas in this skill. Fetch the MCP server reference when the task is MCP-specific. From 329dbeca9f8a9c47b46ca788aa149e88135c419d Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 08:33:34 +0000 Subject: [PATCH 3/4] Remove misnamed prose-sweep summary file 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/.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 --- planning/sweeps/2026-05-11-prose.md | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 planning/sweeps/2026-05-11-prose.md diff --git a/planning/sweeps/2026-05-11-prose.md b/planning/sweeps/2026-05-11-prose.md deleted file mode 100644 index 49e1782..0000000 --- a/planning/sweeps/2026-05-11-prose.md +++ /dev/null @@ -1,27 +0,0 @@ -# Prose sweep — 2026-05-11 - -## Branch - -`claude/prose-2026-05-11-api-health-visibility` - -## Repos audited - -| Repo | Recorded SHA | Head SHA | -|------|-------------|----------| -| ant-sdk | d7652ec3 | 529280c3 | -| ant-client | 71ad53b0 | 6cada1d6 | -| ant-node | 23aee15c | 0c2f2c97 | -| ant-protocol | 65651f3a | 8955144b | - -## Pages with prose changes - -- `docs/sdk/reference/rest-api.md` — health response (6 new required fields), upload prepare `visibility` parameter, finalize `data_map_address` field, 501 error code. -- `docs/sdk/reference/grpc-services.md` — HealthCheckResponse fields (6 new: version, evm_network, uptime_seconds, build_commit, payment_token_address, payment_vault_address). -- `docs/sdk/how-to-guides/use-external-signers-for-upload-payments.md` — `visibility` param on prepare, `data_map_address` on finalize, ant-core `data_prepare_upload_with_visibility` mention. -- `docs/mcp/mcp-server-reference.md` — port-file discovery path corrected (both antd and antd-mcp now use `ant/sdk/daemon.port`), `check_health()` response updated. -- `docs/rust/library-reference.md` — `Visibility` type added to key types table, `data_prepare_upload_with_visibility` noted in external signer flows. -- `skills/start/SKILL.md` — health shape updated, MCP discovery claim corrected; linked release 0.1.4-draft. - -## Linked release - -Skill: 0.1.3-draft → 0.1.4-draft From bbddcb2256b729b48926c41940791df7391dac33 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 14:23:38 +0000 Subject: [PATCH 4/4] Quote verified_date in SKILL.md frontmatter to fix prose-guard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- skills/start/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/start/SKILL.md b/skills/start/SKILL.md index 4872ed8..a54b681 100644 --- a/skills/start/SKILL.md +++ b/skills/start/SKILL.md @@ -29,7 +29,7 @@ keywords: - read-only # Verification block. Re-verify before changing stable claims or examples. -verified_date: 2026-05-11 +verified_date: "2026-05-11" verification_mode: current-merged-truth verified_commits: ant-sdk: 529280c32c024c92b68436abb6ace956c8da66ba