Shrink workload-router: drop persona-domain re-exports (1.0.0)#79
Shrink workload-router: drop persona-domain re-exports (1.0.0)#79willwashburn merged 2 commits intomainfrom
Conversation
Removes all persona-shape constants, types, and functions that were previously forwarded from @agentworkforce/persona-kit through @agentworkforce/workload-router. Consumers (workforce CLI, harness-kit, and the workload-router test suite itself) now import those symbols directly from persona-kit. After this change, workload-router's public surface is routing-only: RoutingProfile/RoutingProfileRule/RoutingProfileId, personaCatalog, listBuiltInPersonas, routingProfiles, resolvePersona, resolvePersonaByTier, usePersona, useSelection, and the evidence / owner-decision exports from ./eval. Breaking change for any external consumer that imported persona-domain symbols from @agentworkforce/workload-router; no back-compat shim. Version bumped 0.19.0 -> 1.0.0. Closes #68
|
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughThis PR removes persona-domain re-exports from ChangesPersona-Kit Consolidation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
The openclaw-routing example was still pulling PersonaIntent through workload-router, which broke the examples typecheck after the persona-domain re-exports were dropped.
Closes #68 (persona-kit 5/8).
Summary
Deletes every persona-shape symbol that
@agentworkforce/workload-routerwas re-exporting from@agentworkforce/persona-kit. After this PR, workload-router only owns routing-domain code; persona constants, types, parsing, and skill materialization live exclusively in persona-kit.What changed
packages/workload-router/src/index.tsexport { ... } from '@agentworkforce/persona-kit'andexport type { ... } from '@agentworkforce/persona-kit'blocks that forwarded:HARNESS_VALUES,PERSONA_TIERS,PERSONA_TAGS,SIDECAR_MD_MODES,PERMISSION_MODES,CODEX_SANDBOX_MODES,CODEX_APPROVAL_POLICIES,SKILL_SOURCE_KINDS,HARNESS_SKILL_TARGETS,BUILT_IN_PERSONA_INTENTS,PERSONA_INTENTS.Harness,PersonaTier,PersonaTag,HarnessSettings,PersonaRuntime,PersonaSkill,PersonaInputSpec,PersonaPermissions,PersonaMount,McpServerSpec,PersonaSpec,HarnessSkillTarget,SkillMaterializationOptions,SkillInstall,SkillMaterializationPlan,PersonaInstallContext,PersonaContext,SidecarMdMode,CodexSandboxMode,CodexApprovalPolicy,PermissionMode,PersonaIntent,PersonaSelection,SkillSourceKind.materializeSkills,materializeSkillsFor,parseSkills,parsePersonaSpec,buildInstallArtifacts,resolveSkillSource,resolveSidecar.What stays in workload-router:
RoutingProfile,RoutingProfileRule,RoutingProfileId,personaCatalog,listBuiltInPersonas,routingProfiles,resolvePersona,resolvePersonaByTier,usePersona,useSelection, and./eval(evidence/owner-decision types).Consumers updated to import persona-domain symbols directly from
@agentworkforce/persona-kit:packages/cli/src/launch-metadata.tsandlaunch-metadata.test.tspackages/cli/src/local-personas.test.tspackages/harness-kit/src/runner.tsandrunner.test.tspackages/workload-router/src/eval.ts(internalPersonaIntent/PersonaTierimport)packages/workload-router/src/index.test.tsVersion + changelog
packages/workload-router/package.json:0.19.0→1.0.0(breaking — no back-compat shim).1.0.0entry topackages/workload-router/CHANGELOG.mddocumenting the dropped surface.Minor
{@link import('@agentworkforce/workload-router').SkillMaterializationOptions...}JSDoc reference inside persona-kit with a local link.Verification
pnpm -r build— all workspaces build clean.pnpm -r test— 252/252 tests pass across persona-kit, workload-router, harness-kit, cli, and agentworkforce.grep -rEn "from '@agentworkforce/workload-router'" packages/cli packages/persona-kit packages/harness-kit packages/agentworkforce— onlylistBuiltInPersonas,personaCatalog,routingProfiles,usePersona,useSelection,RoutingProfile,RoutingProfileId, andresolvePersonaremain. No persona-domain symbols.Notes
@agentworkforce/workload-router@^0.11.0; per the issue, that migration is relay-side and is intentionally untouched here.packages/workload-router/src/generated/personas.tsand its build script are unchanged — the catalog stays.Test plan
pnpm -r buildpnpm -r testagentworkforcesmoke test (claude/codex/opencode harnesses) — to be exercised post-merge per release flowhttps://claude.ai/code/session_01KNNaWc1Mztn36DqDAxPfXv
Generated by Claude Code