Skip to content

WIP: Redis Agent Playbooks developer docs - #4249

Draft
tylerhutcherson wants to merge 13 commits into
mainfrom
MOD-19391-playbook-developer-docs
Draft

tylerhutcherson wants to merge 13 commits into
mainfrom
MOD-19391-playbook-developer-docs

Conversation

@tylerhutcherson

@tylerhutcherson tylerhutcherson commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

MOD-19391 — Redis Agent Playbooks developer documentation.

Adds the developer docs under /develop/ai/context-engine/agent-playbook/. Developers can publish and retrieve approved answers, package reusable procedures, review proposals and evidence, and supply playbook knowledge to an agent before and during a turn.

Scope

  • Eleven pages: overview, concepts, quickstart, FAQ management, skill management, proposal review, retrieval, MCP, agent integration, limits/errors, and the public data-plane API reference.
  • Task-specific /manage-faqs/ and /manage-skills/ routes, consistent navigation, and updated cross-links. The landing page follows the Redis Agent Memory structure with “What is…” and “Why use…” sections, then links directly to Concepts, Quickstart, and Agent integration.
  • Four workflow diagrams explain version publication, progressive disclosure through MCP, proposal review and publication, and application-controlled discovery before an agent turn.
  • Python, TypeScript, and curl examples use the repository's tabbed-code system and canonical sources in local_examples/iris/playbooks/.
  • MCP reference and agent-integration examples cover application-controlled SDK discovery plus agent-selected skill and template loading through MCP.
  • The public data-plane reference is generated from the same contract as the latest published SDKs.

Latest alignment

  • Pins redis-agent-playbook==0.1.0a3 and @redis-iris/agent-playbook@0.1.0-alpha.3, the newest published packages.
  • Refreshes the data-plane reference from the alpha.3 contract, which matches current Iris main.
  • Aligns proposal creation, filtering, evidence, acceptance receipts, and publication with the current API.
  • Removes the retired data-plane clear operation and directs administrators to the control-plane workflow documented in the stacked operator PR.
  • Keeps Python examples readable while preserving runnable complete programs and request parity across languages.

Validation

  • python -m pytest build/agent_playbook_docs -q: 126 passed against the pinned Python and TypeScript packages.
  • Strict TypeScript compilation, SDK source-lock validation, Python formatting checks, shell syntax checks, JSON parsing, and git diff --check pass.
  • Full Hugo 0.143 build passes: 19,893 pages, 664 non-page files, 2,116 static files, and 1,245 aliases.
  • The generic task lint and task test commands are unavailable because this repository has no Taskfile; the dedicated Playbooks suite and supported Hugo version provide the validation above.

Stack and publication

  • This foundation PR: MOD-19391-playbook-developer-docs → main.
  • Child: #4256 — WIP: Playbook self-managed operator docs, targeting this developer branch. Review the child relative to this branch to see only operator scope.
  • Merge this PR first, then retarget/rebase the operator PR onto main and confirm its remaining diff.

Both PRs stay draft/WIP. No publication gate is added. Merging into main publishes the docs; draft state does not hide merged pages. Keep both unmerged until launch publication is approved. Repository and staging previews are public.

@CLAassistant

CLAassistant commented Oct 12, 2026 •

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ andy-stark-redis
❌ tylerhutcherson
You have signed the CLA already but the status is still pending? Let us recheck it.

@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

🧠 Redis Memory

Found 10 related items from repository history (1 new this commit):

Memory updated at 1009f90

@tylerhutcherson tylerhutcherson added documentation Improvements or additions to documentation iris Iris context engine docs dev labels Oct 13, 2026
@mich-elle-luna mich-elle-luna self-assigned this Oct 13, 2026
@mich-elle-luna
mich-elle-luna self-requested a review October 13, 2026 18:20
@mich-elle-luna

Copy link
Copy Markdown
Collaborator

This needs the same re-base as the other PR in this stack to get the new nav and look/feel.

I've also added Andy and Paolo for their review of the build changes proposed here and anything else they see. In case we can pull off some interactive demo of this component and also to get more eyes on this in the final sprint.

@andy-stark-redis andy-stark-redis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@tylerhutcherson The language mainly looks OK but I've made a few comments here and there. However, the PR seems to invent a whole new system for supplying the code examples when we already have a really good one available :-)

I've added a new commit to enable three new language variants in the docs for Iris Python, TS, and cURL examples (they are listed as if they were "clients" because that is what we mainly deal with in the docs). We have a Claude skill for adding tabbed code examples (TCEs), so if you ask for the examples to be reworked in this form, it should know what you mean. The example source files should be placed in local_examples/iris.

The TCE boxes on the published page allow you to copy the full text of the example rather than download, so any surrounding body text that refers to downloading example files will need to be removed. Some of the build scripts you've added will also be unnecessary when the examples are redone as TCEs.

If you encounter any problems with this then just let me know and I'll be happy to help out.

bannerChildren: true
---

Redis Agent Playbooks lets agents share curated answers and procedures without bundling them into each application. Publish a version, retrieve it for a task, and prepare revisions while agents use the current publication.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We need to decide if we regard "Playbooks" (plural) as the product/feature name or whether we can sometimes consider an individual "Playbook" as being part of a collection. If it's a feature with a plural name, it might be clearer to say things like "Redis Agent Playbooks is a feature that lets agents share...". If they are regarded as individual items, we can say "Redis Agent Playbooks let agents...".

It's a little pedantic, I know, but "Playbooks lets agents share..." takes a moment to parse or possibly seems like a typo.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Agreed - still trying to decide on this from a product standpoint.

@@ -0,0 +1,513 @@
---

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Calling them FAQs is a nice, intuitive way to describe them, but I wonder if the URL here is prone to hallucinations? (We get lots of these, btw.) Maybe use manage-faqs or playbook-faqs for the filename?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

fixing!


{{< /multitabs >}}

To roll back, publish the first version retained in `version` (Python and TypeScript) or `VERSION` (HTTP).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The issue with variants of names is handled inconsistently - sometimes differences are ignored (eg, list_faqs) and sometimes called out (eg, here and next_cursor, etc). It's probably best to just use the Python variant of the names in the main text and let the reader/LLM make the leap. If we find readers are tripped up by this, we can add a note at the top explaining how to convert among the naming conventions.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

fixing!

@tylerhutcherson

Copy link
Copy Markdown
Contributor Author

@tylerhutcherson The language mainly looks OK but I've made a few comments here and there. However, the PR seems to invent a whole new system for supplying the code examples when we already have a really good one available :-)

I've added a new commit to enable three new language variants in the docs for Iris Python, TS, and cURL examples (they are listed as if they were "clients" because that is what we mainly deal with in the docs). We have a Claude skill for adding tabbed code examples (TCEs), so if you ask for the examples to be reworked in this form, it should know what you mean. The example source files should be placed in local_examples/iris.

The TCE boxes on the published page allow you to copy the full text of the example rather than download, so any surrounding body text that refers to downloading example files will need to be removed. Some of the build scripts you've added will also be unnecessary when the examples are redone as TCEs.

If you encounter any problems with this then just let me know and I'll be happy to help out.

Updating to use the existing TCE structure and format!

tylerhutcherson and others added 9 commits October 14, 2026 14:38
…amples

Adds three TCE pseudo-client keys, "Python (Iris)", "TypeScript (Iris)",
and "cURL (Iris)", so Iris examples can use the standard clients-example
system instead of multitabs. Each key is the visible tab title and is
shared across all Iris products, so names avoid any one SDK package.

- config.toml: keys in clientsExamples and clientsConfig, modeled on
  RedisVL. Own clientId (iris-python/-typescript/-curl), empty
  quickstartSlug and mappingClientId, so tabs don't carry redis-py or
  node-redis identity in the code-examples JSON metadata.
- build/local_examples.py: .ts/.mts -> typescript, .sh -> bash; a path
  containing 'iris' selects the Iris client (put sources under
  local_examples/iris/). .mts keeps top-level await working under tsx.
  Non-Iris .ts/.sh files resolve to no configured client.
- build/components/example.py: comment prefixes for typescript (//)
  and bash (#); without them Example() rejects the language.

Verified with a throwaway three-language set: the build tagged each file
with the right client and Hugo rendered the tabs with correct step
slices, lexers, full-file templates, and clientId/clientName. The test
set was removed; no pages are converted in this commit.

Gotcha: get_example_id_from_file reads only line 1, so .sh sources must
start with "# EXAMPLE:" and cannot carry a shebang.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Discover turn context through the SDK before running OpenAI Agents SDK or LangGraph. Keep standard MCP clients and tool guidance on the existing MCP page, and suppress drafts while tool failures remain unresolved.
@tylerhutcherson
tylerhutcherson force-pushed the MOD-19391-playbook-developer-docs branch from c0ef4a2 to d7293c3 Compare October 14, 2026 18:45
@tylerhutcherson tylerhutcherson changed the title WIP: Playbook developer docs WIP: Redis Agent Playbooks developer docs Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dev documentation Improvements or additions to documentation iris Iris context engine docs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants