feat(persona-kit): drop traits + sandbox (Track D)#103
Draft
khaliqgant wants to merge 3 commits into
Draft
Conversation
Remove the persona-level `traits` and `sandbox` (workforce-orchestration) fields from PersonaSpec, along with their parser logic and exports. The parser now rejects either key with the v1 migration error pointing authors at deploy-v1.md. Codex-level `harnessSettings.sandboxMode` / `workspaceWriteNetworkAccess` / `dangerouslyBypassApprovalsAndSandbox` stay — they are the harness sandbox flag, separate from this concept. Add JSDoc on PersonaSpec / PersonaSchedule / PersonaIntegrationConfig framing them as the clock + radio listener parts of a persona's listener surface. Inbox (RelayCast targeted messages) is reserved for a later iteration. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…consumers - runtime: stop re-exporting PersonaTraits; trim WorkforceCtx.persona JSDoc. - deploy/sandbox launcher: drop reliance on `persona.sandbox.timeoutSeconds` for the runner exec envelope. Per-persona sandbox tuning was removed in v1; the sandbox-client default (~600s) applies. Harness-level timeouts continue to live on `harnessSettings.timeoutSeconds`. - examples/weekly-digest/persona.json: remove the `sandbox: true` block so the fixture parses post-Track-D (sandbox is on by default at deploy time). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…sandbox Section 3 (Persona JSON schema diff) now opens with the listeners narrative — clock (schedules), radio (integration triggers), inbox (reserved). The top-level additions table drops `sandbox` and `traits`. §3.4 is repurposed to "Sandbox (deploy-time, not persona-level)" calling out --no-sandbox as the opt-out, and §3.6 is replaced with a Traits (removed in v1) explainer pointing at the future persona-personality-builder tool. Bullet list / fixture-checklist references also stripped. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements Track D from the schema-cascade spec (
docs/plans/deploy-v1-schema-cascade-spec.md, §496–557). The previous cascade run mistakenly marked Track-D asMERGE_READY=1because its original target branch (refactor/persona-kit-schema-lockin) had no commits ahead ofmainand workforce#95 covered a different concept (tiersflatten, not traits/sandbox). This PR is the missing Track-D work.traitsfield +PersonaTraitstype +parseTraits/ re-exports.sandboxfield +PersonaSandbox/PersonaSandboxConfigtypes +parseSandbox/ re-exports. The codex-levelharnessSettings.sandboxMode,workspaceWriteNetworkAccess, anddangerouslyBypassApprovalsAndSandboxare untouched — those are the harness sandbox flag, separate from this concept.docs/plans/deploy-v1.md.PersonaSpec/PersonaSchedule/PersonaIntegrationConfigframing them as the clock + radio listener parts of a persona's listener surface (inbox reserved for later).sandbox: truefromexamples/weekly-digest/persona.json.docs/plans/deploy-v1.md§3 narrative — drop traits/sandbox rows from the additions table, repurpose §3.4 into "Sandbox (deploy-time, not persona-level)", and §3.6 into "Traits (removed in v1)".sandbox.timeoutSeconds(the sandbox-client default ~600s applies; harness-level timeouts continue to live onharnessSettings.timeoutSeconds).Acceptance bullets (spec §547)
traitsandsandboxtypes removed from persona-kittypes.tsandparse.ts.traitsandsandboxwith the spec-specified errors (covered by two new tests inparse.test.ts).proactive-agent-builder) parse without errors —personas-core lintis green.deploy-v1.md§3 narrative updated.emit-schema.mjsdoes not exist on this branch — flagged for workforce#94 to pick up on rebase, per spec step 4.corepack pnpm -r run build && corepack pnpm run typecheck && corepack pnpm -r run testall green (376 tests pass across 7 packages).Test plan
corepack pnpm -r run build— green.corepack pnpm run typecheck(incl.typecheck:examples) — green.corepack pnpm -r run test— 376/376 tests pass.corepack pnpm -r --filter @agentworkforce/personas-core run lint— 15 personas validate.parse.test.tscases assert the exact spec error wording fortraitsandsandboxrejection.Downstream
Unblocks the workforce sweep that was stalled on
Track-D=SKIPPED:--mode cloud.--inputflags.Each will need a rebase against this branch's main commit once it merges; expect mechanical conflicts in
packages/persona-kit/src/parse.ts/types.tsfor branches that touched the same blocks.🤖 Generated with Claude Code