Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
19b1b93
fix(session-end): acquire lock before spawning wiki worker
efenocchi Apr 20, 2026
2610612
fix(codex-stop): acquire lock before spawning wiki worker
efenocchi Apr 20, 2026
19b420e
test(summary-state): cover state machine and cross-process locking
efenocchi Apr 20, 2026
40f4438
test(bundles): assert race fix + env cleanup survive the build
efenocchi Apr 20, 2026
cb0f1dc
refactor(cc-capture): drop DEEPLAKE_CAPTURE fallback
efenocchi Apr 20, 2026
f2ed8f2
refactor(codex-capture): drop DEEPLAKE_CAPTURE fallback
efenocchi Apr 20, 2026
4e0475b
fix(session-start): honor HIVEMIND_CAPTURE, not only DEEPLAKE_CAPTURE
efenocchi Apr 20, 2026
05faeb5
refactor(session-start-setup): drop DEEPLAKE_WIKI_WORKER fallback
efenocchi Apr 20, 2026
7360c50
refactor(codex-session-start): drop DEEPLAKE_WIKI_WORKER fallback
efenocchi Apr 20, 2026
5d8a0e8
refactor(codex-session-start-setup): drop DEEPLAKE_WIKI_WORKER / DEEP…
efenocchi Apr 20, 2026
bc9cc30
Merge remote-tracking branch 'origin/main' into fix/session-end-race-…
efenocchi Apr 20, 2026
331f15e
test(session-end): source-level coverage for the hook
efenocchi Apr 20, 2026
a4f394d
test(codex-stop): source-level coverage for the hook
efenocchi Apr 20, 2026
0391e49
test(cc-capture): source-level coverage for the hook
efenocchi Apr 20, 2026
b7f04a3
test(codex-capture): source-level coverage for the hook
efenocchi Apr 20, 2026
2853115
test(session-start*): source-level coverage for both hooks
efenocchi Apr 20, 2026
145a18a
test(codex-session-start*): source-level coverage for both hooks
efenocchi Apr 20, 2026
c6e4efe
fix: release lock when spawnWikiWorker throws (PR #62 review)
efenocchi Apr 20, 2026
e8ae558
test(session-start*): cover version-check fallback + autoupdate guard…
efenocchi Apr 20, 2026
4271baf
fix(pre-tool-use): include session files in virtual /index.md
efenocchi Apr 20, 2026
9631bb5
test(virtual-table-query): cover session listing in synthesized index
efenocchi Apr 20, 2026
3af02a0
test(baseline_cloud 3-QA): end-to-end regression tests anchored in re…
efenocchi Apr 20, 2026
4c5d50b
fix(pre-tool-use): return file_path for Read-tool intercepts
efenocchi Apr 20, 2026
ea892a5
observability: log silent releaseLock / cleanup failures behind HIVEM…
efenocchi Apr 20, 2026
bbc6df9
test(baseline_cloud): expand real-QA coverage to 5 QAs and add /sessi…
efenocchi Apr 20, 2026
f865633
refactor: extract duplicated helpers into src/utils/
efenocchi Apr 20, 2026
0e8df06
ci: duplication check via jscpd (regression guard)
efenocchi Apr 20, 2026
35a7e87
fix(shell): silence [deeplake-sql] trace in one-shot shell bundle
efenocchi Apr 20, 2026
7c82c27
test(wiki-worker): source-level coverage for CC + Codex workers
efenocchi Apr 20, 2026
3d15454
fix(sql): use ESCAPE '\' on LIKE clauses that consume sqlLike() output
efenocchi Apr 20, 2026
b382625
Merge pull request #62 from activeloopai/fix/session-end-race-and-env…
efenocchi Apr 20, 2026
df78072
chore: bump version to 0.6.38
github-actions[bot] Apr 20, 2026
2c0d65d
fix(output): cap plugin tool results at 8 KB to avoid Claude Code's p…
efenocchi Apr 20, 2026
a5a1852
test(config): enforce 90% coverage on fix #1/#4/#5 source files
efenocchi Apr 20, 2026
16736c5
Merge remote-tracking branch 'origin/main' into fix/index-md-include-…
efenocchi Apr 20, 2026
c4c6c0f
test(grep-core): update buildPathFilter assertion for ESCAPE '\' from…
efenocchi Apr 20, 2026
1f218f7
ci: run CI workflow on PRs against any base branch
efenocchi Apr 20, 2026
6ddf6dc
test: remove broken optimizations-only test files, align with main
efenocchi Apr 20, 2026
202ff2f
fix(review): address PR #63 bot review — path traversal, dead code, l…
efenocchi Apr 21, 2026
e6dde99
ci: split jscpd into its own job so the PR checks table has a dedicat…
efenocchi Apr 21, 2026
332b4f7
test: raise pre-tool-use.ts / memory-path-utils.ts coverage to 90%+
efenocchi Apr 21, 2026
f21e693
test(pre-tool-use): use homedir() instead of hardcoded /home/emanuele…
efenocchi Apr 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
},
"metadata": {
"description": "Cloud-backed persistent shared memory for AI agents powered by Deeplake",
"version": "0.6.37"
"version": "0.6.38"
},
"plugins": [
{
"name": "hivemind",
"description": "Persistent shared memory powered by Deeplake — captures all session activity and provides cross-session, cross-agent memory search",
"version": "0.6.37",
"version": "0.6.38",
"source": "./claude-code",
"homepage": "https://github.com/activeloopai/hivemind"
}
Expand Down
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "hivemind",
"description": "Cloud-backed persistent memory powered by Deeplake — read, write, and share memory across Claude Code sessions and agents",
"version": "0.6.37",
"version": "0.6.38",
"author": {
"name": "Activeloop",
"url": "https://deeplake.ai"
Expand Down
37 changes: 36 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,49 @@ name: CI
on:
push:
branches: [main, dev]
# Run on every PR regardless of base branch. The `branches` filter on
# pull_request only matches base, so stacked / long-lived branches
# (e.g. `optimizations`) would otherwise skip the whole CI job.
pull_request:
branches: [main, dev]

permissions:
contents: read
pull-requests: write

jobs:
duplication:
# Code-duplication regression guard. Pulled out of the `test` job so
# the PR checks table shows a dedicated pass/fail row — reviewers see
# at a glance whether the change introduced duplicated code without
# having to open the combined "Typecheck and Test" log.
name: Duplication check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22

- name: Install dependencies
run: npm install

- name: Run jscpd
# Threshold 7% is the current baseline (see .jscpd.json). The job
# fails if a future change pushes duplication above it, so the
# number is a regression guard — reviewers can see the exact
# clones in the markdown report uploaded below.
run: npm run dup

- name: Upload jscpd report
if: always()
uses: actions/upload-artifact@v4
with:
name: jscpd-report
path: jscpd-report/
if-no-files-found: ignore

test:
name: Typecheck and Test
runs-on: ubuntu-latest
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ tmp/
.env
.env.*
coverage/
jscpd-report/
bench/
.claude/
CLAUDE.md
Expand Down
21 changes: 21 additions & 0 deletions .jscpd.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"threshold": 7,
"reporters": ["console", "markdown"],
"output": "./jscpd-report",
"ignore": [
"**/node_modules/**",
"**/dist/**",
"**/bundle/**",
"**/coverage/**",
"**/*.test.ts",
"**/tests/**",
"**/fixtures/**",
"**/claude-code/.claude-plugin/**",
"**/codex/.codex-plugin/**"
],
"absolute": false,
"gitignore": true,
"format": ["typescript"],
"minLines": 10,
"minTokens": 60
}
2 changes: 1 addition & 1 deletion claude-code/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "hivemind",
"description": "Cloud-backed persistent memory powered by Deeplake — read, write, and share memory across Claude Code sessions and agents",
"version": "0.6.37",
"version": "0.6.38",
"author": {
"name": "Activeloop",
"url": "https://deeplake.ai"
Expand Down
Loading
Loading