This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+12 more
ReleasePort's take
Light signalRelease v0.7.44 adds an optional `insight` field to `LocalManifestEntry` and introduces a new accessor `getLatestInsightEntry`. It also implements a pure renderer for banner display and refines the `mine-local` gate prompt.
Why it matters: New schema fields, rendering functions, and workflow prompts enable richer insight tracking with no breaking changes; all features land in version v0.7.44.
Summary
AI summaryUpdates Summary, Test plan, and Summary by CodeRabbit across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds optional `insight` field to `LocalManifestEntry` and accessor `getLatestInsightEntry`. Adds optional `insight` field to `LocalManifestEntry` and accessor `getLatestInsightEntry`. Source: llm_adapter@2026-05-22 Confidence: high |
— |
| Feature | Medium |
Introduces pure renderer `renderLocalMinedNote` for both insight and legacy count banner branches. Introduces pure renderer `renderLocalMinedNote` for both insight and legacy count banner branches. Source: llm_adapter@2026-05-22 Confidence: high |
— |
| Feature | Medium |
Updates `mine-local` gate prompt to request a concrete, quantified second‑person insight per minted skill. Updates `mine-local` gate prompt to request a concrete, quantified second‑person insight per minted skill. Source: llm_adapter@2026-05-22 Confidence: high |
— |
| Feature | Medium |
Enhances `parseMultiVerdict` to trim, collapse empty/whitespace values, and ignore non‑string outputs defensively. Enhances `parseMultiVerdict` to trim, collapse empty/whitespace values, and ignore non‑string outputs defensively. Source: llm_adapter@2026-05-22 Confidence: high |
— |
| Feature | Medium |
Adds comprehensive tests for insight parsing, manifest handling, banner rendering, and end‑to‑end smoke scenarios. Adds comprehensive tests for insight parsing, manifest handling, banner rendering, and end‑to‑end smoke scenarios. Source: llm_adapter@2026-05-22 Confidence: low |
— |
| Feature | Medium |
Introduces `getLatestInsightEntry` accessor to retrieve most recent insight entry by creation time. Introduces `getLatestInsightEntry` accessor to retrieve most recent insight entry by creation time. Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
Full changelog
Summary
- Surface a quantified user-facing insight from
mine-localinstead of the generic "N local skills" count at the unauthenticated SessionStart banner. Replaces "3 local skills from past mining runs live in ~/.claude/skills/" with "Hivemind found a pattern in your past sessions: You revisited 4 merged PRs in the last month… Minted skillverify-before-doneto catch it next time." - Driven by the install→signup drop-off problem (Slack thread 2026-05-20): users currently see no concrete value before being asked to authenticate. This is the first user-visible iteration; install-time value-show comes in a follow-up PR.
- Backward-compatible — legacy manifests and entries the gate didn't emit an insight for fall back to the existing count surface.
Changes
LocalManifestEntrygains optionalinsight: string; newgetLatestInsightEntryaccessor picks the most-recent insight-bearing entry bycreated_at.mine-localgate prompt now asks for a concrete, quantified, second-person insight per minted skill.parseMultiVerdicttrims, collapses empty/whitespace to undefined, ignores non-string values (defensive against malformed gate output).- New pure renderer
renderLocalMinedNotehandles both branches (insight present → new copy; absent → legacy count). The Claude Code SessionStart hook delegates to it so the conditional copy lives in one unit-testable place. - Tests: schema roundtrip, accessor on mixed manifests, both banner branches with negative patterns,
parseMultiVerdictinsight cases (5 new, all passing).
No new infra; no telemetry; no process.exit paths touched. Citation hallucinations are not a concern in this pipeline — mine-local controls the source session paths, the LLM is not asked to cite anything it didn't see.
Evidence
Ran mine-local --force --n 5 against real ~/.claude/projects/*.jsonl (40 sessions on disk, picked 5). Haiku produced 11/11 skills with concrete quantified insights, zero null. Samples:
verify-before-declaring-ready— "You pushed back on incomplete work 5+ times in this session because the assistant presented plans and code as done without validating them against real systems."
npm-global-install-corruption-diagnosis— "You hit the samehivemind: command not found+ partial install twice in one day before tracing it to concurrent npm processes racing on the same deterministic backup-rename path."
posthog-cohort-staleness-funnel-trap— "You spent 30+ min analyzing a funnel showing 0 new signups because fresh Persons hadn't entered the cohort table yet."
End-to-end smoke (worktree session-start.js against a tmp HOME with the real manifest) renders the new banner verbatim under the un-authed branch.
Test plan
- [x]
npm run typecheckclean - [x]
npm run buildsucceeds (all bundles) - [x]
npx vitest run tests/claude-code/{local-manifest,local-mined-banner,mine-local-helpers}.test.ts→ 46 pass - [x] Full
npm test→ 2895 pass (one unrelated flake indeeplake-fs.test.tsunder bulk-run load; passes cleanly in isolation in 3.44s) - [x] Smoke 1: tmp HOME + synthetic manifest with
insight→ banner renders new copy - [x] Smoke 2: tmp HOME + synthetic manifest without
insight→ banner renders legacy count copy (1 vs N pluralization correct) - [x] Smoke 3: real
mine-local --force --n 5against ~/.claude → 11/11 insights, banner renders against tmp HOME with the real manifest
Follow-ups (not in this PR)
- Install-time value-show: move the primary surface into
runAuthGateso users who runhivemind installand never open Claude still see the value before the sign-in prompt. The banner change here is the secondary/second-touch surface. - Pick by quality, not write order: when multiple insights are written in the same mine-local batch (~16ms span),
getLatestInsightEntry'screated_atordering effectively picks at random within the batch. Worth a follow-up that scores by source-session recency or insight quality signals. - Telemetry: wire
hivemind_install_started+ alias chain so we can measure the conversion lift this banner produces.
Summary by CodeRabbit
-
New Features
- Mined skills can include an optional one-line quantified insight (normalized, capped, omitted when empty).
- Session-start notes and notification banners can surface the latest insight with truncation/dedup rules, falling back to legacy count messaging and preserving the sign-in CTA.
- Notifications now distinguish user-visible-only content from model-safe additional context; delivery splits model vs user channels.
- Local manifests persist insight metadata conditionally for backward compatibility.
-
Tests
- Added comprehensive tests for insight parsing, manifest read/write, banner rendering, notification routing, and session-start behavior.
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.52 Removes `hivemind tasks` CLI and related code surfaces.
- 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]