Skip to content

Docs: align CLI surface with relay v9, add Relaycast API reference, cut fluff#18

Merged
willwashburn merged 3 commits into
mainfrom
claude/agent-relay-docs-review-f70err
Jul 8, 2026
Merged

Docs: align CLI surface with relay v9, add Relaycast API reference, cut fluff#18
willwashburn merged 3 commits into
mainfrom
claude/agent-relay-docs-review-f70err

Conversation

@willwashburn

@willwashburn willwashburn commented Jul 7, 2026

Copy link
Copy Markdown
Member

Summary

Full review of the messaging-product docs against the current relay and relaycast repos, plus a new API reference page and a value-per-word editing pass.

CLI docs now match the shipped CLI (relay v9.2.1)

Verified every documented command against packages/cli/src in the relay repo:

  • localnode rename. The docs described the deprecated surface. All examples now use agent-relay node up|down|status|metrics, node agent spawn|new|attach|release|set-model, node tail, and note that local is a deprecated alias that warns.
  • Workflow verbs moved from flat local run|logs|sync to node workflow run|logs|sync.
  • fleet serve is gone — it is a stub that errors and points at relay node up. The Nodes page now shows node up --config ./builder.node.ts, the agent-relay.{ts,js,...} auto-discovery, and fleet nodes / fleet status as the inspection commands.
  • Real flags and defaults documented: node up (--config, --broker-name default, port 3888, Cloud enrollment pickup, teams.json auto-spawn behavior), node down --timeout default 5000 ms, spawn flags --cwd / --spawn-mode / --exit-after-task, attach mode defaults (newdrive, attachview).
  • Added missing commands to the reference matrix: cloud enroll, fleet config|enable|disable|inherit, skills add, integration subscribe|unsubscribe, inbound-webhook commands, and the relay binary alias.

New: Relaycast API reference (/docs/relaycast-api)

Summarizes the OpenAPI 3.0 spec behind cast.agentrelay.com so readers have the REST/WS surface in one place: base URLs (hosted + self-hosted engine), bearer-token auth by prefix, response envelope and idempotency header, endpoint tables for every group (workspaces, agents, channels, messages, DMs, deliveries, files, actions, nodes, triggers, webhooks, subscriptions), both WebSocket streams, and a link to the full spec in the relaycast repo. Added under the Reference nav group.

Value-per-word pass on every current page

Removed language that didn't increase reader understanding, without changing technical claims:

  • Spec-speak rewritten as fact ("Relay should not care..." → "Relay does not care...", "MCP tools should:" → what the server does).
  • Self-referential planning notes deleted ("the current docs should teach workspace creation first", "New examples should use workspaceKey").
  • Generic filler cut ("Why Events Matter", "Webhook handlers should be boring and repeatable", example workspace-name lists, "in just a few short minutes").
  • Dropped stale "version 8" qualifiers outside the migration guide.

Net: −199 lines of prose across 20 pages, +1 reference page.

Testing

  • npm test (web) — 21 passed
  • npm run build — succeeds; /docs/relaycast-api prerendered

🤖 Generated with Claude Code

https://claude.ai/code/session_01VrxGuDDDqLNfzGEAbfjC84


Generated by Claude Code


Summary by cubic

Updates the docs to match the relay v9 CLI, adds a concise Relaycast API reference, fixes API auth per the OpenAPI spec, and tightens copy (intro/quickstart are example‑first; redundant ledes removed).

  • New Features

    • Added /docs/relaycast-api: OpenAPI-backed summary with base URLs, bearer auth, response envelope, endpoint tables, WebSocket streams, and self-hosting via @relaycast/engine (linked under Reference).
    • CLI: documented the relay binary alias and new surfaces (inbound-webhook commands, skills add, node workflow *, fleet inspection/config, Cloud-managed node enrollment).
  • Refactors

    • Aligned CLI docs to the shipped surface: localnode (deprecated alias), fleet servenode up --config, workflow verbs under node workflow *. Documented real flags/defaults (node up port 3888, config auto-discovery, --broker-name default, teams.json auto-spawn, Cloud enrollment pickup; node down --timeout; spawn/attach flags and default modes). Expanded the command matrix with cloud enroll, fleet config|enable|disable|inherit, inbound-webhook subcommands, and node tail.
    • Corrected Relaycast API auth per the spec: exact token requirements per endpoint (e.g., action invoke/complete and group DM creation are agent‑token only; channel invite is agent‑token; node roster reads accept any token; spawn/release also accept node tokens). Noted node-hosted action handlers report results over /v1/node/ws and clarified that /hooks/{webhookId} is the URL returned by POST /webhooks.
    • Tightened wording across pages, rewrote Introduction and Quickstart to be example-first, and removed duplicated opening lines that repeated page descriptions.

Written for commit 403d275. Summary will update on new commits.

Review in cubic

…ut fluff

- Update all CLI pages to the current command surface: the `local` group is
  renamed to `node` (deprecated alias), workflow verbs live under
  `node workflow run|logs|sync`, and `fleet serve` is replaced by
  `node up --config`. Document real flags and defaults for `node up`,
  `node down`, spawn/attach, plus the `fleet`, `cloud enroll`, `skills`,
  and inbound-webhook commands and the `relay` binary alias.
- Add a Relaycast API reference page summarizing the OpenAPI spec behind
  cast.agentrelay.com: base URLs, token auth, response envelope, endpoint
  tables by group, WebSocket streams, and self-hosting.
- Tighten every current docs page for value per word: remove spec-speak
  ("Relay should..."), self-referential planning notes, and generic filler;
  keep technical content matter-of-fact.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VrxGuDDDqLNfzGEAbfjC84
@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR renames the CLI local runtime to node runtime across docs, revises messaging and delivery guidance, and adds a new Relaycast API reference page with navigation support.

Changes

CLI runtime and command reference

Layer / File(s) Summary
CLI overview and command reference
web/content/docs/cli-overview.mdx, web/content/docs/cli-messaging.mdx, web/content/docs/reference-cli.mdx
CLI overview and reference pages update runtime naming, aliases, command groups, and command signatures.
Agent and broker lifecycle docs
web/content/docs/cli-agent-management.mdx, web/content/docs/cli-broker-lifecycle.mdx, web/content/docs/harness-driver.mdx, web/content/docs/nodes.mdx
Agent management, broker lifecycle, nodes, and harness-driver docs rewrite local lifecycle examples and broker/node descriptions around node-prefixed commands.

Messaging, delivery, and harness guidance

Layer / File(s) Summary
Delivery and messaging wording
web/content/docs/agent-relay-mcp.mdx, web/content/docs/delivery.mdx, web/content/docs/event-handlers.mdx, web/content/docs/messaging.mdx, web/content/docs/session-capabilities.mdx, web/content/docs/webhooks.mdx, web/content/docs/typescript-sdk.mdx
Delivery, messaging, session-capability, webhook, and MCP docs tighten contract language and safety guidance.
Harness, workspace, and intro docs
web/content/docs/harnesses.mdx, web/content/docs/workspaces.mdx, web/content/docs/introduction.mdx, web/content/docs/actions.mdx, web/content/docs/nodes.mdx, web/content/docs/sending-messages.mdx, web/content/docs/quickstart.mdx
Harness, workspace, introduction, actions, nodes, sending-messages, and quickstart docs reorganize coordination concepts, credential notes, diagnostics, and example flows.

Relaycast API reference

Layer / File(s) Summary
Relaycast API page and nav
web/content/docs/relaycast-api.mdx, web/lib/docs-nav.ts
The new Relaycast API page adds frontmatter, API overview, auth, endpoint tables, WebSocket notes, self-hosting guidance, and a Reference nav entry.

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

Possibly related PRs

  • AgentWorkforce/agentrelay.com#9: Shares the same delivery and node-runtime documentation surfaces, including web/content/docs/agent-relay-mcp.mdx and web/content/docs/delivery.mdx.

Poem

I hopped through docs with twitchy nose,
And saw the node runtime in neat new prose.
Delivery sang, “must” and “does,”
Relaycast joined the reference buzz.
Now every hop is clear and bright—
A tidy burrow, snug and right. 🐇

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 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.
Title check ✅ Passed The title clearly captures the main changes: CLI docs alignment, a new Relaycast API reference, and prose cleanup.
Description check ✅ Passed The description is directly related to the PR and summarizes the same CLI, API reference, and copy-edit changes in detail.
✨ 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 claude/agent-relay-docs-review-f70err

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.

@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 the documentation across several MDX files to reflect a transition from local commands to node commands, introduce the new Relaycast API reference, and streamline terminology (such as removing references to "version 8" and clarifying the use of workspace keys). The review feedback points out two consistency issues: using workspace key instead of API key in the new Relaycast API document, and using the kebab-case <run-id> placeholder instead of camelCase <runId> for cloud commands in the CLI reference.

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 thread web/content/docs/relaycast-api.mdx Outdated

| Method and path | Purpose | Auth |
| --- | --- | --- |
| `POST /workspaces` | Create a workspace (idempotent by name; API key returned on first creation only). | none |

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

To maintain consistent terminology across the documentation, use workspace key instead of API key. The documentation elsewhere explicitly states that no separate user API key is required and that the workspace key is the primary credential.

Suggested change:

| `POST /workspaces` | Create a workspace (idempotent by name; workspace key returned on first creation only). | none |

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.

Fixed in 849fb7a — the row now says "workspace key returned on first creation only." (The spec's response field is named api_key, but the docs term for that credential is workspace key.)


Generated by Claude Code

Comment on lines +189 to +192
| `agent-relay cloud status <runId>` | Show cloud run status. |
| `agent-relay cloud logs <runId>` | Show cloud run logs. |
| `agent-relay cloud sync <runId>` | Sync local state with cloud. |
| `agent-relay cloud cancel <runId>` | Cancel a cloud run. |

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

For consistency with the local workflow run commands (which use <run-id>), use the kebab-case <run-id> placeholder instead of the camelCase <runId> for the cloud commands.

Suggested change:

| `agent-relay cloud status <run-id>` | Show cloud run status. |
| `agent-relay cloud logs <run-id>` | Show cloud run logs. |
| `agent-relay cloud sync <run-id>` | Sync local state with cloud. |
| `agent-relay cloud cancel <run-id>` | Cancel a cloud run. |

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.

Leaving as-is: the placeholders mirror the CLI's actual help output. The cloud commands are registered with .argument('<runId>', 'Workflow run id') (relay repo, packages/cli/src/cli/commands/cloud.ts), while the node workflow commands use <run-id>. The inconsistency is in the CLI itself; if we normalize it there, the docs should follow.


Generated by Claude Code

@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Preview deployed!

Environment URL
Web https://d88ea588-agentrelay-web.agent-workforce.workers.dev

This is a Cloudflare Workers preview version of this PR's build.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8ffc9b9ad1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread web/content/docs/relaycast-api.mdx Outdated
Comment on lines +130 to +131
| `POST /actions/{name}/invoke` | Invoke; returns `invocation_id` immediately (fire-and-forget). | workspace key or agent token |
| `POST /actions/{name}/invocations/{id}/complete` | Report a handler result. | agent or node token |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Mark action REST calls as agent-token only

The OpenAPI spec linked from this page exposes both POST /actions/{name}/invoke and POST /actions/{name}/invocations/{id}/complete with agentToken security only. As written, callers will try workspace keys for invoke or node tokens for completion on the REST API and get rejected; node-side completion should be documented separately if it happens over the node control stream rather than this endpoint.

Useful? React with 👍 / 👎.

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.

Confirmed against the spec and fixed in 849fb7a: both POST /actions/{name}/invoke and POST /actions/{name}/invocations/{id}/complete now show agent token only. The complete row also notes that node-hosted handlers reply with action.result frames over /v1/node/ws rather than this REST endpoint.


Generated by Claude Code

Comment thread web/content/docs/relaycast-api.mdx Outdated
| --- | --- | --- |
| `POST /dm` | Send a DM (`to` is an agent name). | agent token |
| `GET /dm/conversations` | List the acting agent's DM conversations. | agent token |
| `POST /dm/group` | Create a group DM. | agent token or workspace key |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Require agent tokens for group DM creation

The linked OpenAPI spec lists POST /dm/group under Direct Messages with only agentToken security. A workspace key has no acting DM participant, so users following this table with an rk_live_* key will hit an auth failure; this row should advertise agent-token auth only.

Useful? React with 👍 / 👎.

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.

Confirmed against the spec and fixed in 849fb7aPOST /dm/group now shows agent token only.


Generated by Claude Code

@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)
web/content/docs/cli-agent-management.mdx (1)

40-56: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win

Headings still say "Local" despite the node rename.

## Start Local Runtime and ## Spawn Local Agents retain "Local" wording while the commands underneath were renamed to agent-relay node .... cli-overview.mdx renamed its equivalent section from "Local Runtime" to "Node Runtime" for the same rename effort, so these headings are now inconsistent with the sibling doc.

✏️ Suggested heading fix
-## Start Local Runtime
+## Start Node Runtime
-## Spawn Local Agents
+## Spawn Node Agents
🤖 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 `@web/content/docs/cli-agent-management.mdx` around lines 40 - 56, Update the
headings in the docs section to match the node rename: the current “Start Local
Runtime” and “Spawn Local Agents” titles in the markdown content still use old
“Local” wording. Adjust these headings to the same “Node Runtime” terminology
used by the sibling docs, keeping the surrounding command examples and
explanatory text in sync with the renamed `agent-relay node ...` flow.
🧹 Nitpick comments (1)
web/content/docs/cli-overview.mdx (1)

122-124: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Internal run-metadata path still uses "local-runs" naming.

.agentworkforce/relay/local-runs retains the old local term even though the surrounding CLI verbs and section title were renamed to node. If this is the actual on-disk path used by the tool, leave it as-is (paths shouldn't be renamed just for doc consistency); flagging only in case the intent was to rename the directory too.

🤖 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 `@web/content/docs/cli-overview.mdx` around lines 122 - 124, The docs text in
the CLI overview still uses the legacy "local-runs" directory name while the
surrounding verb was renamed to "node"; verify the actual on-disk metadata path
used by node workflow run before changing anything. If
.agentworkforce/relay/local-runs is the real runtime path, keep it unchanged and
only clarify in the wording that it is a legacy directory name; otherwise update
the path reference consistently in the CLI overview content.
🤖 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 `@web/content/docs/cli-agent-management.mdx`:
- Around line 40-56: Update the headings in the docs section to match the node
rename: the current “Start Local Runtime” and “Spawn Local Agents” titles in the
markdown content still use old “Local” wording. Adjust these headings to the
same “Node Runtime” terminology used by the sibling docs, keeping the
surrounding command examples and explanatory text in sync with the renamed
`agent-relay node ...` flow.

---

Nitpick comments:
In `@web/content/docs/cli-overview.mdx`:
- Around line 122-124: The docs text in the CLI overview still uses the legacy
"local-runs" directory name while the surrounding verb was renamed to "node";
verify the actual on-disk metadata path used by node workflow run before
changing anything. If .agentworkforce/relay/local-runs is the real runtime path,
keep it unchanged and only clarify in the wording that it is a legacy directory
name; otherwise update the path reference consistently in the CLI overview
content.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: eafe2dbb-f35a-4e84-807c-1e8f82616604

📥 Commits

Reviewing files that changed from the base of the PR and between 9a3a3d7 and 8ffc9b9.

📒 Files selected for processing (21)
  • web/content/docs/agent-relay-mcp.mdx
  • web/content/docs/cli-agent-management.mdx
  • web/content/docs/cli-broker-lifecycle.mdx
  • web/content/docs/cli-messaging.mdx
  • web/content/docs/cli-overview.mdx
  • web/content/docs/delivery.mdx
  • web/content/docs/event-handlers.mdx
  • web/content/docs/harness-driver.mdx
  • web/content/docs/harnesses.mdx
  • web/content/docs/introduction.mdx
  • web/content/docs/messaging.mdx
  • web/content/docs/nodes.mdx
  • web/content/docs/quickstart.mdx
  • web/content/docs/reference-cli.mdx
  • web/content/docs/relaycast-api.mdx
  • web/content/docs/sending-messages.mdx
  • web/content/docs/session-capabilities.mdx
  • web/content/docs/typescript-sdk.mdx
  • web/content/docs/webhooks.mdx
  • web/content/docs/workspaces.mdx
  • web/lib/docs-nav.ts
💤 Files with no reviewable changes (1)
  • web/content/docs/webhooks.mdx

@cubic-dev-ai cubic-dev-ai 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.

2 issues found across 21 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread web/content/docs/relaycast-api.mdx Outdated
Comment thread web/content/docs/relaycast-api.mdx Outdated
…xample-first

- Correct the Relaycast API auth column against openapi.yaml: action
  invoke/complete and group DM creation are agent-token only, channel invite
  is agent-token, node roster reads accept any token, spawn/release also
  accept node tokens. Split the file and read-receipt rows so each endpoint
  names its exact auth, define "any token" once, and note that node-hosted
  action handlers reply over /v1/node/ws rather than the REST complete
  endpoint. Clarify /hooks/{webhookId} is the URL POST /webhooks returns.
- Rewrite the introduction and quickstart example-first: one-sentence
  positioning, working code in the first screenful, numbered quickstart
  steps with one line of prose each. Concept detail moves to the pages
  that own it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VrxGuDDDqLNfzGEAbfjC84

@cubic-dev-ai cubic-dev-ai 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.

1 issue found across 3 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="web/content/docs/introduction.mdx">

<violation number="1" location="web/content/docs/introduction.mdx:18">
P2: The intro code snippet sends to `#general` but no channel was created — readers who run the example verbatim may hit a 'channel not found' error if the SDK does not auto-create a default channel. Consider either (a) adding a `channels.create({ name: 'general' })` call before the send, or (b) sending to `#customer-complaints` after creating it (matching the quickstart pattern) so the example is correct as-is.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

{ name: 'engineer', type: 'agent' },
]);

await planner.sendMessage({

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2: The intro code snippet sends to #general but no channel was created — readers who run the example verbatim may hit a 'channel not found' error if the SDK does not auto-create a default channel. Consider either (a) adding a channels.create({ name: 'general' }) call before the send, or (b) sending to #customer-complaints after creating it (matching the quickstart pattern) so the example is correct as-is.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At web/content/docs/introduction.mdx, line 18:

<comment>The intro code snippet sends to `#general` but no channel was created — readers who run the example verbatim may hit a 'channel not found' error if the SDK does not auto-create a default channel. Consider either (a) adding a `channels.create({ name: 'general' })` call before the send, or (b) sending to `#customer-complaints` after creating it (matching the quickstart pattern) so the example is correct as-is.</comment>

<file context>
@@ -1,24 +1,42 @@
+  { name: 'engineer', type: 'agent' },
+]);
+
+await planner.sendMessage({
+  to: '#general',
+  text: `${engineer.handle} pick up the next ticket.`,
</file context>

The frontmatter description renders as the page lede, so introduction.mdx
and actions.mdx opened by restating it. Start both bodies at the first
new information instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VrxGuDDDqLNfzGEAbfjC84

@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 `@web/content/docs/relaycast-api.mdx`:
- Line 36: The WebSocket auth note is too broad in the relaycast API docs and
should only apply to clients that cannot set headers. Update the wording in the
docs content around the WebSocket token usage so it says browser clients, or
more generally clients that cannot set headers, instead of implying all WS
clients cannot send headers. Keep the existing guidance about preferring headers
elsewhere.
🪄 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: CHILL

Plan: Pro Plus

Run ID: 45e867e9-de02-4171-b816-db3f5dcc9845

📥 Commits

Reviewing files that changed from the base of the PR and between 8ffc9b9 and 403d275.

📒 Files selected for processing (4)
  • web/content/docs/actions.mdx
  • web/content/docs/introduction.mdx
  • web/content/docs/quickstart.mdx
  • web/content/docs/relaycast-api.mdx
✅ Files skipped from review due to trivial changes (1)
  • web/content/docs/quickstart.mdx

| Node token | `nt_live_*` | `POST /agent/node-token` (direct) or `POST /nodes` (fleet host) |
| Observer token | `ot_live_*` | `POST /observer-tokens` (workspace key required) |

Inbound webhooks additionally use a per-webhook `wh_live_*` bearer token. WebSocket endpoints accept the token as a `?token=` query parameter because WS clients cannot set headers; prefer the header everywhere else since query strings can land in access logs.

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.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Locate the doc and related auth references.
git ls-files | rg 'web/content/docs/relaycast-api\.mdx|auth|websocket|ws|socket|openapi|api' || true

echo '--- relaycast-api excerpt ---'
sed -n '1,120p' web/content/docs/relaycast-api.mdx

echo '--- search for websocket token guidance elsewhere ---'
rg -n "query parameter|custom headers|cannot set headers|WebSocket|wh_live_|token=" web/content/docs web -g '!**/node_modules/**' || true

Repository: AgentWorkforce/agentrelay.com

Length of output: 30333


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Show the relevant section with line numbers and nearby context.
nl -ba web/content/docs/relaycast-api.mdx | sed -n '20,60p'

echo '--- nearby auth references ---'
rg -n "wh_live_|WebSocket endpoints|cannot set headers|query strings can land in access logs|browser clients" web/content/docs -g '!**/node_modules/**' || true

Repository: AgentWorkforce/agentrelay.com

Length of output: 207


Scope the WebSocket auth note to clients that cannot set headers. web/content/docs/relaycast-api.mdx:36

WebSocket libraries in non-browser runtimes can set custom headers, so “WS clients cannot set headers” is too broad. Narrow this to browser clients, or say “clients that cannot set headers.”

🤖 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 `@web/content/docs/relaycast-api.mdx` at line 36, The WebSocket auth note is
too broad in the relaycast API docs and should only apply to clients that cannot
set headers. Update the wording in the docs content around the WebSocket token
usage so it says browser clients, or more generally clients that cannot set
headers, instead of implying all WS clients cannot send headers. Keep the
existing guidance about preferring headers elsewhere.

@willwashburn willwashburn merged commit d856f85 into main Jul 8, 2026
3 checks passed
willwashburn added a commit that referenced this pull request Jul 8, 2026
The introduction quickstart banner copy changed in #18; update the
docs-markdown export assertion to the shipped text so the suite is green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
willwashburn added a commit that referenced this pull request Jul 13, 2026
* Docs: nodes and providers

Add the nodes-and-providers overview — workspace/agents/nodes/providers,
action vs capacity registrations, node-addressed invoke, per-provider
liveness, spawn wrapping, and the enroll + node up onboarding.

Align the delivery, action, and CLI pages to the node-provider model:
providers connect directly to the engine, the node's agent runtime hosts
spawn/release capacity, and invocation is node-addressed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Fix stale introduction docs-export test assertion

The introduction quickstart banner copy changed in #18; update the
docs-markdown export assertion to the shipped text so the suite is green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Docs: address review feedback on nodes/providers pages

- Use the direct `ctx.send_message` helper in the spawn-wrap example, matching
  the stated ctx surface and the sibling `ctx.spawn_agent` call.
- Broaden the Capability glossary entry to cover both actions and capacity.
- Say capacity is "never materialized as an invokable action" so it does not
  read as contradicting the action.invoke dispatch frames on the Actions page.
- Fix "connects to /v1/node/ws" grammar.
- Scope the orchestrating cross-reference to the shared invocation model.
- Keep the harness-driver caller/host boundary explicit.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* Docs: align nt_live_* token notation on nodes-and-providers

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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.

2 participants