Repository navigation
docs(actors): rename the learn section to guides and move the website's Actors guides in - #5853
Conversation
…'s Actors guides in Guides now live in content/guides/ and the sidebar's "guides" key, linked as /guides/<slug>. The website merges every product repo's guides into the Guides tab, so the four Actors guides the website owned (Coding Agents, Agent App Builders, Company-Specific Agents, A Radically Simpler Architecture) move here, next to the code they teach. Amp-Thread-ID: https://ampcode.com/threads/T-d43d6059-e31e-4220-91d1-5e00ec65c552 Co-authored-by: Amp <amp@ampcode.com>
|
🚅 Deployed to the rivet-pr-5853 environment in rivet-frontend
|
ReviewDocs-only change: renames Checked
Minor suggestions
No bugs, security, or performance concerns, and no tests apply to this change. |
|
|
||
| ## The sandbox is an Actor too | ||
|
|
||
| The sandbox comes from `rivetkit/sandbox` and shares the agent's key, which makes the agent-to-sandbox mapping implicit in the key space. It runs the coding agent (Codex by default) inside Docker, Daytona, or E2B, and owns the filesystem and process state for that session. The agent Actor submits a prompt, awaits the sandbox round trip, and broadcasts the result to connected clients as an [event](/actors/docs/events). |
There was a problem hiding this comment.
🟠 Medium · The guide sends users to a removed package entrypoint
rivetkit/sandbox is not exported by the current rivetkit package and has no source entrypoint; the repository changelog explicitly says rivetkit/sandbox/* was permanently removed. The linked example only appears to coexist with this because its check-types script is replaced with echo 'skipped - sandbox types broken', so readers cannot build the architecture described here from the supported SDK. Point this guide at the current supported sandbox integration and a compiling example, or omit it until that integration exists.
|
|
||
| Give every conversation its own Actor, keyed by agent or conversation id. The transcript and status live in the Actor's persistent [state](/actors/docs/state), and each model call rebuilds the prompt from that state plus a system prompt. Memory and inference input are the same data, with no vector store or session table beside it. Prompts arrive on the Actor's [queue](/actors/docs/queues) and the `run` hook consumes them serially, so one conversation never has two model calls in flight. Tokens stream back to clients as [events](/actors/docs/events). | ||
|
|
||
| Because the memory is the Actor, the blast radius of any single agent is one Actor: it can only read what its own tools hand it, and its transcript is never pooled with another tenant's. |
There was a problem hiding this comment.
🟠 Medium · Actor state isolation does not bound an agent's data access
A Rivet Actor can make network requests, read process-level configuration, and call other actors, so its blast radius is not automatically limited to its own state. If a tool or credential is shared or insufficiently scoped, one compromised conversation can still read another tenant's data; BYOC only keeps that access inside the customer's perimeter. Qualify this claim and require tenant-scoped credentials, authorization on actor-to-actor/tool calls, and appropriate egress controls rather than presenting actor state isolation as a security boundary.
Each product bundle may ship content/guides/<slug>.mdx and a "guides" key in its sidebar.json, linked as /guides/<slug>. The Guides tab lists every bundle's groups in product order and merges groups with the same title, and guides keep resolving <CodeSnippet> paths against their own repo. - src/sitemap/guides.ts: GUIDE_BUNDLES and content-id helpers replace the Actors-only learn prefix and SITE_GUIDES. - guidesSidebar(): website Overview group, then merged bundle groups. - check-sitemap: sidebar and content agree per bundle, and a slug defined by two bundles fails the build. The route also throws on a duplicate. - The four website-owned guides moved to rivet-dev/rivet's Actors bundle. vendor/actors carries that change (rivet-dev/rivet#5853) so this PR is self-consistent. /actors/learn/* still redirects to /guides/*. Co-authored-by: Amp <amp@ampcode.com> Amp-Thread-ID: https://ampcode.com/threads/T-d43d6059-e31e-4220-91d1-5e00ec65c552
Each product bundle may ship content/guides/<slug>.mdx and a "guides" key in its sidebar.json, linked as /guides/<slug>. The Guides tab lists every bundle's groups in product order and merges groups with the same title, and guides keep resolving <CodeSnippet> paths against their own repo. - src/sitemap/guides.ts: GUIDE_BUNDLES and content-id helpers replace the Actors-only learn prefix and SITE_GUIDES. - guidesSidebar(): website Overview group, then merged bundle groups. - check-sitemap: sidebar and content agree per bundle, and a slug defined by two bundles fails the build. The route also throws on a duplicate. - The four website-owned guides moved to rivet-dev/rivet's Actors bundle. vendor/actors carries that change (rivet-dev/rivet#5853) so this PR is self-consistent. /actors/learn/* still redirects to /guides/*. Co-authored-by: Amp <amp@ampcode.com> Amp-Thread-ID: https://ampcode.com/threads/T-d43d6059-e31e-4220-91d1-5e00ec65c552
…131) Each product bundle may ship content/guides/<slug>.mdx and a "guides" key in its sidebar.json, linked as /guides/<slug>. The Guides tab lists every bundle's groups in product order and merges groups with the same title, and guides keep resolving <CodeSnippet> paths against their own repo. - src/sitemap/guides.ts: GUIDE_BUNDLES and content-id helpers replace the Actors-only learn prefix and SITE_GUIDES. - guidesSidebar(): website Overview group, then merged bundle groups. - check-sitemap: sidebar and content agree per bundle, and a slug defined by two bundles fails the build. The route also throws on a duplicate. - The four website-owned guides moved to rivet-dev/rivet's Actors bundle. vendor/actors carries that change (rivet-dev/rivet#5853) so this PR is self-consistent. /actors/learn/* still redirects to /guides/*. Amp-Thread-ID: https://ampcode.com/threads/T-d43d6059-e31e-4220-91d1-5e00ec65c552 Co-authored-by: Nathaneil Flurry <nathan@rivet.gg> Co-authored-by: Amp <amp@ampcode.com>
The Guides tab at rivet.dev/guides now merges guides from every product repo. Each repo keeps its guides next to the code they teach, so
<CodeSnippet>paths resolve against that repo'sexamples/.This PR moves the Actors bundle to the new convention:
docs/actors/content/learn/tocontent/guides/, and the sidebar keylearntoguides. Hrefs are now/guides/<slug>, where the pages render, so the website no longer rewrites them. The old/actors/learn/...URLs still redirect.docs/AGENTS.md: guides go incontent/guides/<slug>.mdx, slugs share one namespace across repos, and groups with the same title merge across repos.Merge order: merge rivet-dev/website#131 first. It already vendors this content. Then merge this PR; its docs-sync PR to the website should have no diff. Merging this PR first would break the website's Guides tab until the website PR lands.
Related: rivet-dev/website#131 (merged Guides tab) and rivet-dev/agents#348 (first Agents guide).