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

  • Deletedpackages/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 notnpm 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

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

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 nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically summarizes the main change: deletion of the @agentworkforce/harness-kit package from the monorepo.
Description check✅ PassedThe PR description is comprehensive and directly related to the changeset, explaining the rationale, specific changes made, and verification steps performed.
Linked Issues check✅ PassedAll 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✅ PassedAll changes are in scope and directly related to issue #69 objectives: deleting harness-kit, removing references, and updating documentation accordingly.
Docstring Coverage✅ PassedDocstring 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.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

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

@devin-ai-integrationdevin-ai-integrationBot left a comment

Copy link
Copy Markdown
Contributor

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 mainMay 11, 2026
2 checks passed
@willwashburn
willwashburn deleted the claude/submit-github-pr-MFYNB branch May 11, 2026 03:16
Sign up for freeto 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

@willwashburn@claude
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
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

  • Deletedpackages/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 notnpm 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

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

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 nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically summarizes the main change: deletion of the @agentworkforce/harness-kit package from the monorepo.
Description check✅ PassedThe PR description is comprehensive and directly related to the changeset, explaining the rationale, specific changes made, and verification steps performed.
Linked Issues check✅ PassedAll 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✅ PassedAll changes are in scope and directly related to issue #69 objectives: deleting harness-kit, removing references, and updating documentation accordingly.
Docstring Coverage✅ PassedDocstring 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.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

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

@devin-ai-integrationdevin-ai-integrationBot left a comment

Copy link
Copy Markdown
Contributor

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 mainMay 11, 2026
2 checks passed
@willwashburn
willwashburn deleted the claude/submit-github-pr-MFYNB branch May 11, 2026 03:16
Sign up for freeto 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

@willwashburn@claude
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

  • Deletedpackages/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 notnpm 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

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

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 nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically summarizes the main change: deletion of the @agentworkforce/harness-kit package from the monorepo.
Description check✅ PassedThe PR description is comprehensive and directly related to the changeset, explaining the rationale, specific changes made, and verification steps performed.
Linked Issues check✅ PassedAll 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✅ PassedAll changes are in scope and directly related to issue #69 objectives: deleting harness-kit, removing references, and updating documentation accordingly.
Docstring Coverage✅ PassedDocstring 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.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

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

@devin-ai-integrationdevin-ai-integrationBot left a comment

Copy link
Copy Markdown
Contributor

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 mainMay 11, 2026
2 checks passed
@willwashburn
willwashburn deleted the claude/submit-github-pr-MFYNB branch May 11, 2026 03:16
Sign up for freeto 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

@willwashburn@claude
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

  • Deletedpackages/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 notnpm 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

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

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 nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically summarizes the main change: deletion of the @agentworkforce/harness-kit package from the monorepo.
Description check✅ PassedThe PR description is comprehensive and directly related to the changeset, explaining the rationale, specific changes made, and verification steps performed.
Linked Issues check✅ PassedAll 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✅ PassedAll changes are in scope and directly related to issue #69 objectives: deleting harness-kit, removing references, and updating documentation accordingly.
Docstring Coverage✅ PassedDocstring 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.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

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

@devin-ai-integrationdevin-ai-integrationBot left a comment

Copy link
Copy Markdown
Contributor

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 mainMay 11, 2026
2 checks passed
@willwashburn
willwashburn deleted the claude/submit-github-pr-MFYNB branch May 11, 2026 03:16
Sign up for freeto 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

@willwashburn@claude
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
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

  • Deletedpackages/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 notnpm 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

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

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 nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically summarizes the main change: deletion of the @agentworkforce/harness-kit package from the monorepo.
Description check✅ PassedThe PR description is comprehensive and directly related to the changeset, explaining the rationale, specific changes made, and verification steps performed.
Linked Issues check✅ PassedAll 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✅ PassedAll changes are in scope and directly related to issue #69 objectives: deleting harness-kit, removing references, and updating documentation accordingly.
Docstring Coverage✅ PassedDocstring 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.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

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

@devin-ai-integrationdevin-ai-integrationBot left a comment

Copy link
Copy Markdown
Contributor

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 mainMay 11, 2026
2 checks passed
@willwashburn
willwashburn deleted the claude/submit-github-pr-MFYNB branch May 11, 2026 03:16
Sign up for freeto 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

@willwashburn@claude
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

  • Deletedpackages/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 notnpm 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

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

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 nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically summarizes the main change: deletion of the @agentworkforce/harness-kit package from the monorepo.
Description check✅ PassedThe PR description is comprehensive and directly related to the changeset, explaining the rationale, specific changes made, and verification steps performed.
Linked Issues check✅ PassedAll 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✅ PassedAll changes are in scope and directly related to issue #69 objectives: deleting harness-kit, removing references, and updating documentation accordingly.
Docstring Coverage✅ PassedDocstring 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.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

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

@devin-ai-integrationdevin-ai-integrationBot left a comment

Copy link
Copy Markdown
Contributor

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 mainMay 11, 2026
2 checks passed
@willwashburn
willwashburn deleted the claude/submit-github-pr-MFYNB branch May 11, 2026 03:16
Sign up for freeto 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

@willwashburn@claude
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
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

  • Deletedpackages/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 notnpm 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

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

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 nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically summarizes the main change: deletion of the @agentworkforce/harness-kit package from the monorepo.
Description check✅ PassedThe PR description is comprehensive and directly related to the changeset, explaining the rationale, specific changes made, and verification steps performed.
Linked Issues check✅ PassedAll 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✅ PassedAll changes are in scope and directly related to issue #69 objectives: deleting harness-kit, removing references, and updating documentation accordingly.
Docstring Coverage✅ PassedDocstring 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.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

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

@devin-ai-integrationdevin-ai-integrationBot left a comment

Copy link
Copy Markdown
Contributor

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 mainMay 11, 2026
2 checks passed
@willwashburn
willwashburn deleted the claude/submit-github-pr-MFYNB branch May 11, 2026 03:16
Sign up for freeto 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

@willwashburn@claude
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
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

  • Deletedpackages/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 notnpm 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

coderabbitaiBot commented May 11, 2026

Copy link
Copy Markdown
Contributor

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 nameStatusExplanation
Title check✅ PassedThe PR title clearly and specifically summarizes the main change: deletion of the @agentworkforce/harness-kit package from the monorepo.
Description check✅ PassedThe PR description is comprehensive and directly related to the changeset, explaining the rationale, specific changes made, and verification steps performed.
Linked Issues check✅ PassedAll 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✅ PassedAll changes are in scope and directly related to issue #69 objectives: deleting harness-kit, removing references, and updating documentation accordingly.
Docstring Coverage✅ PassedDocstring 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.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

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

@devin-ai-integrationdevin-ai-integrationBot left a comment

Copy link
Copy Markdown
Contributor

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 mainMay 11, 2026
2 checks passed
@willwashburn
willwashburn deleted the claude/submit-github-pr-MFYNB branch May 11, 2026 03:16
Sign up for freeto 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

@willwashburn@claude