Skip to content

docs: verify lazy exports, migrate deep imports, bring affected pages up to AGENTS.md spec (fixes #801)#802

Merged
MervinPraison merged 1 commit into
mainfrom
claude/issue-801-20260623-0728
Jun 23, 2026
Merged

docs: verify lazy exports, migrate deep imports, bring affected pages up to AGENTS.md spec (fixes #801)#802
MervinPraison merged 1 commit into
mainfrom
claude/issue-801-20260623-0728

Conversation

@MervinPraison

Copy link
Copy Markdown
Owner

Summary

  • B.1 — Migrate two from praisonaiagents.memory import Memory deep imports in prompt-caching.mdx to from praisonaiagents import Memory
  • B.2 — Filed MervinPraison/PraisonAI#2166 for SDK-side register_memory_adapter, get_memory_adapter, list_memory_adapters exports (custom-memory-adapters.mdx is blocked-on-SDK)
  • C.1 — Full rewrite of incremental-indexing.mdx: hero Mermaid, sequence diagram, Steps Quick Start, IndexResult/CorpusStats/FileTracker config tables, AccordionGroup, Related CardGroup
  • C.2knowledge-backends.mdx: sidebarTitle, remove H1, hero diagram, Steps, AccordionGroup, CardGroup
  • C.3hermes-openclaw-skills-import.mdx: fix from praisonaiagents.tools import tool deep import
  • C.4skill-capability-gates.mdx: already AGENTS.md compliant, no changes
  • C.5advanced-memory.mdx: sidebarTitle, remove H1, Steps Quick Start, AccordionGroup Best Practices, fix TaskOutput deep import, Related CardGroup
  • C.6resource-lifecycle.mdx: ChromaMemory() confirmed as factory-function call (semantics correct)
  • C.7 — Workflow pages: add sidebarTitle to 4 pages, remove H1 from 3 pages

Blocked-on-SDK

docs/features/custom-memory-adapters.mdx deep imports for register_memory_adapter, get_memory_adapter, list_memory_adapters are kept as-is pending MervinPraison/PraisonAI#2166.

Files changed

File Change
docs/features/prompt-caching.mdx 2 deep imports → friendly imports
docs/features/incremental-indexing.mdx Full rewrite per AGENTS.md §2 template
docs/features/knowledge-backends.mdx frontmatter + hero + Steps + AccordionGroup + CardGroup
docs/features/hermes-openclaw-skills-import.mdx 1 deep import fix
docs/features/advanced-memory.mdx frontmatter + Steps + AccordionGroup + fix deep import
docs/features/resource-lifecycle.mdx no change (factory semantics confirmed correct)
docs/features/conditional-branching.mdx add sidebarTitle
docs/features/nested-workflows.mdx add sidebarTitle
docs/features/modular-recipes.mdx add sidebarTitle, remove H1
docs/features/yaml-workflows.mdx remove H1
docs/features/multi-agent-pipelines.mdx add sidebarTitle, remove H1

Fixes #801

Generated with Claude Code

…S.md spec (fixes #801)

B.1 — migrate deep imports to friendly form:
- prompt-caching.mdx: two `from praisonaiagents.memory import Memory` → `from praisonaiagents import Memory`
- hermes-openclaw-skills-import.mdx: `from praisonaiagents.tools import tool` → `from praisonaiagents import tool`
- advanced-memory.mdx: `from praisonaiagents.agent.task import TaskOutput` → `from praisonaiagents import TaskOutput`

B.2 — SDK sub-issue filed at MervinPraison/PraisonAI#2166 for register_memory_adapter, get_memory_adapter, list_memory_adapters

C.1 — incremental-indexing.mdx: full rewrite with hero diagram, sequence diagram, Steps, IndexResult/CorpusStats/FileTracker config tables, AccordionGroup, CardGroup

C.2 — knowledge-backends.mdx: add sidebarTitle, remove H1, add hero diagram, Steps, AccordionGroup, CardGroup

C.3 — hermes-openclaw-skills-import.mdx: already AGENTS.md compliant; fixed deep import

C.4 — skill-capability-gates.mdx: already fully compliant, no changes needed

C.5 — advanced-memory.mdx: add sidebarTitle, remove H1, wrap Quick Start in Steps, convert Best Practices CardGroup → AccordionGroup, fix TaskOutput deep import, add Related CardGroup

C.6 — resource-lifecycle.mdx: ChromaMemory() usage confirmed as factory function call (semantics correct); import from praisonaiagents is friendly-form and awaits SDK sync

C.7 — workflow pages:
- yaml-workflows.mdx: remove H1
- conditional-branching.mdx: add sidebarTitle
- nested-workflows.mdx: add sidebarTitle
- modular-recipes.mdx: add sidebarTitle, remove H1
- multi-agent-pipelines.mdx: add sidebarTitle, remove H1

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: MervinPraison <454862+MervinPraison@users.noreply.github.com>
@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@MervinPraison, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 28 minutes and 59 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses rolling per-developer review limits. Reviews become available again as older review attempts age out of the rolling limit window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 78b3072a-34d7-429c-8395-ea4a98ac3879

📥 Commits

Reviewing files that changed from the base of the PR and between ecc1639 and 92926c5.

📒 Files selected for processing (10)
  • docs/features/advanced-memory.mdx
  • docs/features/conditional-branching.mdx
  • docs/features/hermes-openclaw-skills-import.mdx
  • docs/features/incremental-indexing.mdx
  • docs/features/knowledge-backends.mdx
  • docs/features/modular-recipes.mdx
  • docs/features/multi-agent-pipelines.mdx
  • docs/features/nested-workflows.mdx
  • docs/features/prompt-caching.mdx
  • docs/features/yaml-workflows.mdx
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/issue-801-20260623-0728

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.

@mintlify

mintlify Bot commented Jun 23, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
praisonai 🟢 Ready View Preview Jun 23, 2026, 7:41 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request updates and standardizes the documentation across several features, including Advanced Memory, Incremental Indexing, and Knowledge Backends. Key changes include adding sidebar titles, simplifying Python imports in code snippets, restructuring guides using Steps and Accordion components, and adding Mermaid diagrams. The review feedback correctly identifies several critical errors in the documentation's code examples: the store_long_term method in advanced-memory.mdx incorrectly uses a 'memory' parameter instead of 'metadata', and multiple examples in incremental-indexing.mdx incorrectly pass a 'memory' dictionary to Knowledge.index() instead of passing 'user_id' directly. These mismatches would lead to runtime TypeErrors if copied by users.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment on lines 158 to 165
memory.store_long_term(
text="Quantum computing uses qubits for computation",
completeness=0.95, # How complete is the information
relevance=0.90, # How relevant to the context
clarity=0.88, # How clear is the explanation
accuracy=0.92, # How accurate is the content
completeness=0.95,
relevance=0.90,
clarity=0.88,
accuracy=0.92,
memory={"user_id": "user123"}
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The store_long_term method of the Memory class accepts metadata as a parameter, not memory. Passing memory will result in a TypeError at runtime. Please update the parameter name to metadata.

memory.store_long_term(
    text="Quantum computing uses qubits for computation",
    completeness=0.95,
    relevance=0.90,
    clarity=0.88,
    accuracy=0.92,
    metadata={"user_id": "user123"}
)

Comment on lines +57 to +61
result = knowledge.index(
"./docs",
memory={"user_id": "my_user"},
incremental=True,
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The Knowledge.index method accepts user_id directly as a keyword argument, not memory. Passing memory will result in a TypeError at runtime. Please update the parameter name to user_id.

result = knowledge.index(
    "./docs",
    user_id="my_user",
    incremental=True,
)


## CLI Usage
knowledge = Knowledge()
result = knowledge.index("./docs", memory={"user_id": "alice"})

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The Knowledge.index method accepts user_id directly as a keyword argument, not memory. Passing memory will result in a TypeError at runtime. Please update the parameter name to user_id.

result = knowledge.index("./docs", user_id="alice")

Comment on lines +175 to +179
result = knowledge.index(
"./docs",
memory={"user_id": "alice"},
force=True,
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The Knowledge.index method accepts user_id directly as a keyword argument, not memory. Passing memory will result in a TypeError at runtime. Please update the parameter name to user_id.

result = knowledge.index(
    "./docs",
    user_id="alice",
    force=True,
)

Comment on lines +190 to +195
result = knowledge.index(
"./project",
memory={"user_id": "alice"},
include_glob=["*.md", "*.txt", "*.py"],
exclude_glob=["*.log", "test_*", "__pycache__/*"],
)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The Knowledge.index method accepts user_id directly as a keyword argument, not memory. Passing memory will result in a TypeError at runtime. Please update the parameter name to user_id.

result = knowledge.index(
    "./project",
    user_id="alice",
    include_glob=["*.md", "*.txt", "*.py"],
    exclude_glob=["*.log", "test_*", "__pycache__/*"],
)


def load(self) -> None:
"""Load state from file."""
result = knowledge.index("./shared-docs", memory={"user_id": user_id})

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The Knowledge.index method accepts user_id directly as a keyword argument, not memory. Passing memory will result in a TypeError at runtime. Please update the parameter name to user_id.

result = knowledge.index("./shared-docs", user_id=user_id)

@MervinPraison MervinPraison merged commit 3c5b239 into main Jun 23, 2026
28 checks passed
@MervinPraison MervinPraison deleted the claude/issue-801-20260623-0728 branch June 23, 2026 10:55
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.

docs: follow-up to #579 B.1 — verify lazy exports, migrate remaining deep imports, and bring affected pages up to AGENTS.md spec

1 participant