@dzhechkov/harness-core 0.3.74 → 0.3.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-tier.js","sourceRoot":"","sources":["../src/vector-tier.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dzhechkov/harness-core",
3
- "version": "0.3.74",
3
+ "version": "0.3.78",
4
4
  "description": "Shared harness logic - skill loading, additive apply, and the init/sync/verify/doctor operations.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -31,16 +31,23 @@
31
31
  "@dzhechkov/adapter-opencode": "^0.2.0",
32
32
  "yaml": "^2.0.0",
33
33
  "@dzhechkov/adapter-agents-md": "0.1.1",
34
- "@dzhechkov/adapter-copilot": "0.1.1",
35
34
  "@dzhechkov/adapter-gemini": "0.1.1",
36
- "@dzhechkov/core": "0.2.12",
37
35
  "@dzhechkov/adapter-cursor": "0.1.1",
36
+ "@dzhechkov/adapter-copilot": "0.1.1",
37
+ "@dzhechkov/adapter-windsurf": "0.1.1",
38
+ "@dzhechkov/core": "0.2.14",
38
39
  "@dzhechkov/memory": "0.2.9"
39
40
  },
41
+ "peerDependenciesMeta": {
42
+ "@ruvector/rvf": {
43
+ "optional": true
44
+ }
45
+ },
40
46
  "devDependencies": {
41
47
  "@types/node": "^25.6.0",
42
48
  "typescript": "^5.7.0",
43
- "vitest": "^3.0.0"
49
+ "vitest": "^3.0.0",
50
+ "@ruvector/rvf": "^0.2.3"
44
51
  },
45
52
  "engines": {
46
53
  "node": ">=20"
@@ -12,6 +12,7 @@
12
12
  * @packageDocumentation
13
13
  */
14
14
 
15
+ import { existsSync } from 'node:fs';
15
16
  import { join, dirname } from 'node:path';
16
17
  import { pathToFileURL } from 'node:url';
17
18
  import { createRequire } from 'node:module';
@@ -126,3 +127,204 @@ export async function indexPatternsToAgentdb(
126
127
  return { indexed: 0, error: `index failed: ${err instanceof Error ? err.message : String(err)}` };
127
128
  }
128
129
  }
130
+
131
+ /* ------------------------------------------------------------------ */
132
+ /* READ half (dz-rvf-vector-bridge FR-3): semantic search + id scan */
133
+ /* ------------------------------------------------------------------ */
134
+
135
+ /** The dz-owned ReasoningBank task_types (teach mirror + consolidate mirror). */
136
+ const DZ_TASK_TYPES = ['dz-teach', 'dz-learning'] as const;
137
+
138
+ /** Minimal READONLY better-sqlite3 surface used by the read half. */
139
+ interface ReadonlyDb {
140
+ pragma: (s: string) => void;
141
+ prepare: (q: string) => { all: (...a: unknown[]) => unknown[]; get: (...a: unknown[]) => unknown };
142
+ close: () => void;
143
+ }
144
+
145
+ type ReadonlyDbCtor = new (p: string, o?: { readonly?: boolean }) => ReadonlyDb;
146
+
147
+ /** One semantic hit over the dz rows of the shared store. */
148
+ export interface AgentdbSearchHit {
149
+ /** `reasoning_patterns.id` (store-internal). */
150
+ readonly patternId: number;
151
+ /** dz join key from row metadata (`dzId`, falling back to the consolidate mirror's `dreamId`). */
152
+ readonly dzId?: string | undefined;
153
+ readonly text: string;
154
+ /** Cosine similarity vs the embedded query, in [-1, 1]. */
155
+ readonly similarity: number;
156
+ /** The row's stored `success_rate` (the REAL reward at mirror time). */
157
+ readonly score: number;
158
+ }
159
+
160
+ /** Outcome of {@link searchAgentdbPatterns}. Honest: absent deps/store yield `error`, never a throw. */
161
+ export interface AgentdbSearchResult {
162
+ readonly hits: AgentdbSearchHit[];
163
+ readonly error?: string | undefined;
164
+ }
165
+
166
+ const DEPS_MISSING = 'agentdb/better-sqlite3 not installed in project (run: dz setup --memory agentdb)';
167
+
168
+ /**
169
+ * Resolve agentdb's `EmbeddingService` from the PROJECT (same dynamic-resolution discipline as
170
+ * {@link indexPatternsToAgentdb}; model pinned to `Xenova/all-MiniLM-L6-v2` dim 384 — every dz
171
+ * call site MUST use this one embedder so query and row vectors stay in the same space).
172
+ */
173
+ export async function resolveAgentdbEmbedder(
174
+ projectRoot: string,
175
+ ): Promise<{ embed: (t: string) => Promise<Float32Array> } | { error: string }> {
176
+ let agentdbDir: string;
177
+ try {
178
+ const req = createRequire(join(projectRoot, 'package.json'));
179
+ agentdbDir = dirname(req.resolve('agentdb'));
180
+ } catch {
181
+ return { error: DEPS_MISSING };
182
+ }
183
+ try {
184
+ const { EmbeddingService } = (await import(pathToFileURL(join(agentdbDir, 'controllers', 'EmbeddingService.js')).href)) as {
185
+ EmbeddingService: new (o: object) => { initialize: () => Promise<void>; embed: (t: string) => Promise<Float32Array> };
186
+ };
187
+ const emb = new EmbeddingService({ model: 'Xenova/all-MiniLM-L6-v2', dimension: 384, provider: 'transformers' });
188
+ await emb.initialize();
189
+ return { embed: (t: string) => emb.embed(t) };
190
+ } catch (err) {
191
+ return { error: `embedder init failed: ${err instanceof Error ? err.message : String(err)}` };
192
+ }
193
+ }
194
+
195
+ /** `absent: true` = no store file yet — an EMPTY mirror is a state, not an error (backfill relies on this). */
196
+ function openReadonly(projectRoot: string, dbPath?: string): { db: ReadonlyDb } | { absent: true } | { error: string } {
197
+ const dbFile = resolveAgentdbPath(projectRoot, dbPath);
198
+ if (!existsSync(dbFile)) return { absent: true };
199
+ let Database: ReadonlyDbCtor;
200
+ try {
201
+ const req = createRequire(join(projectRoot, 'package.json'));
202
+ Database = req('better-sqlite3') as ReadonlyDbCtor;
203
+ } catch {
204
+ return { error: DEPS_MISSING };
205
+ }
206
+ try {
207
+ const db = new Database(dbFile, { readonly: true }); // WAL readers are safe next to the MCP server
208
+ db.pragma('busy_timeout = 5000');
209
+ return { db };
210
+ } catch (err) {
211
+ return { error: `open failed: ${err instanceof Error ? err.message : String(err)}` };
212
+ }
213
+ }
214
+
215
+ function hasDzTables(db: ReadonlyDb): boolean {
216
+ const t = (name: string): boolean =>
217
+ db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get(name) !== undefined;
218
+ return t('reasoning_patterns') && t('pattern_embeddings');
219
+ }
220
+
221
+ function cosineSimilarity(a: Float32Array, b: Float32Array): number {
222
+ const n = Math.min(a.length, b.length);
223
+ let dot = 0;
224
+ let na = 0;
225
+ let nb = 0;
226
+ for (let i = 0; i < n; i += 1) {
227
+ dot += a[i]! * b[i]!;
228
+ na += a[i]! * a[i]!;
229
+ nb += b[i]! * b[i]!;
230
+ }
231
+ const denom = Math.sqrt(na) * Math.sqrt(nb);
232
+ return denom === 0 ? 0 : dot / denom;
233
+ }
234
+
235
+ function dzIdOf(metadataJson: unknown): string | undefined {
236
+ if (typeof metadataJson !== 'string' || metadataJson === '') return undefined;
237
+ try {
238
+ const meta = JSON.parse(metadataJson) as Record<string, unknown>;
239
+ const id = meta['dzId'] ?? meta['dreamId'];
240
+ return typeof id === 'string' ? id : undefined;
241
+ } catch {
242
+ return undefined;
243
+ }
244
+ }
245
+
246
+ /**
247
+ * Semantic search over the dz rows of the shared AgentDB store: embed the query, brute-force
248
+ * cosine over `pattern_embeddings` BLOBs (`Float32Array`), top-K. Brute force is deliberate —
249
+ * the pool is O(10²–10³), and a scan has zero index-maintenance/drift risk while the MCP
250
+ * server writes the same file (WAL). READONLY open + `busy_timeout 5000` (ADR R5). Honest:
251
+ * `{hits:[], error}` on any unavailability, never a throw.
252
+ */
253
+ export async function searchAgentdbPatterns(
254
+ projectRoot: string,
255
+ query: string,
256
+ opts: { limit?: number; dbPath?: string } = {},
257
+ ): Promise<AgentdbSearchResult> {
258
+ const limit = Math.max(1, opts.limit ?? 10);
259
+ const emb = await resolveAgentdbEmbedder(projectRoot);
260
+ if ('error' in emb) return { hits: [], error: emb.error };
261
+ let qvec: Float32Array;
262
+ try {
263
+ qvec = await emb.embed(query);
264
+ } catch (err) {
265
+ return { hits: [], error: `query embed failed: ${err instanceof Error ? err.message : String(err)}` };
266
+ }
267
+ const opened = openReadonly(projectRoot, opts.dbPath);
268
+ if ('absent' in opened) return { hits: [] }; // nothing mirrored yet — zero semantic hits, honestly
269
+ if ('error' in opened) return { hits: [], error: opened.error };
270
+ const { db } = opened;
271
+ try {
272
+ if (!hasDzTables(db)) return { hits: [] };
273
+ const placeholders = DZ_TASK_TYPES.map(() => '?').join(', ');
274
+ const rows = db
275
+ .prepare(
276
+ `SELECT p.id, p.approach, p.success_rate, p.metadata, e.embedding
277
+ FROM reasoning_patterns p JOIN pattern_embeddings e ON e.pattern_id = p.id
278
+ WHERE p.task_type IN (${placeholders})`,
279
+ )
280
+ .all(...DZ_TASK_TYPES) as Array<{ id: number; approach: string; success_rate: number; metadata: string | null; embedding: Buffer }>;
281
+ const scored: AgentdbSearchHit[] = rows.map((r) => {
282
+ const vec = new Float32Array(r.embedding.buffer, r.embedding.byteOffset, Math.floor(r.embedding.byteLength / 4));
283
+ return {
284
+ patternId: r.id,
285
+ dzId: dzIdOf(r.metadata),
286
+ text: r.approach,
287
+ similarity: cosineSimilarity(qvec, vec),
288
+ score: r.success_rate,
289
+ };
290
+ });
291
+ scored.sort((a, b) => b.similarity - a.similarity || a.patternId - b.patternId);
292
+ return { hits: scored.slice(0, limit) };
293
+ } catch (err) {
294
+ return { hits: [], error: `search failed: ${err instanceof Error ? err.message : String(err)}` };
295
+ } finally {
296
+ db.close();
297
+ }
298
+ }
299
+
300
+ /**
301
+ * READONLY scan of the dz join keys (`metadata.dzId` / `dreamId`) already mirrored into the
302
+ * shared store — the I-5 dedup + `dz vector status` observability primitive. Needs only
303
+ * `better-sqlite3` (no embedder). Honest `{ids:[], error}` on unavailability.
304
+ */
305
+ export async function listAgentdbDzIds(
306
+ projectRoot: string,
307
+ opts: { dbPath?: string } = {},
308
+ ): Promise<{ ids: string[]; error?: string | undefined }> {
309
+ const opened = openReadonly(projectRoot, opts.dbPath);
310
+ if ('absent' in opened) return { ids: [] }; // empty mirror — everything is backfillable
311
+ if ('error' in opened) return { ids: [], error: opened.error };
312
+ const { db } = opened;
313
+ try {
314
+ if (!hasDzTables(db)) return { ids: [] };
315
+ const placeholders = DZ_TASK_TYPES.map(() => '?').join(', ');
316
+ const rows = db
317
+ .prepare(`SELECT metadata FROM reasoning_patterns WHERE task_type IN (${placeholders})`)
318
+ .all(...DZ_TASK_TYPES) as Array<{ metadata: string | null }>;
319
+ const ids = new Set<string>();
320
+ for (const r of rows) {
321
+ const id = dzIdOf(r.metadata);
322
+ if (id !== undefined) ids.add(id);
323
+ }
324
+ return { ids: [...ids] };
325
+ } catch (err) {
326
+ return { ids: [], error: `id scan failed: ${err instanceof Error ? err.message : String(err)}` };
327
+ } finally {
328
+ db.close();
329
+ }
330
+ }
package/src/index.ts CHANGED
@@ -25,12 +25,45 @@ export { benchmarkSkill, benchmarkSkills, compareSkills } from './benchmark.js';
25
25
  export { buildRegistry, searchRegistry, filterByCategory, skillPackBaseDirs, discoverSkillPackDirs } from './registry.js';
26
26
  export { recommend } from './recommend.js';
27
27
  export { pretrain } from './pretrain.js';
28
- export { loadPatterns, loadSessions, computePatternBoost, readLearningConfig, BOOST_CAP, recordPattern, loadStorePatternsSync, patternToRecord, recordToPattern, consolidateSessions, recallPatterns, pruneNoisePatterns } from './patterns.js';
28
+ export { loadPatterns, loadSessions, computePatternBoost, readLearningConfig, BOOST_CAP, recordPattern, loadStorePatternsSync, loadStoreRecords, patternToRecord, recordToPattern, patternRecordId, patternIdentityOf, dreamRecordId, isMirrorableLearning, consolidateSessions, recallPatterns, pruneNoisePatterns } from './patterns.js';
29
29
  export type { PatternRecord, SessionRecord, LearningConfig, LoadOptions, ConsolidateResult, ConsolidateOptions, SqliteBackendMode, RecallHit, SessionsSource, PruneNoiseResult } from './patterns.js';
30
+ export {
31
+ DEFAULT_VECTOR_TIMEOUT_MS,
32
+ withVectorTimeout,
33
+ isVectorNoise,
34
+ patternVectorEntry,
35
+ dreamVectorEntry,
36
+ memoryRecordVectorEntry,
37
+ readVectorEngineMode,
38
+ vectorMirrorEnabled,
39
+ resolveVectorEngine,
40
+ mirrorEntriesToVector,
41
+ mirrorPatternsToVector,
42
+ backfillVectorMirror,
43
+ mergeHybridHits,
44
+ recallHybrid,
45
+ vectorTierStatus,
46
+ } from './vector-tier.js';
47
+ export type {
48
+ VectorEngine,
49
+ VectorEngineKind,
50
+ VectorEngineMode,
51
+ VectorEntry,
52
+ VectorHit,
53
+ MirrorReceipt,
54
+ ResolvedVectorEngine,
55
+ HybridRecall,
56
+ HybridRecallMode,
57
+ HybridHit,
58
+ RankedPattern,
59
+ VectorServiceOptions,
60
+ VectorTierStatus,
61
+ } from './vector-tier.js';
30
62
  export { runSetup, generateHooksConfig, generateAgentdbWriter, writerVersionOf, AGENTDB_WRITER_VERSION } from './setup.js';
31
63
  export { statuslineData, readFeatureAdrState, writeFeatureAdrState, featureAdrStatePath } from './statusline.js';
32
64
  export type { StatuslineData, FeatureAdrState, WriteFeatureAdrStateInput } from './statusline.js';
33
- export { indexPatternsToAgentdb, resolveAgentdbPath } from './agentdb-index.js';
65
+ export { indexPatternsToAgentdb, resolveAgentdbPath, searchAgentdbPatterns, listAgentdbDzIds, resolveAgentdbEmbedder } from './agentdb-index.js';
66
+ export type { AgentdbSearchHit, AgentdbSearchResult } from './agentdb-index.js';
34
67
  export { putBookKnowledge, queryBookKnowledge, bookKbPath } from './book-kb.js';
35
68
  export type { BookKU, BookKUHit } from './book-kb.js';
36
69
  export {
package/src/operations.ts CHANGED
@@ -18,6 +18,7 @@ import { OPENCODE_SKILLS_ROOT } from '@dzhechkov/adapter-opencode';
18
18
  import { OPENCLAUDE_SKILLS_ROOT } from '@dzhechkov/adapter-openclaude';
19
19
  import { COPILOT_INSTRUCTIONS_ROOT } from '@dzhechkov/adapter-copilot';
20
20
  import { CURSOR_RULES_ROOT } from '@dzhechkov/adapter-cursor';
21
+ import { WINDSURF_RULES_ROOT } from '@dzhechkov/adapter-windsurf';
21
22
  import { mergeAgentsMd, mergeGeminiMd, renderAgentsMdSection } from '@dzhechkov/core';
22
23
  import type { CanonicalSkill, EmitResult, SkillAsset } from '@dzhechkov/core';
23
24
  import { computeRiskScore } from './risk-scoring.js';
@@ -100,6 +101,11 @@ const SKILLS_ROOTS: Record<TargetName, string> = {
100
101
  // short-circuits to runInitGeminiMd before the enrichment loop, so this entry
101
102
  // only keeps the record total (never used to derive a per-skill tree dir).
102
103
  gemini: GEMINI_MD_PATH,
104
+ // windsurf is PER-SKILL (fits the standard emit loop) but TRANSFORMING like
105
+ // cursor — its own compile emits `.windsurf/rules/<id>.md` (not a SKILL.md
106
+ // tree), so no enrichment branch fires for it; this entry only keeps the
107
+ // record total.
108
+ windsurf: WINDSURF_RULES_ROOT,
103
109
  };
104
110
 
105
111
  /**
@@ -596,7 +602,7 @@ export async function runDoctor(options: { projectRoot: string }): Promise<Docto
596
602
  }
597
603
 
598
604
  // 3. Adapter resolvability (one per target platform)
599
- const adapters = ['adapter-claude', 'adapter-codex', 'adapter-opencode', 'adapter-hermes', 'adapter-openclaude', 'adapter-copilot', 'adapter-agents-md', 'adapter-cursor', 'adapter-gemini'];
605
+ const adapters = ['adapter-claude', 'adapter-codex', 'adapter-opencode', 'adapter-hermes', 'adapter-openclaude', 'adapter-copilot', 'adapter-agents-md', 'adapter-cursor', 'adapter-gemini', 'adapter-windsurf'];
600
606
  const foundAdapters = adapters.filter((a) => existsSync(join(root, 'packages/@dzhechkov', a)));
601
607
  checks.push({
602
608
  name: 'adapters present',
@@ -749,5 +755,22 @@ export async function runDoctor(options: { projectRoot: string }): Promise<Docto
749
755
  } catch { /* either side absent — covered by other checks */ }
750
756
  }
751
757
 
758
+ // 9. Vector-tier mirror divergence (dz-rvf-vector-bridge FR-2/ADR R4). INFORMATIONAL, never an
759
+ // error exit: lexical is the source of truth and `dz consolidate` backfills the mirror. Per
760
+ // Constraint 7 (QR-10) the line reports BOTH counts so a diverged mirror is not misdiagnosed
761
+ // as store corruption (check the store-health lines above first). Silent when in sync or when
762
+ // no engine is installed — a lexical-only project stays noise-free.
763
+ try {
764
+ const { vectorTierStatus } = await import('./vector-tier.js');
765
+ const vs = await vectorTierStatus(root);
766
+ if (vs.available && vs.mirrored !== undefined && (vs.mirrored < vs.lexicalMirrorable || vs.pending > 0)) {
767
+ checks.push({
768
+ name: 'vector mirror',
769
+ ok: true,
770
+ detail: `lexical ${vs.lexicalMirrorable} vs mirrored ${vs.mirrored}${vs.pending > 0 ? ` (+${vs.pending} pending)` : ''} — run dz consolidate to backfill`,
771
+ });
772
+ }
773
+ } catch { /* advisory only — the vector tier must never fail doctor */ }
774
+
752
775
  return { node: process.version, checks, ok: checks.every((check) => check.ok) };
753
776
  }
package/src/patterns.ts CHANGED
Binary file
package/src/setup.ts CHANGED
@@ -379,11 +379,13 @@ Hermes, and OpenClaude.
379
379
  claude-code → \`.claude/skills/\` · codex → \`.agents/skills/\` · opencode → \`.opencode/\` ·
380
380
  hermes → \`.hermes/\` · openclaude → \`.claude/skills/\` · copilot → \`.github/instructions/\` ·
381
381
  agents-md → \`AGENTS.md\` (single root file) · cursor → \`.cursor/rules/\` (one \`.mdc\` per skill) ·
382
- gemini → \`GEMINI.md\` (single root file, Gemini CLI / Code Assist).
382
+ gemini → \`GEMINI.md\` (single root file, Gemini CLI / Code Assist) ·
383
+ windsurf → \`.windsurf/rules/\` (one \`.md\` per skill, Windsurf \`trigger\` frontmatter).
383
384
  The SKILL.md format is identical across the five tree targets — only the directory differs;
384
- copilot, agents-md, cursor, and gemini are transforming/lossy targets (agents-md and gemini merge
385
- ALL selected skills into one root \`AGENTS.md\` / \`GEMINI.md\`, preserving your own content; cursor
386
- emits one \`.cursor/rules/<id>.mdc\` per skill with Cursor's 3-key frontmatter).
385
+ copilot, agents-md, cursor, gemini, and windsurf are transforming/lossy targets (agents-md and gemini
386
+ merge ALL selected skills into one root \`AGENTS.md\` / \`GEMINI.md\`, preserving your own content; cursor
387
+ emits one \`.cursor/rules/<id>.mdc\` per skill with Cursor's 3-key frontmatter; windsurf emits one
388
+ \`.windsurf/rules/<id>.md\` per skill with Windsurf's \`trigger\`/\`description\` frontmatter).
387
389
  `;
388
390
  }
389
391
 
package/src/targets.ts CHANGED
@@ -13,6 +13,7 @@ import { geminiAdapter } from '@dzhechkov/adapter-gemini';
13
13
  import { hermesAdapter } from '@dzhechkov/adapter-hermes';
14
14
  import { opencodeAdapter } from '@dzhechkov/adapter-opencode';
15
15
  import { openclaudeAdapter } from '@dzhechkov/adapter-openclaude';
16
+ import { windsurfAdapter } from '@dzhechkov/adapter-windsurf';
16
17
  import type { Adapter } from '@dzhechkov/core';
17
18
 
18
19
  /**
@@ -20,7 +21,7 @@ import type { Adapter } from '@dzhechkov/core';
20
21
  * (`claude-code`, not `claude`); the value is the adapter that emits for it.
21
22
  */
22
23
  /** A valid `--target` name. */
23
- export type TargetName = 'claude-code' | 'codex' | 'opencode' | 'hermes' | 'openclaude' | 'copilot' | 'agents-md' | 'cursor' | 'gemini';
24
+ export type TargetName = 'claude-code' | 'codex' | 'opencode' | 'hermes' | 'openclaude' | 'copilot' | 'agents-md' | 'cursor' | 'gemini' | 'windsurf';
24
25
 
25
26
  // Explicitly annotated (not `as const satisfies`) so the type is portable across
26
27
  // the workspace — adapters compiled against slightly different `@dzhechkov/core`
@@ -35,6 +36,9 @@ export const TARGETS: Record<TargetName, Adapter> = {
35
36
  'agents-md': agentsMdAdapter,
36
37
  cursor: cursorAdapter,
37
38
  gemini: geminiAdapter,
39
+ // windsurf: cursor with a different dir + `.md` extension + a `trigger`
40
+ // frontmatter key. Per-skill transforming target (excluded from equivalence).
41
+ windsurf: windsurfAdapter,
38
42
  };
39
43
 
40
44
  /** Every supported `--target` name. */