Skip to content

persona-kit 6/8: delete @agentworkforce/harness-kit from monorepo#80

Merged
willwashburn merged 2 commits into
mainfrom
claude/submit-github-pr-MFYNB
May 11, 2026
Merged

persona-kit 6/8: delete @agentworkforce/harness-kit from monorepo#80
willwashburn merged 2 commits into
mainfrom
claude/submit-github-pr-MFYNB

Conversation

@willwashburn
Copy link
Copy Markdown
Member

Closes #69.

Summary

@agentworkforce/harness-kit has been a pure re-export shim over @agentworkforce/persona-kit since #65, the CLI no longer imports it (#67), and workload-router does not depend on it (#68). This PR deletes the package from the monorepo and cleans up residual references.

Changes

  • Deleted packages/harness-kit/ (entire directory: source, README, CHANGELOG, package.json, tsconfig).
  • Workspace: pnpm-workspace.yaml uses the packages/* glob so no explicit deregistration is needed; the lockfile has been refreshed via pnpm install.
  • Publish pipeline:
    • .github/workflows/publish.yml: dropped harness-kit from the publish order (persona-kit → workload-router → cli → agentworkforce) and from the release-notes ordering array.
    • .github/workflows/verify-publish.yml: dropped @agentworkforce/harness-kit from the package choices.
  • Docs: root README.md now points at packages/persona-kit instead of harness-kit in the package list, dev-loop instructions, and per-package dev guidance. packages/workload-router/README.md references persona-kit where it previously referenced harness-kit.
  • Stale comments: minor comment cleanups in packages/cli/src/cli.ts and packages/persona-kit/src/interactive-spec.ts so the bare directory name no longer survives in code comments.

The npm package stays installable for pinned consumers; npm deprecate @agentworkforce/harness-kit ... should be run out of band (it requires publish credentials and is intentionally not part of this PR).

Verification

  • pnpm install refreshes the lockfile (no remaining harness-kit entry).
  • pnpm -r build
  • pnpm -r test ✓ (persona-kit, workload-router, cli, agentworkforce all green).
  • grep '@agentworkforce/harness-kit' across the repo (excluding lockfile + node_modules + trajectories) → 0 hits.
  • grep 'harness-kit' outside node_modules, pnpm-lock.yaml, and historical CHANGELOGs → 0 hits.

Test plan

  • CI passes on this PR.
  • After merge, run npm deprecate @agentworkforce/harness-kit "Replaced by @agentworkforce/persona-kit. See https://github.com/AgentWorkforce/workforce/issues/64" from a machine with publish rights (do not npm unpublish).

Generated by Claude Code

harness-kit has been a pure re-export shim over @agentworkforce/persona-kit
since #65; the CLI no longer imports it (#67) and workload-router does not
depend on it (#68). Remove the package directory and clean up residual
references in workflows, READMEs, and inline comments. The npm package
stays installable for pinned consumers; deprecation should be set out of
band via `npm deprecate` per the issue.

Closes #69
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 11, 2026

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6af8a5c3-c393-4a4f-9d1d-f0d0aa2af395

📥 Commits

Reviewing files that changed from the base of the PR and between 451a530 and 663da49.

📒 Files selected for processing (1)
  • .github/workflows/publish.yml
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/publish.yml

📝 Walkthrough

Walkthrough

This PR removes the @agentworkforce/harness-kit package (sources, tests, manifest, docs) and updates CI workflows, root/package READMEs, and inline comments to reference persona-kit instead.

Changes

Harness-kit Package Removal

Layer / File(s) Summary
Package Manifest & Config
packages/harness-kit/package.json, packages/harness-kit/tsconfig.json
Package manifest and tsconfig for @agentworkforce/harness-kit are deleted, removing entry points, exports, and TypeScript project settings.
Core Implementation
packages/harness-kit/src/index.ts, packages/harness-kit/src/runner.ts
Re-export shim and runner implementation are deleted, removing harness execution orchestration and exported runner types/functions.
Test Coverage
packages/harness-kit/src/runner.test.ts
Test suite removed, deleting coverage for buildNonInteractiveSpec, useRunnableSelection behavior, timeouts, cancellation, and config-file materialization tests.
Changelog & Documentation
packages/harness-kit/CHANGELOG.md, packages/harness-kit/README.md
CHANGELOG and README content removed, including version history and API documentation.
Workflow Config
.github/workflows/publish.yml, .github/workflows/verify-publish.yml
Publish workflow removes harness-kit from resolved target packages and release-notes packageOrder; verify-publish removes @agentworkforce/harness-kit from dispatch choices.
Repository & Package Docs
README.md, packages/workload-router/README.md
Root README replaces harness-kit with persona-kit in Packages/Developing sections; workload-router README clarifies persona-kit maps certain harnessSettings to Codex flags.
Code Comments
packages/cli/src/cli.ts, packages/persona-kit/src/interactive-spec.ts
Inline comments adjusted: stripAgentFlag behavior, dry-run reference to persona-kit translation, persona-improver timeout/SIGKILL note, and opencode PersonaPermissions comment.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related issues

Possibly related PRs

Poem

🐰
I hopped through code to clear the stack,
harness-kit tucked away in my pack,
persona-kit now leads the run,
fewer exports, lighter fun,
a clean repo — carrot snack!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The PR title clearly and specifically summarizes the main change: deletion of the @agentworkforce/harness-kit package from the monorepo.
Description check ✅ Passed The PR description is comprehensive and directly related to the changeset, explaining the rationale, specific changes made, and verification steps performed.
Linked Issues check ✅ Passed All coding-related requirements from issue #69 are met: harness-kit directory deleted, workspace registration cleaned up, all residual references removed, and lockfile refreshed.
Out of Scope Changes check ✅ Passed All changes are in scope and directly related to issue #69 objectives: deleting harness-kit, removing references, and updating documentation accordingly.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/submit-github-pr-MFYNB

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.github/workflows/publish.yml (1)

692-697: ⚡ Quick win

Make persona-kit explicit in release-note sort order.

packageOrder omits persona-kit, so it sorts via indexOf() === -1 side effects. Adding it explicitly makes ordering deterministic and easier to maintain.

Proposed change
-          const packageOrder = ['workload-router', 'cli', 'agentworkforce'];
+          const packageOrder = ['persona-kit', 'workload-router', 'cli', 'agentworkforce'];
🤖 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 @.github/workflows/publish.yml around lines 692 - 697, The release-note
sorting uses packageOrder to determine order but omits "persona-kit", causing
packageOrder.indexOf(...) to return -1 and produce nondeterministic sort order;
update the packageOrder array (the constant named packageOrder used where
entries is sorted) to include "persona-kit" in the desired position so the sort
callback (packageOrder.indexOf(a.pkg) - packageOrder.indexOf(b.pkg)) yields
deterministic ordering for persona-kit.
🤖 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.

Nitpick comments:
In @.github/workflows/publish.yml:
- Around line 692-697: The release-note sorting uses packageOrder to determine
order but omits "persona-kit", causing packageOrder.indexOf(...) to return -1
and produce nondeterministic sort order; update the packageOrder array (the
constant named packageOrder used where entries is sorted) to include
"persona-kit" in the desired position so the sort callback
(packageOrder.indexOf(a.pkg) - packageOrder.indexOf(b.pkg)) yields deterministic
ordering for persona-kit.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 12873ce1-3b32-432b-9a98-332cc1608725

📥 Commits

Reviewing files that changed from the base of the PR and between 02d4a32 and 451a530.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (13)
  • .github/workflows/publish.yml
  • .github/workflows/verify-publish.yml
  • README.md
  • packages/cli/src/cli.ts
  • packages/harness-kit/CHANGELOG.md
  • packages/harness-kit/README.md
  • packages/harness-kit/package.json
  • packages/harness-kit/src/index.ts
  • packages/harness-kit/src/runner.test.ts
  • packages/harness-kit/src/runner.ts
  • packages/harness-kit/tsconfig.json
  • packages/persona-kit/src/interactive-spec.ts
  • packages/workload-router/README.md
💤 Files with no reviewable changes (8)
  • .github/workflows/verify-publish.yml
  • packages/harness-kit/tsconfig.json
  • packages/harness-kit/README.md
  • packages/harness-kit/package.json
  • packages/harness-kit/src/runner.ts
  • packages/harness-kit/src/index.ts
  • packages/harness-kit/CHANGELOG.md
  • packages/harness-kit/src/runner.test.ts

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 3 additional findings.

Open in Devin Review

The array drove release-note sorting via packageOrder.indexOf(); leaving
persona-kit out relied on the -1 fallback to sort it first. Spell it out
so the order is explicit and stable.
@willwashburn willwashburn merged commit 81ea6d7 into main May 11, 2026
2 checks passed
@willwashburn willwashburn deleted the claude/submit-github-pr-MFYNB branch May 11, 2026 03:16
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.

[persona-kit 6/8] Delete @agentworkforce/harness-kit from monorepo

2 participants