Skip to content

docs: document memory endpoints and add CI validation - #1

Open
ahmeda-cominty wants to merge 1 commit into
mainfrom
docs/memory-endpoints
Open

docs: document memory endpoints and add CI validation#1
ahmeda-cominty wants to merge 1 commit into
mainfrom
docs/memory-endpoints

Conversation

@ahmeda-cominty

@ahmeda-comintyahmeda-cominty commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features

    • Added SDK support and documentation for per-user memory files, including listing, creation, retrieval, updates, and deletion.
    • Added guidance for version-aware updates, conflict handling, validation, and memory file behavior.
    • Expanded API reference navigation and endpoint documentation.
  • Documentation

    • Added a memory-file quickstart and SDK reference details.
    • Clarified API response formats and usage requirements.
  • Chores

    • Added automated documentation build, link, and code-snippet validation checks.

@coderabbitai

coderabbitaiBot commented Aug 10, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The PR documents per-user memory-file APIs across OpenAPI, API references, SDK guides, and navigation. It updates OpenAPI sanitization rules, adds Python documentation-snippet validation, and runs documentation checks in GitHub Actions.

Changes

Memory API documentation

Layer / File(s)Summary
Memory API contract
openapi.json
Adds memory collection and file endpoints, request schemas, response schemas, validation constraints, timestamps, and version fields.
SDK and API documentation
api-reference.mdx, sdk/*.mdx, docs.json, CLAUDE.md
Documents memory CRUD operations, user scoping, path rules, version handling, response shapes, errors, and quickstart usage.
OpenAPI SDK surface sanitization
scripts/sanitize_openapi.py, CLAUDE.md
Updates the documented SDK surface and KEEP_PATHS to include memory operations.
Documentation validation workflow
scripts/check_snippets.py, .github/workflows/docs-checks.yml
Adds Python fence parsing and runs Mintlify, link, and snippet checks on pushes and pull requests targeting main.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Suggested reviewers:mous222

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title clearly and concisely summarizes the two main changes: documenting memory endpoints and adding CI validation.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/memory-endpoints

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitaicoderabbitaiBot 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.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/docs-checks.yml:
- Around line 13-21: Update the workflow’s actions/checkout step to disable
credential persistence, and change the Mintlify CLI installation in the “Install
Mintlify CLI” step to use a specific verified mint version rather than the
unpinned package. Preserve the existing Node setup and workflow sequence.
In `@api-reference.mdx`:
- Around line 29-34: Update the request-scoping documentation in
api-reference.mdx to state that thread endpoints and all memory endpoints use
query-parameter user_id, except POST /memory, which receives user_id in the JSON
body. Preserve the existing chat-call and SDK behavior descriptions.
In `@scripts/check_snippets.py`:
- Line 21: Update FENCE_RE in scripts/check_snippets.py to match Python fences
with optional same-line metadata and either LF or CRLF line endings, while
capturing only the fenced body. Ensure the existing snippet-validation flow
dedents each captured Python block before parsing and allows top-level await.
In `@scripts/sanitize_openapi.py`:
- Around line 60-74: Remove the duplicate endpoint-by-endpoint inventory above
KEEP_PATHS in scripts/sanitize_openapi.py, retaining only a concise comment
stating that KEEP_PATHS defines the public SDK surface and should be updated
when the SDK endpoint set changes.
In `@sdk/reference.mdx`:
- Around line 59-95: Align the documentation with the currently published SDK:
in sdk/reference.mdx lines 59-95, delay or remove the client.memory section
until its methods and models are released; in api-reference.mdx lines 6-9,
remove the claim that every listed endpoint is SDK-callable until a compatible
release exists; in sdk/overview.mdx lines 90-95, remove or delay the
client.memory resource claim; and in sdk/quickstart.mdx lines 119-147, retain
the memory workflow only after shipping examples/09_memory.py with the SDK
release, then keep its link.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: cf921012-57fe-4c31-9887-2baa8d9f4ceb

📥 Commits

Reviewing files that changed from the base of the PR and between 041fcf0 and 56ac6a0.

📒 Files selected for processing (10)
  • .github/workflows/docs-checks.yml
  • CLAUDE.md
  • api-reference.mdx
  • docs.json
  • openapi.json
  • scripts/check_snippets.py
  • scripts/sanitize_openapi.py
  • sdk/overview.mdx
  • sdk/quickstart.mdx
  • sdk/reference.mdx

Comment on lines +13 to +21
- uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Install Mintlify CLI
run: npm install -g mint

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bashset -euo pipefail
npm view mint version dist.integrity

Repository: cominty/docs

Length of output: 597


🏁 Script executed:

#!/bin/bashset -euo pipefail
echo"== workflow file =="
cat -n .github/workflows/docs-checks.yml | sed -n '1,80p'echoecho"== package presence and lock metadata =="
fd -a '^(package.json|package-lock.json|pnpm-lock.yaml|yarn.lock)$' .GitHub workflow root 2>/dev/null ||true
sed -n '1,220p' package.json 2>/dev/null ||true
git ls-files | rg '(^|/)package(-lock)?\.json$'||trueechoecho"== mint lifecycle/package metadata =="
tmp="$(mktemp -d)"cd"$tmp"
npm pack mint@4.2.788 --silent 2>/dev/null || { echo"npm pack failed";exit 0; }
tar -tzf mint-4.2.788.tgz | sed -n '1,120p'
python3 - <<'PY'# Read package metadata and lifecycle fields from packed tarball without executing scripts.import tarfile, json, osfor name in [n for n in sorted(tarfile.open('mint-4.2.788.tgz', 'r:gz').getnames())]: if name.endswith('/package.json'): f = tarfile.open('mint-4.2.788.tgz', 'r:gz').extractfile(name) data = f.read() try: pkg = json.loads(data) except Exception as e: print("package.json parse failed for", name, e) continue print("package:", pkg.get("name"), pkg.get("version")) print("lifecycle scripts:", {k:v for k,v in pkg.get("scripts",{}).items() if k in ("preinstall","install","postinstall","preversion","version","postversion","prepublishOnly","prepack","postpack","prepublish","prepare","prepublish","pretest","test","posttest")}) print("dependencies keys:", sorted(pkg.get("dependencies",{}).keys())[:80]) for key in ("preinstall","install","postinstall"): print(key + ":", pkg.get("scripts",{}).get(key))PY

Repository: cominty/docs

Length of output: 1486


🌐 Web query:

npm global install lifecycle scripts dependency runs postinstall dependencies

💡 Result:

As of August 2026, npm has introduced a significant shift in how it handles dependency lifecycle scripts (such as preinstall, install, and postinstall) to mitigate supply chain security risks [1]. Lifecycle scripts in dependencies are now blocked by default during installation [1]. This means that when you run an npm install command, these scripts will no longer execute automatically unless the package is explicitly allowed in your project configuration [2][3][1]. Regarding global installations specifically: - When using npm install -g, you can control the execution of lifecycle scripts using the --allow-scripts flag [2][3]. This flag accepts a comma-separated list of packages that are permitted to run their installation scripts [2]. - Alternatively, you can use --foreground-scripts if you wish to run these scripts in the foreground process to see their output [2][4]. - You can also bypass the security restrictions entirely using --dangerously-allow-all-scripts, though this is discouraged for security reasons [2][3]. - If you prefer to disable all scripts globally, you can set the ignore-scripts configuration to true in your npmrc file [5][6]. This change reflects a move toward an "opt-in" model for script execution [3][1]. Projects are encouraged to manage these permissions within their package.json or npmrc files rather than relying on command-line overrides [2][3]. This design adjustment is intended to prevent the automatic execution of potentially malicious code that has historically exploited the trust inherent in the installation process [1][6][7].

Citations:


🌐 Web query:

actions/checkout persists credentials true default

💡 Result:

The default value for the persist-credentials input in the actions/checkout GitHub Action is true [1][2][3]. When persist-credentials is set to true (the default), the action configures the local Git repository to use the provided authentication token or SSH key [1][2][4]. This allows subsequent steps in the same job to execute authenticated Git commands without needing to manually provide credentials [1][2][5]. For security reasons, recent versions of actions/checkout have improved how this is handled by storing these credentials in a separate file under $RUNNER_TEMP rather than directly in .git/config [1][2]. The credentials are removed during post-job cleanup [1][2][4]. If you wish to disable this behavior, you must explicitly set persist-credentials: false in your workflow configuration [1][2][6].

Citations:


Pin the Mintlify CLI install and avoid exposed checkout credentials.

npm install -g mint leaves the workflow vulnerable if npm script execution is enabled or pinned credentials are used elsewhere. Pin a verified mint version and disable credential persistence.

Proposed fix
+permissions:+ contents: read+
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
+ with:+ persist-credentials: false
...
- name: Install Mintlify CLI
- run: npm install -g mint+ run: npm install -g mint@4.2.788
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- uses: actions/checkout@v4
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install Mintlify CLI
run: npm install -g mint
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install Mintlify CLI
run: npm install -g mint@4.2.788
🧰 Tools
🪛 zizmor (1.29.0)

[warning] 13-13: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false

(artipacked)


[warning] 21-21: ad-hoc installation of packages (adhoc-packages): installs a package outside of a lockfile

(adhoc-packages)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @.github/workflows/docs-checks.yml around lines 13 - 21, Update the
workflow’s actions/checkout step to disable credential persistence, and change
the Mintlify CLI installation in the “Install Mintlify CLI” step to use a
specific verified mint version rather than the unpinned package. Preserve the
existing Node setup and workflow sequence.

Source: Linters/SAST tools

Comment threadapi-reference.mdx
Comment on lines +29 to +34
Every request is scoped to one end user via `user_id`. Where it's sent
varies by endpoint: in the request body (`options.user_id`) for chat calls,
as a query parameter for thread and memory listings/lookups — **except**
`POST /memory`, which takes it in the JSON body alongside `path`, `purpose`,
and `content`. The SDK fills this in for you from the client's configured
user, so you never pass it explicitly.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Document query user_id for all memory operations.

Line 31 limits the query-parameter description to memory listings/lookups. PUT /memory/file and DELETE /memory/file also take user_id in the query string. State that thread endpoints and all memory endpoints except POST /memory use query user_id.

Proposed fix
- as a query parameter for thread and memory listings/lookups — **except**+ as a query parameter for thread endpoints and all memory endpoints — **except**
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Every request is scoped to one end user via `user_id`. Where it's sent
varies by endpoint: in the request body (`options.user_id`) for chat calls,
as a query parameter for thread and memory listings/lookups**except**
`POST /memory`, which takes it in the JSON body alongside `path`, `purpose`,
and `content`. The SDK fills this in for you from the client's configured
user, so you never pass it explicitly.
Every request is scoped to one end user via `user_id`. Where it's sent
varies by endpoint: in the request body (`options.user_id`) for chat calls,
as a query parameter for thread endpoints and all memory endpoints**except**
`POST /memory`, which takes it in the JSON body alongside `path`, `purpose`,
and `content`. The SDK fills this in for you from the client's configured
user, so you never pass it explicitly.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@api-reference.mdx` around lines 29 - 34, Update the request-scoping
documentation in api-reference.mdx to state that thread endpoints and all memory
endpoints use query-parameter user_id, except POST /memory, which receives
user_id in the JSON body. Preserve the existing chat-call and SDK behavior
descriptions.

ROOT = pathlib.Path(__file__).resolve().parent.parent
SKIP_DIRS = {".git", "node_modules", ".mint", ".mintlify"}

FENCE_RE = re.compile(r"```python\n(.*?)```", re.DOTALL)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Match Python fences that have metadata.

The pattern skips Python fences such as ````python {1,3}`. It also skips CRLF-formatted fences. Invalid snippets in those fences can pass CI.

Proposed fix
-FENCE_RE = re.compile(r"```python\n(.*?)```", re.DOTALL)+FENCE_RE = re.compile(+ r"```python(?:[ \t]+[^\r\n]*)?\r?\n(.*?)```",+ re.DOTALL,+)

As per coding guidelines, “Ensure every Python code fence parses after dedenting, allowing top-level await.”

📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
FENCE_RE=re.compile(r"```python\n(.*?)```", re.DOTALL)
FENCE_RE=re.compile(
r"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@scripts/check_snippets.py` at line 21, Update FENCE_RE in
scripts/check_snippets.py to match Python fences with optional same-line
metadata and either LF or CRLF line endings, while capturing only the fenced
body. Ensure the existing snippet-validation flow dedents each captured Python
block before parsing and allows top-level await.

Source: Coding guidelines

Comment on lines +60 to +74
# The public docs expose only the surface the Python SDK uses. Each path below
# maps to one or more SDK resource methods:
# POST /chat -> chat.start
# GET /chat -> threads.list
# POST /chat/{thread_id} -> chat.send
# GET /chat/{thread_id} -> threads.get
# PUT /chat/{thread_id} -> threads.update
# DELETE /chat/{thread_id} -> threads.archive
# GET /chat/messages/{message_id}/stream -> chat.stream
# GET /memory -> memory.list
# POST /memory -> memory.create
# GET /memory/file -> memory.get
# PUT /memory/file -> memory.update
# DELETE /memory/file -> memory.delete
# Update this set (and the table above) whenever the SDK's endpoint set changes.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Remove the duplicate endpoint inventory.

Lines 62-73 restate the KEEP_PATHS contents in a separate list. This list can drift from the executable whitelist. Keep only a general comment that KEEP_PATHS defines the public SDK surface.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@scripts/sanitize_openapi.py` around lines 60 - 74, Remove the duplicate
endpoint-by-endpoint inventory above KEEP_PATHS in scripts/sanitize_openapi.py,
retaining only a concise comment stating that KEEP_PATHS defines the public SDK
surface and should be updated when the SDK endpoint set changes.

Source: Coding guidelines

Comment threadsdk/reference.mdx
Comment on lines +59 to +95
### `client.memory`

Scoped to the client's `user_id` automatically.

| Method | Signature | Returns |
| -------- | --------- | ------- |
| `list` | `list()` | `list[MemoryFileSummaryOut]` (no `content`) |
| `create` | `create(*, path, purpose, content)` | `MemoryFileOut` |
| `get` | `get(path)` | `MemoryFileOut` |
| `update` | `update(path, *, version, content=..., purpose=...)` | `MemoryFileOut` |
| `delete` | `delete(path)` | `None` |

<Warning>
`path` may have **at most one folder segment** — `"notes/todo.md"` is fine,
`"a/b/todo.md"` isn't. This isn't in the OpenAPI spec; the SDK checks it
locally (raising [`InvalidParams`](#exceptions) before any request) because
the API only enforces it after a round trip, with a 422. `content` may be an
empty string — there's no minimum length.
</Warning>

<Warning>
`update` is partial: only the fields you pass are sent. **There is
currently no way to clear `content` or `purpose` once set** — the API
silently ignores an explicit `null` (200, value unchanged), so the SDK
raises [`InvalidParams`](#exceptions) locally for `content=None` or
`purpose=None` instead of sending a request that looks like it succeeded
but did nothing. `version` is required and must be the value from your last
read of the file; a stale one raises [`ConflictError`](#exceptions) (409), a
malformed one raises [`APIError`](#exceptions) (422). Treat `version` as an
opaque token — round-trip it, never parse or compare it.
</Warning>

<Warning>
`delete` is **not idempotent**: deleting an already-deleted (or
never-existing) path raises [`NotFoundError`](#exceptions) (404) rather
than succeeding again.
</Warning>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bashset -euo pipefail
workdir="$(mktemp -d)"trap'rm -rf "$workdir"' EXIT
git clone --depth 1 https://github.com/cominty/python-sdk.git "$workdir/python-sdk"
rg -n -C 2 'client\.memory|class Memory|MemoryFile'"$workdir/python-sdk/src""$workdir/python-sdk/README.md"||truetest -f "$workdir/python-sdk/examples/09_memory.py"

Repository: cominty/docs

Length of output: 199


🏁 Script executed:

#!/usr/bin/env bashset -euo pipefail
# Inspect public resources that the docs are expected to align with.
python3 - <<'PY'import jsonimport pathlibimport reimport urllib.requesturls = { "sdk_readme": "https://raw.githubusercontent.com/cominty/python-sdk/main/README.md", "examples_list_index": "https://api.github.com/repos/cominty/python-sdk/git/trees/main?recursive=1", "example_09_memory": "https://raw.githubusercontent.com/cominty/python-sdk/main/examples/09_memory.py",}for name, url in urls.items(): print(f"\n#= {name}\nURL={url}\n") try: with urllib.request.urlopen(url, timeout=20) as r: body = r.read().decode("utf-8", "replace") if name == "examples_list_index": data = json.loads(body) files = [] def walk(o): if isinstance(o, dict): if o.get("type") == "blob" and str(o.get("path", "")).startswith("examples/"): files.append(o["path"]) for v in o.values(): if isinstance(v, (dict, list)): walk(v) elif isinstance(o, list): for v in o: walk(v) walk(data) for f in sorted(files): print(f) print() print("09_memory exists:", any(p == "examples/09_memory.py" for p in files)) continue lines = body.splitlines() for i, line in enumerate(lines, 1): if re.search(r"client\.memory|MemoryFile|examples/08|examples/09|memory", line, re.I): lo=max(1, i-3); hi=min(len(lines), i+3) for j in range(lo, hi+1): print(f"{j}: {lines[j-1]}") print() except Exception as e: print(type(e).__name__, ":", e)PY

Repository: cominty/docs

Length of output: 887


🏁 Script executed:

#!/usr/bin/env bashset -euo pipefail
# Inspect the downstream references in this repository to ensure the comment addresses the actual changed docs.forfin api-reference.mdx sdk/reference.mdx sdk/overview.mdx sdk/quickstart.mdx;doecho"== $f =="if [ -f"$f" ];then
rg -n -C 3 'client\.memory|MemoryFile|examples/09_memory|python-sdk|SDK|Resources'"$f"||trueelseecho"missing: $f"fidoneprintf'\n== local tracked files matching 09_memory or memory examples ==\n'
git ls-files | rg '(^|/)examples/.*memory|memory'||true

Repository: cominty/docs

Length of output: 10217


🌐 Web query:

GitHub cominty python-sdk main README examples 09_memory client.memory MemoryFile

💡 Result:

There is no evidence in the provided search results that a MemoryFile class or an example named 09_memory exists within the cominty/python-sdk repository [1][2][3][4]. The cominty-sdk is an official async Python client for the Cominty managed agent chat API, with its repository hosted at https://github.com/cominty/python-sdk [1][2]. Its documentation lists various example scripts in the examples/ directory, ranging from 01_stream_events.py to 08_mcp_linear.py, but does not reference an 09_memory example [1][2]. The term MemoryFile typically refers to unrelated programming concepts: - In the fsspec library, MemoryFile is an implementation for in-memory file operations [5]. - In Android development, MemoryFile is a deprecated class for shared memory management [6][7]. - Other AI memory-related SDKs exist, such as the Redis Agent Memory Server client, but these are distinct from the Cominty SDK [8][9][10].

Citations:


🌐 Web query:

pypi cominty-sdk latest versions memory API resources client.memory

💡 Result:

The latest version of the cominty-sdk available on PyPI as of August 10, 2026, is v0.4.0 [1][2]. Regarding your query about client.memory and the Memory API, there is no evidence of a memory-related API or a client.memory attribute within the cominty-sdk [1][3][4]. The Cominty Python SDK is primarily designed as an async client for the Cominty managed agent chat API, focusing on starting conversations, streaming progress, and managing threads [1]. It is possible that you may be conflating this with the Estuary SDK, which explicitly provides a MemoryClient accessible via client.memory for interacting with a knowledge graph and memory storage [5]. Please verify if you are using the correct SDK for your requirements.

Citations:


Release the memory SDK surface before publishing the client.memory docs.

The public cominty/python-sdk main branch does not expose the documented client.memory/MemoryFile surface, and examples/09_memory.py is unavailable. Users installing the package cannot use the documented memory workflows, so these docs remain misaligned.

  • sdk/reference.mdx#L59-L95: Publish the memory methods/models, or delay this section.
  • api-reference.mdx#L6-L9: Do not claim that every listed endpoint is callable through the SDK until a compatible release exists.
  • sdk/overview.mdx#L90-L95: Remove or delay the client.memory resource claim.
  • sdk/quickstart.mdx#L119-L147: Ship examples/09_memory.py with the SDK release, then keep the quickstart and link.
📍 Affects 4 files
  • sdk/reference.mdx#L59-L95 (this comment)
  • api-reference.mdx#L6-L9
  • sdk/overview.mdx#L90-L95
  • sdk/quickstart.mdx#L119-L147
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@sdk/reference.mdx` around lines 59 - 95, Align the documentation with the
currently published SDK: in sdk/reference.mdx lines 59-95, delay or remove the
client.memory section until its methods and models are released; in
api-reference.mdx lines 6-9, remove the claim that every listed endpoint is
SDK-callable until a compatible release exists; in sdk/overview.mdx lines 90-95,
remove or delay the client.memory resource claim; and in sdk/quickstart.mdx
lines 119-147, retain the memory workflow only after shipping
examples/09_memory.py with the SDK release, then keep its link.

Source: Coding guidelines

Sign up for freeto 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.

1 participant

@ahmeda-cominty