You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tests/claude-code/ is currently the de-facto catch-all for tests of non-agent-specific src/ modules. The directory name is historical and misleading: a contributor looking for, say, deeplake-api coverage shouldn't have to guess that "claude-code" means "default bucket for everything shared."
PR #183 introduced tests/shared/ as the correct destination for new shared-module tests and moved standalone-embed-client.test.ts there as a first step. This issue tracks moving the rest.
Why now
The naming actively misleads new contributors.
Code-coverage reports group test files by directory; everything currently looks "claude-code coverage" when half of it is shared infra.
Per-agent test dirs (tests/codex/, tests/cursor/, tests/hermes/, tests/openclaw/, tests/pi/) already work the way the convention implies.
The exact partition needs a careful pass — some files at the boundary (e.g. index-marker-store.test.ts) may need git log inspection to decide.
Suggested approach
One PR, no behavior change.
Use git mv so blame survives.
Update vitest.config.ts include glob (remove tests/claude-code/** or keep both? — decide after the move shows what's actually left in tests/claude-code/).
Verify npm test count matches before/after exactly.
Update vitest.config.ts per-file coverage thresholds — paths in the thresholds: block are src/... so they don't move, but double-check nothing references test paths.
Context
tests/claude-code/is currently the de-facto catch-all for tests of non-agent-specificsrc/modules. The directory name is historical and misleading: a contributor looking for, say,deeplake-apicoverage shouldn't have to guess that "claude-code" means "default bucket for everything shared."PR #183 introduced
tests/shared/as the correct destination for new shared-module tests and movedstandalone-embed-client.test.tsthere as a first step. This issue tracks moving the rest.Why now
tests/codex/,tests/cursor/,tests/hermes/,tests/openclaw/,tests/pi/) already work the way the convention implies.Out of scope for PR #183
This is a large mechanical rename touching ~30 files plus CI/IDE/coverage config. It deserves its own PR, not a drive-by inside an embeddings PR.
Files to move (snapshot at
feat/openclaw-embed-producer-178)Tests of
src/modules that have no claude-code specificity:auth / api / config:
auth-creds.test.tsauth-login-dispatch.test.tsauth.test.tsconfig.test.tsdebug.test.tsdeeplake-api-balance-exhausted.test.tsdeeplake-api-retry.test.tsdeeplake-api.test.tsembeddings (all of
src/embeddings/*):embedding-sql.test.tsembeddings-bundle-scan.test.tsembeddings-client.test.tsembeddings-daemon.test.tsembeddings-disable.test.tsembeddings-nomic.test.tsembeddings-schema.test.tsembeddings-self-heal.test.tsgrep / search:
grep-core.test.tsgrep-direct.test.tsgrep-interceptor.test.tsmine-local / skillify:
mine-local-helpers.test.tsmine-local-orchestrator.test.tslocal-manifest.test.tslocal-source.test.tsnotifications:
notifications-coverage.test.tsnotifications-org-stats-source.test.tsnotifications-primary-banner.test.tsnotifications-queue-lock.test.tsnotifications-transcript-parser.test.tsnotifications-usage-tracker.test.tsnotifications.test.tsother shared:
bash-command-compiler.test.tsdeeplake-fs.test.tsindex-marker-store.test.tsmcp-server.test.tsoutput-cap.test.tsplugin-cache.test.tsplugin-cache-gc.test.tsplugin-version-resolution.test.tsquery-cache.test.tsuser-config.test.tsRoughly 30+ files.
Files to KEEP in
tests/claude-code/Tests of claude-code-specific hooks / bundles:
capture.test.ts,capture-hook.test.ts(claude-code SessionStart capture)pre-tool-use*.test.ts(claude-code PreToolUse hook)session-start*.test.ts,session-end*.test.ts*-bundle*.test.ts(claude-code/bundle artifacts)autoupdate.test.ts(claude-code-specific autoupdate path)periodic-summary-bundles.test.ts(claude-code wiki-worker bundle)plugin-cache-bundles.test.ts,plugin-cache-gc-bundle.integration.test.tswiki-worker-*.test.tsskillify-*.test.ts(claude-code-specific skillify wiring)The exact partition needs a careful pass — some files at the boundary (e.g.
index-marker-store.test.ts) may needgit loginspection to decide.Suggested approach
git mvso blame survives.vitest.config.tsinclude glob (removetests/claude-code/**or keep both? — decide after the move shows what's actually left intests/claude-code/).pi/extension-source/hivemind.ts).npm testcount matches before/after exactly.vitest.config.tsper-file coverage thresholds — paths in thethresholds:block aresrc/...so they don't move, but double-check nothing references test paths.Related
tests/shared/and movedstandalone-embed-client.test.ts(one file). This issue tracks the rest.