This release includes 3 breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+12 more
Affected surfaces
ReleasePort's take
Light signalThe release removes the `hivemind tasks` CLI command and its associated code surfaces.
Why it matters: If you use the `hivemind tasks` CLI, update your workflows immediately; the command is fully removed in v0.7.52.
Summary
AI summaryBroad release touches Test plan, Summary by CodeRabbit, Summary, and Breaking changes.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | Medium |
Removes `hivemind tasks` CLI and related code surfaces. Removes `hivemind tasks` CLI and related code surfaces. Source: llm_adapter@2026-05-25 Confidence: low |
— |
| Feature | Medium |
Injects open goals into SessionStart context block for agents with hooks (claude-code, cursor, hermes). Injects open goals into SessionStart context block for agents with hooks (claude-code, cursor, hermes). Source: llm_adapter@2026-05-25 Confidence: high |
— |
| Feature | Medium |
Broadens skill triggers to map task/todo phrasing to goals across all agents. Broadens skill triggers to map task/todo phrasing to goals across all agents. Source: llm_adapter@2026-05-25 Confidence: high |
— |
| Feature | Medium |
Adds a new "=== HIVEMIND GOALS ===" section in context rendering showing open goals with deduplication logic. Adds a new "=== HIVEMIND GOALS ===" section in context rendering showing open goals with deduplication logic. Source: granite4.1:30b@2026-05-25-audit Confidence: low |
— |
| Bugfix | Medium |
Denies `Write`/`Edit` tool calls on memory paths with clear Bash guidance. Denies `Write`/`Edit` tool calls on memory paths with clear Bash guidance. Source: llm_adapter@2026-05-25 Confidence: high |
— |
| Bugfix | Medium |
Relaxes goal owner matching to include both short userName and full‑email forms. Relaxes goal owner matching to include both short userName and full‑email forms. Source: llm_adapter@2026-05-25 Confidence: high |
— |
| Refactor | Low |
Restricts allowed tools in claude-code skill to `Read Bash` and rewrites write instructions using Bash heredoc. Restricts allowed tools in claude-code skill to `Read Bash` and rewrites write instructions using Bash heredoc. Source: granite4.1:30b@2026-05-25-audit Confidence: low |
— |
Full changelog
Summary
- Remove the
hivemind tasksCLI +hivemind_tasks/hivemind_task_eventstable-creation code in favour of the VFS-backed goals system that already existed in parallel. End-state for users: one canonical "team work item" primitive (goals), addressable as either "goal" or "task" by the model. - Fix two latent bugs the unification surfaced: (1)
Write/Edittool calls targeting~/.deeplake/memory/failed with a crypticPath must be a string, received undefinedbecause the pre-tool-use hook returned a Bash-shaped decision for a non-Bash tool; (2) goal owner matching in the new SessionStart inject used strict equality and silently missed historical rows whose owner column held the email form instead of the short userName. - Surface open goals in the SessionStart context block for every agent that has a SessionStart hook (claude-code, cursor, hermes — codex deliberately excluded to keep its user-visible TUI clean).
What's removed
| Surface | Notes |
|---|---|
| hivemind tasks CLI (add / list / done / assign / progress / report / edit) | All subcommands gone. The codebase no longer dispatches on cmd === "tasks". |
| src/tasks/ directory | index.ts, read.ts, write.ts, kpi-generator.ts, kpi-validator.ts |
| src/events/ directory | append.ts, aggregate.ts, index.ts — entirely task-driven |
| src/hooks/auto-extract.ts + auto-extract-patterns.ts | gh pr merge auto-extracted task progress events |
| DeeplakeApi.ensureTasksTable + ensureTaskEventsTable | No code path creates these tables anymore (not even lazily) |
| TASKS_COLUMNS + TASK_EVENTS_COLUMNS from src/deeplake-schema.ts | Schema definitions removed |
| Config.tasksTableName + Config.taskEventsTableName | Config fields gone |
| HIVEMIND_TASKS_TABLE + HIVEMIND_TASK_EVENTS_TABLE env vars | Removed (no consumer left) |
| HIVEMIND_KPI_MODEL + HIVEMIND_KPI_LLM env vars | Only kpi-generator consumed them |
| Test suites: tests/shared/tasks.test.ts, events.test.ts, auto-extract.test.ts, auto-extract-orchestrator.test.ts, kpi-generator.test.ts, tests/claude-code/cli-tasks.test.ts, tests/evals/kpi-generation.eval.ts | Removed alongside the code they covered |
| docs/RULES_TASKS_KPIS.md | Replaced by an updated README section pointing at goals |
What's added / changed
| Surface | Notes |
|---|---|
| pre-tool-use.ts (claude-code) | Write and Edit on memory paths now return permissionDecision: "deny" with a clear "use Bash heredoc instead" reason. Closes the "Path must be a string" failure mode. |
| claude-code/skills/hivemind-goals/SKILL.md | allowed-tools reduced to Read Bash. All write instructions rewritten to use cat > <path> <<EOF so the deny path is never triggered in the happy flow. |
| All four hivemind-goals skill variants (claude-code, codex, hermes, openclaw) | Description broadened to accept task / todo / work item / remind me to / fix X triggers so the agent maps "create a task" to the goals system rather than falling back to the harness's local TaskCreate tool. |
| src/hooks/shared/context-renderer.ts | New === HIVEMIND GOALS === section. New listOpenGoals helper with MAX(version) sub-select for CLI-vs-VFS dedup, owner matched via LIKE '%<sqlLike(user)>%' + bi-directional substring guard (mirrors the pattern already in notifications/sources/open-goals.ts). |
| src/commands/context.ts, three SessionStart hooks (claude-code / cursor / hermes) | Pass the new goalsTable field through; empty-state diagnostic updated to "no active rules or open goals". |
| src/hooks/shared/goals-instructions.ts | Inject text in both VFS and CLI variants spells out that goal and task are the same Hivemind row. |
Cross-agent surface
| Agent | Goal creation | SessionStart goal inject | User-visible banner? |
|---|---|---|---|
| claude-code | Path A: Bash heredoc via VFS | yes (new) | yes — pre-existing session-notifications hook + primary-banner.ts |
| codex | Path A: Bash heredoc via VFS | no, by design (TUI would be clobbered — additionalContext is user-visible in codex) | no (intentional) |
| cursor | Path B: hivemind goal add CLI | yes (new) | no — cursor hook protocol has no user-visible field |
| hermes | Path B: hivemind goal add CLI | yes (new) | no — hermes hook protocol has no user-visible field |
| pi | Path B: hivemind goal add CLI | n/a (no SessionStart hook) — uses hivemind context on demand | no |
| openclaw | Path C: hivemind_goal_add registered tool | n/a (extension model, no SessionStart hook) | no |
Breaking changes
hivemind tasks ...is no longer a valid command. The CLI exits with the standard "Unknown command" warning. The replacement ishivemind goal ...for runtimes that need the CLI fallback, or thehivemind-goalsskill for VFS-routing runtimes.HIVEMIND_TASKS_TABLE,HIVEMIND_TASK_EVENTS_TABLE,HIVEMIND_KPI_MODEL,HIVEMIND_KPI_LLMenv vars are no longer read. Existing values in shell rc files are harmless but inert.- Existing rows in the
hivemind_tasks/hivemind_task_eventstables (if any) are left in place on Deeplake — the schema simply isn't touched anymore. There is no migration to back-port their content tohivemind_goals.
Test plan
- [x]
npm run bundlesucceeds (dist/rebuilt fresh: zero stalecmd === "tasks"/HIVEMIND TASKSreferences acrossbundle/cli.js,claude-code/bundle/,codex/bundle/,cursor/bundle/,hermes/bundle/,openclaw/dist/) - [x]
npx tsc --noEmit— no new errors. Only the two pre-existingtree-sitter/@anthropic-ai/sdkoptional-dep errors remain (identical toorigin/main) - [x] Unit tests: 149/149 across affected suites pass (context-renderer, cli-context, pre-tool-use, three SessionStart hook variants, deeplake-schema, deeplake-api, config)
- [x] Pre-existing failing tests (graph + cli-index, all tree-sitter dependent) identical to
origin/main— not introduced or regressed by this PR - [x] End-to-end with
claude --plugin-dir ./claude-codeagainst thetest_plugin/defaultorg:- SessionStart inject contains
=== HIVEMIND GOALS ===with the test goals — verified by asking the model to enumerate them - Goal creation via skill ("create a goal X") — agent uses Bash heredoc (not
Writetool), file lands inhivemind_goals - Goal creation via task phrasing ("crea un task X") — same skill activates, same
hivemind_goalsrow written (proves the task→goal alias) Writeon a memory path — direct bundle invocation returnspermissionDecision: "deny"with the Bash retry message- Cross-form owner matching — INSERTed a row with email-form owner (
[email protected]), creds carry short form (emanuele.fenocchi), SessionStart correctly surfaces all three test goals (short / short / email)
- SessionStart inject contains
- [x] Two
codex reviewpasses againstorigin/main. First pass flagged the stale bundle artifacts on disk (resolved by a cleandist+ bundle rebuild — bundles regenerate in CI / onnpm prepackanyway). Second pass flagged the strict-equality owner match regression (fixed in65236b1).
Codex review history
- Pass 1 (after steps 1+2):
[P1]"rebuild shipped bundles after removing the tasks surface" — bundle artifacts on disk were stale becausenpm run bundlereads fromdist/(not source) anddist/was populated by an older partial build. Fixed byrm -rf dist && npx tsc && npm run bundle. Bundles are.gitignored in this repo (caf46b8 chore: untrack bundles), so the actual ship path goes throughnpm prepack/ CI re-build. - Pass 2 (after steps 3+4):
[P1]"match goal owners robustly in SessionStart queries" —listOpenGoalsused strict equality; the codebase already tolerates short userName and full-email forms elsewhere. Fixed by65236b1(LIKE substring + bi-directional JS guard).
Commits (6)
05ce0d7 feat: broaden skill triggers so task/todo phrasing maps to goal
65236b1 fix: match both short userName and full-email owners in listOpenGoals
4648dab chore: scrub remaining "hivemind tasks" references after tasks removal
e351dfb feat: inject open goals into SessionStart context block
e2bf295 refactor: remove hivemind tasks CLI + task-events table-creation code
7cdd12c fix(claude-code): deny Write/Edit on memory paths with Bash guidance
Net: 38 files changed, +707 / -1620 (mostly tasks removal). Bundles untouched (gitignored).
Summary by CodeRabbit
-
New Features
- Goals system now consolidates task and goal management;
hivemind tasksCLI operations integrate into the goals workflow. - Rules and goals are presented separately in context blocks for improved clarity.
- Goals system now consolidates task and goal management;
-
Documentation
- Updated guidance to clarify goals system covers tasks, todos, and work items.
- Separated rules documentation from goals/KPIs content.
-
Bug Fixes
- Enhanced permission controls for memory path file operations.
Breaking Changes
- `hivemind tasks ...` is no longer a valid command; use `hivemind goal ...` or the `hivemind-goals` skill instead.
- Env vars `HIVEMIND_TASKS_TABLE`, `HIVEMIND_TASK_EVENTS_TABLE`, `HIVEMIND_KPI_MODEL`, and `HIVEMIND_KPI_LLM` are no longer read.
- `hivemind_tasks` and `hivemind_task_events` tables are removed from the schema; existing rows remain but are unsupported.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Track Hivemind turns agent traces into skills and shares with your team
Get notified when new releases ship.
Sign up freeAbout Hivemind turns agent traces into skills and shares with your team
All releases →Related context
Related tools
Earlier breaking changes
- v0.7.51 Removes `hivemind tasks` CLI and related code surfaces.
- v0.7.19 Module name skilify replaced with skillify; affects all imports
- v0.7.19 CLI command skilify removed; renamed to skillify without deprecation alias
- v0.7.18 CLI subcommand renamed from `skilify` to `skillify`; no deprecation alias.
Beta — feedback welcome: [email protected]