Skip to content

add agents page#2309

Closed
sevenzing wants to merge 6 commits into
mainfrom
ll/docs-agents
Closed

add agents page#2309
sevenzing wants to merge 6 commits into
mainfrom
ll/docs-agents

Conversation

@sevenzing

@sevenzing sevenzing commented Jun 17, 2026

Copy link
Copy Markdown
Member

Lite PR

Tip: Review docs on the ENSNode PR process

Summary

This PR adds a /omnigraph/agents page with description of how Omnigraph will be connected to ERC-8004 adn ENSIP-25

Pre-Review Checklist (Blocking)

  • This PR does not introduce significant changes and is low-risk to review quickly.
  • Relevant changesets are included (or are not required)

@vercel

vercel Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
enskit-react-example.ensnode.io Ready Ready Preview, Comment Jun 18, 2026 12:26pm
ensnode.io Ready Ready Preview, Comment Jun 18, 2026 12:26pm
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
admin.ensnode.io Skipped Skipped Jun 18, 2026 12:26pm
ensrainbow.io Skipped Skipped Jun 18, 2026 12:26pm

@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

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

More reviews will be available in 45 minutes and 40 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 adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 8d4e63b0-d34b-4f6d-92f0-382b291bc28e

📥 Commits

Reviewing files that changed from the base of the PR and between e5984ef and 7d1b9d1.

📒 Files selected for processing (1)
  • docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/complementary/erc8004.mdx
📝 Walkthrough

Walkthrough

Adds a new MDX documentation page for ERC-8004 (AI Agent Discovery) in the ENS Omnigraph API docs, covering the erc8004 plugin, four GraphQL query patterns for agent discovery and service connection, and a corresponding sidebar entry under a new "Complementary protocols" section with a "SOON" badge.

Changes

ERC-8004 Omnigraph Documentation

Layer / File(s) Summary
Sidebar registration for Agents / ERC-8004
docs/ensnode.io/config/integrations/starlight/sidebar-topics/integrate.ts
Adds a "Complementary protocols" nested section under "ENS Omnigraph API" with an "Agents / ERC-8004" entry linking to the new page, marked with a variant: "note" SOON badge.
ERC-8004 documentation page
docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/complementary/erc8004.mdx
New MDX page covering ERC-8004/ENSIP-25/ENSIP-26 context, erc8004 plugin gating, and four GraphQL query examples: find agents by ENS name, reverse-lookup ENS names by agent address, search agents by indexed metadata with pagination, and read an agent's service endpoints filtered by protocols.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • namehash/ensnode#2209: Modifies the same integrateSidebarTopic sidebar config in integrate.ts under the "ENS Omnigraph API" section, adding "Protocol Acceleration" — the parent section that "Complementary protocols" now nests alongside.

Poem

🐇 Hippity-hop, a new page is born,
Where AI agents are found every morn!
ERC-8004 queries flow,
GraphQL magic all aglow,
With a SOON badge pinned like a badge of corn! 🌽

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is incomplete; it omits the required 'Why' and 'Testing' sections from the template, and contains a typo ('adn' instead of 'and'). Complete all required sections: add a 'Why' section explaining the motivation, a 'Testing' section describing how changes were tested, and fix the typo in the Summary.
Title check ❓ Inconclusive The title 'add agents page' is vague and generic, lacking specificity about which documentation page was added or its context. Use a more descriptive title like 'Add ERC-8004 agents documentation page' to clearly indicate what was added and its purpose.
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ll/docs-agents

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 and usage tips.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🤖 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 `@docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/agents.mdx`:
- Line 65: The identityRegistry value in the agent query example is using a
truncated address format "0x8004…432" which appears runnable but is actually
incomplete, making it easy for users to copy-paste a broken value. Replace this
truncated address with either a complete valid address or an explicit
placeholder token (like <IDENTITY_REGISTRY_ADDRESS> or similar) that clearly
indicates the value needs to be substituted, ensuring users understand they must
provide their own actual value before running the query.
🪄 Autofix (Beta)

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: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1036505d-338d-4da2-86c9-5e0807e775f3

📥 Commits

Reviewing files that changed from the base of the PR and between 755ce89 and 03f9d0e.

📒 Files selected for processing (2)
  • docs/ensnode.io/config/integrations/starlight/sidebar-topics/integrate.ts
  • docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/agents.mdx

Comment thread docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/agents.mdx Outdated
@changeset-bot

changeset-bot Bot commented Jun 17, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 7d1b9d1

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@greptile-apps

greptile-apps Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds a new preview documentation page for ERC-8004 AI agent discovery (complementary/erc8004.mdx) and wires it into the sidebar under a new "Complementary protocols" group. The page covers the bidirectional ENSIP-25/26 ↔ ERC-8004 relationship and provides four GraphQL query examples showing how to traverse it from either direction.

  • New erc8004.mdx page documents four query patterns: look up agents by ENS name, look up ENS names by agent ID, search agents by indexed metadata, and read agent service endpoints.
  • Sidebar gains a "Complementary protocols" group (collapsed: false) containing the new entry with a "SOON" badge, inserted before the existing "Examples" group in the Omnigraph section.

Confidence Score: 5/5

Documentation-only change adding a preview page for a not-yet-shipped feature; no functional code is modified.

Both changed files are documentation — one new MDX page and one sidebar config update. The new page is clearly marked as a preview with a SOON badge, so any inaccuracies in the described API shapes have no runtime impact. The sidebar link path matches the MDX file location correctly.

No files require special attention.

Important Files Changed

Filename Overview
docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/complementary/erc8004.mdx New preview documentation page for ERC-8004 AI agent discovery, covering four GraphQL query patterns with consistent use of the bidirectional verification enum; two minor missing-article grammar nits in the prose.
docs/ensnode.io/config/integrations/starlight/sidebar-topics/integrate.ts Adds a "Complementary protocols" sidebar group (collapsed: false) with a single "Agents / ERC-8004" entry pointing to the new page; link path matches the MDX file location correctly.

Sequence Diagram

%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
    participant App
    participant Omnigraph as ENS Omnigraph API
    participant ENS as ENS On-chain (ENSIP-25/26)
    participant Reg as ERC-8004 Identity Registry

    Note over App,Reg: Path 1 — Start from ENS name
    App->>Omnigraph: domain(by: name) → erc8004agents attestations
    Omnigraph->>ENS: Read ENSIP-25/26 records
    Omnigraph->>Reg: Fetch agent card + reputation
    Omnigraph-->>App: "Attestations with VERIFIED | ONLY_ENS | ONLY_AGENT"

    Note over App,Reg: Path 2 — Start from ERC-8004 agent
    App->>Omnigraph: erc8004agent(by: chainName+agentId) → domains attestations
    Omnigraph->>Reg: Read agent record
    Omnigraph->>ENS: Look up attesting ENS names
    Omnigraph-->>App: Agent card + reverse attestation list

    Note over App,Reg: Path 3 — Search agents by metadata
    App->>Omnigraph: erc8004agents(where: chainName/cardName/ensName)
    Omnigraph->>Reg: Filter indexed agents
    Omnigraph-->>App: Paginated agent list (defaults to VERIFIED attestations)
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
    participant App
    participant Omnigraph as ENS Omnigraph API
    participant ENS as ENS On-chain (ENSIP-25/26)
    participant Reg as ERC-8004 Identity Registry

    Note over App,Reg: Path 1 — Start from ENS name
    App->>Omnigraph: domain(by: name) → erc8004agents attestations
    Omnigraph->>ENS: Read ENSIP-25/26 records
    Omnigraph->>Reg: Fetch agent card + reputation
    Omnigraph-->>App: "Attestations with VERIFIED | ONLY_ENS | ONLY_AGENT"

    Note over App,Reg: Path 2 — Start from ERC-8004 agent
    App->>Omnigraph: erc8004agent(by: chainName+agentId) → domains attestations
    Omnigraph->>Reg: Read agent record
    Omnigraph->>ENS: Look up attesting ENS names
    Omnigraph-->>App: Agent card + reverse attestation list

    Note over App,Reg: Path 3 — Search agents by metadata
    App->>Omnigraph: erc8004agents(where: chainName/cardName/ensName)
    Omnigraph->>Reg: Filter indexed agents
    Omnigraph-->>App: Paginated agent list (defaults to VERIFIED attestations)
Loading

Reviews (5): Last reviewed commit: "p lint" | Re-trigger Greptile

Comment thread docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/agents.mdx Outdated
Comment thread docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/agents.mdx Outdated

@coderabbitai coderabbitai Bot 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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/agents.mdx (1)

89-99: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Align the search description with the example.

The prose says the query can search by owner, but this snippet only demonstrates chain/name filters. Either add an owner predicate or remove “owner” from the text.

🤖 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 `@docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/agents.mdx` around
lines 89 - 99, The introductory text in the documentation states that agents can
be found by chain, owner, or card name, but the GraphQL example query only
demonstrates filtering by chain and name without any owner predicate. Either add
an owner filter to the agents query where clause to match the documentation
text, or remove the mention of "owner" from the introductory sentence so the
description accurately reflects what the example demonstrates.
🤖 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.

Outside diff comments:
In `@docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/agents.mdx`:
- Around line 89-99: The introductory text in the documentation states that
agents can be found by chain, owner, or card name, but the GraphQL example query
only demonstrates filtering by chain and name without any owner predicate.
Either add an owner filter to the agents query where clause to match the
documentation text, or remove the mention of "owner" from the introductory
sentence so the description accurately reflects what the example demonstrates.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: ab9b198a-0f51-4299-80a6-9271a4c12368

📥 Commits

Reviewing files that changed from the base of the PR and between 03f9d0e and 7875fdf.

📒 Files selected for processing (1)
  • docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/agents.mdx

},
{
label: "Complementary protocols",
collapsed: false,

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

maybe collapse it by default? i fell like too many open topics with color badges. or maybe just remove badge?

Image

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@sevenzing Yes I think best to collapse by default 👍

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 3

🤖 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
`@docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/complementary/erc8004.mdx`:
- Line 13: The ERC-8004 explanatory text contains grammatical errors that need
correction. Change "an new" to "a new" in the main paragraph defining ERC-8004.
Additionally, review and fix the other user-facing phrasing errors mentioned in
the comment: "API let" should be corrected to proper phrasing, "enum cover"
needs to be clarified, and "threory" should be corrected to the proper term.
Ensure all these corrections are applied throughout the documentation to
maintain clarity for readers.
- Around line 133-143: The introductory description states that the
FindErc8004Agents query searches by chain, owner, or card name, but the actual
GraphQL query example only includes filters for chainName, cardName, and ensName
with no owner filter. Update the description text before the code block to
accurately reflect the three filter fields that are actually demonstrated in the
query: chainName, cardName, and ensName.
- Line 142: The GraphQL filter key in the ensName field contains a typo where
`constains` is used instead of the correct spelling `contains`. Locate the
ensName filter definition in the example query and correct the spelling of the
key from `constains` to `contains` to match the correct syntax shown elsewhere
in the same query.
🪄 Autofix (Beta)

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: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 19666714-4d42-4664-89ea-db91baaba82e

📥 Commits

Reviewing files that changed from the base of the PR and between 7875fdf and e5984ef.

📒 Files selected for processing (2)
  • docs/ensnode.io/config/integrations/starlight/sidebar-topics/integrate.ts
  • docs/ensnode.io/src/content/docs/docs/integrate/omnigraph/complementary/erc8004.mdx

@vercel vercel Bot temporarily deployed to Preview – admin.ensnode.io June 18, 2026 12:24 Inactive
@vercel vercel Bot temporarily deployed to Preview – ensrainbow.io June 18, 2026 12:24 Inactive
@sevenzing

Copy link
Copy Markdown
Member Author

@greptile review

@lightwalker-eth lightwalker-eth left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@sevenzing Hey thanks for your updates 👍 Reviewed and shared feedback.

},
{
label: "Complementary protocols",
collapsed: false,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@sevenzing Yes I think best to collapse by default 👍

collapsed: false,
items: [
{
label: "Agents / ERC-8004",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
label: "Agents / ERC-8004",
label: "AI Agents / ERC-8004",

Does that fit, or does it make the value too long for display in the nav bar?

link: "/docs/integrate/omnigraph/protocol-acceleration",
},
{
label: "Complementary protocols",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
label: "Complementary protocols",
label: "Complementary Protocols",

Other nav entries are capitalizing each word

{
label: "Agents / ERC-8004",
link: "/docs/integrate/omnigraph/complementary/erc8004",
badge: {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think best to remove any badge here. The idea that it's coming soon just needs to be on the page itself.

@@ -0,0 +1,187 @@
---
title: ERC-8004 (AI Agent Discovery)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I assume we should rename this page from erc8004.mdx to erc-8004.mdx (add hyphen)

name { beautified }
}
resolve {
profile {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We're missing a key part of the story here. Please see my feedback above on the "Who this feature is for" section.

We aren't building this feature for people who only want to query ERC-8004. There's no point for us to do that. Other APIs for that already exist.

What makes our case special and gives it value is because it COMBINES ENS with ERC-8004.

The example queries here are all ERC-8004 only. This needs to change. Each example query needs to be updated so that it combines ENS with ERC-8004 in a way that feels practical and valuable and demonstrates a real use case.

Each entry in `attestations` is one ENSIP-25 attestation, with its `verification` status and the indexed ERC-8004 agent nested inline. By default `attestations` returns only `VERIFIED` attestations; pass `where` to include the partial ones.

```graphql ins={8-29}
query AgentsForName {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It seems to me it would be more interesting to change this into AgentsForAddress and change the Omnigraph query from being about a domain by name, to being an account by address.

Then, the data requested in the query could include the ENS primary name of that address, the profile of that primary name, and info about any ERC-8004 agents that might be associated with the address.

resolve {
profile {
erc8004agents {
context

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This context field seems curious to me. What's the idea here?

where: {
chainName: { eq: ETHEREUM }
cardName: { contains: "trading" }
ensName: { contains: "eth" }

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hmm. What's the big idea here? Suggest to refine it to be more clear

profile {
erc8004agents {
attestations {
verification

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Seems no value to include this field in the response then?

shrugs added a commit that referenced this pull request Jun 23, 2026
Take over the ERC-8004 (AI Agent Discovery) page from #2309 and align both it
and the EFP page to Lightwalker's terminology choices:

- New nav group "Complementary Protocols" (collapsed), containing
  "EFP (Social Graph)" and "AI Agents / ERC-8004"; no SOON badge in nav.
- ERC-8004 page: title "ERC-8004 (AI Agent Identity, Discovery, and
  Reputation)", "A complementary protocol for ENS" framing callout,
  plugin-named `erc8004` field (was `erc8004agents`), nested `agent`
  (was `erc8004agent`), "Example Queries" H2 with H3 examples, hyphenated
  filename erc-8004.mdx. Consistent "ENS Omnigraph" naming.
- Move EFP page to omnigraph/complementary/efp (redirect added) and add the
  parallel "complementary to ENS" framing callout; sidebar label
  "EFP (Social Graph)".
- Update inbound links (ensnode-plugins, database-schemas, example aside).
@shrugs

shrugs commented Jun 23, 2026

Copy link
Copy Markdown
Member

Superseded by #2327, which brings this ERC-8004 page into a new "Complementary Protocols" group (alongside the EFP page) and applies the terminology choices from your review — erc-8004.mdx filename, "ERC-8004 (AI Agent Identity, Discovery, and Reputation)" title, "A complementary protocol for ENS" framing, plugin-named erc8004 field, and the "Example Queries" H2/H3 structure. The open product questions on the example-query schema are left for follow-up. Closing in favor of #2327.

@shrugs shrugs closed this Jun 23, 2026
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.

3 participants