docs(creating-cloud-persona): fix sandbox:false harness claim + wake-cost trap#79
Conversation
…cost trap The `sandbox: false` table wrongly said `ctx.harness.run()` "still works". Under the lightweight path the harness CLI credentials are NOT mounted (EMPTY_HARNESS_CLI_CREDENTIAL_MOUNT) and no CLAUDE_CODE_OAUTH_TOKEN / CODEX_OAUTH_CREDENTIAL env is set, so a real harness run can't authenticate. - Correct the harness.run row to "unusable" under sandbox:false; scope `sandbox: false` to ctx.llm.complete read-classify-reply agents (with useSubscription/credentialSelection so the credential rides in providerEnv). Harness agents (claude/codex/opencode) must keep sandbox: true. - Add a `ctx.llm.complete()` row clarifying it needs an explicit credential under sandbox:false. - Document the sandbox-per-message wake-cost trap: a channel-wide message.created trigger provisions a box per message; gate the wake with `match: '@mention'` / `where:`, or use ctx.llm + sandbox:false to skip the box. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Warning Review limit reached
More reviews will be available in 38 minutes and 5 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 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 configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 743f4da09a
ℹ️ 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".
| | `ctx.sandbox.exec()` | available | **rejects** (`SandboxNotAvailableError`) | | ||
| | `ctx.files.read/write` | available | unavailable — use VFS helpers (`readJsonFile`/`writeJsonFile`) against provider paths | | ||
| | `ctx.harness.run()` | available | **still works** | | ||
| | `ctx.harness.run()` | available | **unusable** — harness CLI credentials are NOT mounted (`EMPTY_HARNESS_CLI_CREDENTIAL_MOUNT`) and no `CLAUDE_CODE_OAUTH_TOKEN`/`CODEX_OAUTH_CREDENTIAL` env is set, so the claude/codex/opencode CLI cannot authenticate. The method exists but a real harness run fails (`deployment-trigger-delivery.ts`). | |
There was a problem hiding this comment.
Update vendored sandbox reference text
This correction still leaves the skill internally contradictory: the “First read” section presents references/workforce/packages/persona-kit/src/types.ts and schemas/persona.schema.json as the current source of truth, but both still document sandbox: false as allowing ctx.harness.run() to work. Agents following the required references can therefore preserve the old broken guidance this change is trying to remove; update the vendored type/schema text at the same time.
Useful? React with 👍 / 👎.
| | `ctx.harness.run()` | available | **still works** | | ||
| | `ctx.harness.run()` | available | **unusable** — harness CLI credentials are NOT mounted (`EMPTY_HARNESS_CLI_CREDENTIAL_MOUNT`) and no `CLAUDE_CODE_OAUTH_TOKEN`/`CODEX_OAUTH_CREDENTIAL` env is set, so the claude/codex/opencode CLI cannot authenticate. The method exists but a real harness run fails (`deployment-trigger-delivery.ts`). | | ||
| | Harness CLI credentials | mounted | not mounted | | ||
| | `ctx.llm.complete()` | available | available **only with an explicit credential** — set `useSubscription: true` (or a credentialSelection) so the credential rides in `providerEnv`; the harness-mount fallback that normally backs `ctx.llm` is gone under `sandbox: false` | |
There was a problem hiding this comment.
Remove unsupported credentialSelection alternative
The documented credentialSelection alternative is not present in the vendored current persona shape: PersonaSpec and the JSON schema expose useSubscription, and a repo-wide search only finds credentialSelection in this new text. If an author follows this option for a sandbox:false ctx.llm.complete() agent, the persona will not have a supported credential selector even though this section says one is required.
Useful? React with 👍 / 👎.
|
Markdown is well-formed: the table has a consistent 3-column structure (the header row's leading empty cell is intentional and matches the existing pre-PR design), and the blockquote is properly continued. No formatting, spelling, or lint issues found. This PR is documentation-only with no code, no build, no CI workflows, and no review/bot comments in the provided context. There is nothing mechanical to auto-fix and no breakage to trace. I made no edits. Review SummaryPR #79 — Scope: a single documentation file, What the change does:
Verification performed:
Addressed comments
Advisory Notes
No edits were made (nothing mechanical to fix); the working tree is unchanged. This is a clean documentation correction. I'm not printing READY because there are no open bot/reviewer comments requiring human judgment and I cannot verify CI status from this sandbox — final check status and merge state are reported by cloud post-harness. |
What
Two corrections to the
creating-cloud-personaskill, both verified against cloud source (deployment-trigger-delivery.ts,match.ts):sandbox: falsetable was wrong aboutctx.harness.run(). It said "still works" — but the lightweight path setsEMPTY_HARNESS_CLI_CREDENTIAL_MOUNT(no CLI creds) and noCLAUDE_CODE_OAUTH_TOKEN/CODEX_OAUTH_CREDENTIALenv, so a real harness run can't authenticate. Corrected to "unusable"; scopedsandbox: falsetoctx.llm.completeread-classify-reply agents (withuseSubscription/credentialSelection so the credential rides inproviderEnv); added actx.llm.complete()row. Harness (claude/codex/opencode) agents must keepsandbox: true.Documented the sandbox-per-message wake-cost trap. A channel-wide
message.createdtrigger provisions a Daytona box + runs the harness for every message, then self-filters — the handler's skip-guards run after provisioning. Gate the wake withmatch: '@mention'/where:(now enforced cloud-side — see AgentWorkforce/cloud#2411), or usectx.llm+sandbox: falseto skip the box entirely.Companion to AgentWorkforce/cloud#2411 (enforce
match/where), AgentWorkforce/agents#83, AgentWorkforce/watchdog-agents#19.🤖 Generated with Claude Code