compound-agent 1.3.3 → 1.4.1

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.
package/CHANGELOG.md CHANGED
@@ -9,6 +9,75 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [1.4.1] - 2026-02-22
13
+
14
+ ### Changed
15
+
16
+ - **Broader retrieval messaging**: `ca search` and `ca knowledge` descriptions in prime output and AGENTS.md now encourage general-purpose use beyond mandatory architectural triggers
17
+
18
+ ## [1.4.0] - 2026-02-22
19
+
20
+ ### Fixed
21
+
22
+ - **Plugin manifest**: Corrected repository URL from `compound_agent` to `learning_agent`
23
+
24
+ ### Changed
25
+
26
+ - **Version consolidation**: Roll-up release of v1.3.7–v1.3.9 production readiness fixes (test pipeline hardening, data integrity, two-phase vector search, FTS5 sanitization)
27
+
28
+ ## [1.3.9] - 2026-02-22
29
+
30
+ ### Fixed
31
+
32
+ - **Integration test pipeline reliability**: Moved `pnpm build` from vitest globalSetup to npm script pre-step, eliminating EPERM errors from tsx/IPC conflicts inside vitest's process
33
+ - **Fail-fast globalSetup**: Missing `dist/cli.js` now throws a clear error instead of cascading 68+ test failures
34
+ - **Integration pool isolation**: Changed from `threads` to `forks` for integration tests — proper process isolation for subprocess-spawning tests
35
+ - **Timeout safety net**: Added `testTimeout: 30_000` to fallback vitest.config.ts, preventing 5s default under edge conditions
36
+
37
+ ## [1.3.8] - 2026-02-22
38
+
39
+ ### Fixed
40
+
41
+ - **Integration test reliability**: Dynamic assertion on workflow command count instead of hardcoded magic number; 30s test timeout for integration suite; conditional build in global-setup; 30s timeout on all bare `execSync` calls in init tests
42
+ - **Data integrity**: Indexing pipeline wraps delete/upsert/hash-set in a single transaction for atomic file re-indexing
43
+ - **FTS5 sanitization**: Extended regex to strip parentheses, colons, and braces in addition to existing special chars
44
+ - **Safe JSON.parse**: `rowToMemoryItem` now uses `safeJsonParse` with fallbacks instead of bare `JSON.parse`
45
+ - **ENOENT on schema migration**: `unlinkSync` in lessons DB wrapped in try/catch (matches knowledge DB pattern)
46
+ - **Worktree hook support**: `getGitHooksDir` resolves `.git` file (`gitdir:` reference) in worktrees
47
+
48
+ ### Changed
49
+
50
+ - **Two-phase vector search**: Knowledge vector search loads only IDs + embeddings in phase 1, hydrates full text for top-k only in phase 2 (reduces memory from O(n * text) to O(n * embedding) + O(k * text))
51
+ - **Deduplicated FTS5 search**: `searchKeyword` and `searchKeywordScored` share a single `executeFtsQuery` helper
52
+ - **Removed redundant COUNT pre-checks**: FTS5 naturally returns empty on empty tables
53
+ - **Extracted chunk count helpers**: `getChunkCount` / `getChunkCountByFilePath` replace raw SQL in `knowledge.ts` and `indexing.ts`
54
+ - **Immutable extension sets**: `SUPPORTED_EXTENSIONS` typed as `ReadonlySet`; new `CODE_EXTENSIONS` constant replaces hardcoded array in chunking
55
+ - **`test:all` builds first**: Script now runs `pnpm build` before model download and test run
56
+ - **Test describe label**: Fixed misleading `'when stop_hook_active is false'` to match actual test condition
57
+
58
+ ### Added
59
+
60
+ - `filesErrored` field in `IndexResult` to track file read failures during indexing
61
+ - `tsx` added to devDependencies (was used but not declared)
62
+
63
+ ## [1.3.7] - 2026-02-22
64
+
65
+ ### Fixed
66
+
67
+ - **Flaky tests**: Hardened auto-sync, init, and stop-audit tests with proper subprocess timeouts, guard assertions, and path resolution fixes
68
+ - **Conditional expects**: Replaced silent-pass `if (condition) { expect() }` patterns with explicit `it.runIf`/`it.skipIf` in model.test.ts
69
+ - **Singleton test timing**: Replaced `setTimeout(50)` with deterministic microtask yield in nomic-singleton.test.ts
70
+
71
+ ### Changed
72
+
73
+ - **Test pipeline**: Split vitest workspace into unit/integration/embedding projects; `test:fast` now runs in ~12s (was ~107s)
74
+ - **Export tests**: Consolidated 27 individual export-existence tests into 7 grouped assertions in index.test.ts
75
+
76
+ ### Added
77
+
78
+ - `pnpm test:unit` and `pnpm test:integration` scripts for targeted test execution
79
+ - Integration tags on 8 CLI test files outside `src/cli/`
80
+
12
81
  ## [1.3.3] - 2026-02-21
13
82
 
14
83
  ### Changed
@@ -638,7 +707,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
638
707
  - Vitest test suite
639
708
  - tsup build configuration
640
709
 
641
- [Unreleased]: https://github.com/Nathandela/learning_agent/compare/v1.3.0...HEAD
710
+ [Unreleased]: https://github.com/Nathandela/learning_agent/compare/v1.4.1...HEAD
711
+ [1.4.1]: https://github.com/Nathandela/learning_agent/compare/v1.4.0...v1.4.1
712
+ [1.4.0]: https://github.com/Nathandela/learning_agent/compare/v1.3.9...v1.4.0
713
+ [1.3.9]: https://github.com/Nathandela/learning_agent/compare/v1.3.8...v1.3.9
714
+ [1.3.8]: https://github.com/Nathandela/learning_agent/compare/v1.3.7...v1.3.8
715
+ [1.3.7]: https://github.com/Nathandela/learning_agent/compare/v1.3.3...v1.3.7
716
+ [1.3.3]: https://github.com/Nathandela/learning_agent/compare/v1.3.2...v1.3.3
717
+ [1.3.2]: https://github.com/Nathandela/learning_agent/compare/v1.3.1...v1.3.2
718
+ [1.3.1]: https://github.com/Nathandela/learning_agent/compare/v1.3.0...v1.3.1
642
719
  [1.3.0]: https://github.com/Nathandela/learning_agent/compare/v1.2.11...v1.3.0
643
720
  [1.2.11]: https://github.com/Nathandela/learning_agent/compare/v1.2.10...v1.2.11
644
721
  [1.2.10]: https://github.com/Nathandela/learning_agent/compare/v1.2.9...v1.2.10