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 signalVersion v0.7.45 adds an optional `insight` field to `LocalManifestEntry`, a new renderer for conditional banner copy, and updates the `mine-local` gate prompt.
Why it matters: New fields and renderers expand manifest capabilities; legacy manifests without `insight` automatically fall back to existing count surface.
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-23 Confidence: high |
— |
| Feature | Medium |
Introduces pure renderer `renderLocalMinedNote` for conditional banner copy. Introduces pure renderer `renderLocalMinedNote` for conditional banner copy. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Feature | Medium |
Updates `mine-local` gate prompt to request a concrete, quantified insight per minted skill. Updates `mine-local` gate prompt to request a concrete, quantified insight per minted skill. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Feature | Medium |
Enhances `parseMultiVerdict` to defensively trim, collapse empty/whitespace values and ignore non‑string outputs. Enhances `parseMultiVerdict` to defensively trim, collapse empty/whitespace values and ignore non‑string outputs. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Feature | Medium |
Adds comprehensive unit tests for insight parsing, manifest handling, and both banner rendering branches. Adds comprehensive unit tests for insight parsing, manifest handling, and both banner rendering branches. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Feature | Medium |
Performs end‑to‑end smoke tests verifying both new insight and legacy fallback banners render correctly. Performs end‑to‑end smoke tests verifying both new insight and legacy fallback banners render correctly. Source: llm_adapter@2026-05-23 Confidence: high |
— |
| Feature | Medium |
Documents backward compatibility: legacy manifests without `insight` fall back to existing count surface. Documents backward compatibility: legacy manifests without `insight` fall back to existing count surface. Source: llm_adapter@2026-05-23 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]