Skip to content

This release includes 6 breaking changes for platform teams planning a safe upgrade.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai ai-agents ai-memory anthropic artificial-intelligence claude
+12 more
claude-agent-sdk claude-agents claude-code-plugin claude-skills codex embeddings long-term-memory memory-engine openclaw openclaw-skills postgresql llm

Affected surfaces

breaking_upgrade

ReleasePort's take

Light signal
editorial:auto 9d

The `hivemind tasks` CLI command has been removed along with its associated code surfaces.

Why it matters: Removal of the `hivemind tasks` CLI breaks any workflows or scripts that depend on it; update affected automation before upgrading.

Summary

AI summary

Broad release touches Test plan, Summary by CodeRabbit, Summary, and Breaking changes.

Changes in this release

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

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

Full changelog

Summary

  • Remove the hivemind tasks CLI + hivemind_tasks / hivemind_task_events table-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/Edit tool calls targeting ~/.deeplake/memory/ failed with a cryptic Path must be a string, received undefined because 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 is hivemind goal ... for runtimes that need the CLI fallback, or the hivemind-goals skill for VFS-routing runtimes.
  • HIVEMIND_TASKS_TABLE, HIVEMIND_TASK_EVENTS_TABLE, HIVEMIND_KPI_MODEL, HIVEMIND_KPI_LLM env vars are no longer read. Existing values in shell rc files are harmless but inert.
  • Existing rows in the hivemind_tasks / hivemind_task_events tables (if any) are left in place on Deeplake — the schema simply isn't touched anymore. There is no migration to back-port their content to hivemind_goals.

Test plan

  • [x] npm run bundle succeeds (dist/ rebuilt fresh: zero stale cmd === "tasks" / HIVEMIND TASKS references across bundle/cli.js, claude-code/bundle/, codex/bundle/, cursor/bundle/, hermes/bundle/, openclaw/dist/)
  • [x] npx tsc --noEmit — no new errors. Only the two pre-existing tree-sitter / @anthropic-ai/sdk optional-dep errors remain (identical to origin/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-code against the test_plugin/default org:
    • 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 Write tool), file lands in hivemind_goals
    • Goal creation via task phrasing ("crea un task X") — same skill activates, same hivemind_goals row written (proves the task→goal alias)
    • Write on a memory path — direct bundle invocation returns permissionDecision: "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)
  • [x] Two codex review passes against origin/main. First pass flagged the stale bundle artifacts on disk (resolved by a clean dist + bundle rebuild — bundles regenerate in CI / on npm prepack anyway). Second pass flagged the strict-equality owner match regression (fixed in 65236b1).

Codex review history

  • Pass 1 (after steps 1+2): [P1] "rebuild shipped bundles after removing the tasks surface" — bundle artifacts on disk were stale because npm run bundle reads from dist/ (not source) and dist/ was populated by an older partial build. Fixed by rm -rf dist && npx tsc && npm run bundle. Bundles are .gitignored in this repo (caf46b8 chore: untrack bundles), so the actual ship path goes through npm prepack / CI re-build.
  • Pass 2 (after steps 3+4): [P1] "match goal owners robustly in SessionStart queries" — listOpenGoals used strict equality; the codebase already tolerates short userName and full-email forms elsewhere. Fixed by 65236b1 (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 tasks CLI operations integrate into the goals workflow.
    • Rules and goals are presented separately in context blocks for improved clarity.
  • 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 ...` CLI commands are removed; use `hivemind goal ...` or the goals skill instead.
  • Environment variables `HIVEMIND_TASKS_TABLE`, `HIVEMIND_TASK_EVENTS_TABLE`, `HIVEMIND_KPI_MODEL`, and `HIVEMIND_KPI_LLM` are no longer read.
  • `src/tasks/` directory, its handlers, and all related code paths have been deleted.
  • `src/events/` task‑event handling files (`append.ts`, `aggregate.ts`, `index.ts`) removed.
  • Schema definitions `TASKS_COLUMNS` and `TASK_EVENTS_COLUMNS` in `src/deeplake-schema.ts` removed.
  • Config fields `Config.tasksTableName` and `Config.taskEventsTableName` eliminated.

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 free

About Hivemind turns agent traces into skills and shares with your team

All releases →

Related context

Earlier breaking changes

  • v0.7.52 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]