Changelog
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
17 April 2026
- fix: stateless gateway session spawning
#128
- fix: drop synthetic parent sessionKey from GatewayExecutor — spawn statelessly like runner
8fd051f
- chore: release @karmaniverous/jeeves-meta-openclaw v0.12.0
5c00eeb
- chore: release @karmaniverous/jeeves-meta v0.15.1
ead324e
17 April 2026
- feat: phase-state machine (v0.15.0 / v0.12.0)
#126
- feat: add phase-state machine foundation (Tasks #1-6, #11-13d)
131baa9
- refactor: extract shared test fixtures and fix mock shapes in route tests
9d10d02
- fix: resolve all verification gaps — queue automatic layer, abort _error, skipUnchanged bump, integration tests, e2e test, minor gaps
a32f73a
- test: add phase-state integration tests (Tasks #14-18)
daeb014
- feat: wire phase-state orchestration into bootstrap + queue (Tasks #7-10)
5e2ced7
- test: strengthen test suite — add missing coverage and fix weak assertions
ca998c0
- feat: rewrite scheduler for phase-aware tick and fix _synthesisCount
cd178da
- docs: update guides and changelogs for phase-state machine (Tasks #19a-19h)
32ec985
- feat: wire bootstrap to phase-state machine and override queue processing
9a35a65
- fix: address PR #126 review comments — wire currentPhase, remove redundant reads, use shared helpers
ce9d968
- feat: update plugin tools and TOOLS.md for phase-state machine (Tasks #18a-18b)
841e912
- chore: release @karmaniverous/jeeves-meta v0.15.0
0b2760c
- fix: prevent abort race condition — runPhase skips persist when executor.aborted
8cc46f5
- docs: update SKILL.md for phase-state machine awareness
7100e29
- docs: add phase-state machine and troubleshooting guidance to SKILL.md
bcf5d0f
- style: fix lint formatting — prettier and import sort
f4170e3
- chore: add root vitest config to exclude .rollup.cache from test discovery
3c6f8c1
- chore: release @karmaniverous/jeeves-meta-openclaw v0.11.0
2bf9926
- docs: update service README for phase-state machine
b297390
- docs: update SKILL.md endpoints table and queue description
3aa0c0f
- docs: update SKILL.md gotchas for phase-per-tick and backoff behavior
b5f49bb
- docs: update root README for phase-state machine architecture
2bb81be
16 April 2026
- feat: add _disabled flag and meta_update tool (#123, #124)
#125
- docs: update READMEs and skill for meta_update tool and _disabled flag
7a9cdaf
- refactor: PATCH route uses resolveMetaDir instead of full listMetas walk
4abc29a
- chore: release @karmaniverous/jeeves-meta-openclaw v0.10.7
1196955
- chore: release @karmaniverous/jeeves-meta v0.14.0
17482f0
15 April 2026
- updated jeeves-core
9e95518
- chore: release @karmaniverous/jeeves-meta v0.13.11
fa46b9b
13 April 2026
- fix: normalize owner paths in /synthesize route (#120)
#121
- fix: normalize owner paths in /synthesize route
#120
- chore: release @karmaniverous/jeeves-meta v0.13.10
aa045ea
13 April 2026
- feat: identify meta synthesis sessions by phase and entity path
#119
- chore: release @karmaniverous/jeeves-meta v0.13.9
fa19239
- feat: add H1 identification header and phase-specific labels to synthesis sessions
f5c1836
13 April 2026
- fix: isolate gateway invoke session per synthesis
#118
- chore: release @karmaniverous/jeeves-meta-openclaw v0.10.6
3351fee
- chore: release @karmaniverous/jeeves-meta v0.13.8
aee33b6
9 April 2026
- fix: resolve 5 open bugs (#112 #113 #114 #111 #104)
#115
- fix: resolve 5 bugs (#112, #113, #114, #111, #104)
0f42f10
- fix: address PR review feedback
7862a12
- chore: release @karmaniverous/jeeves-meta v0.13.7
ceee364
- chore: release @karmaniverous/jeeves-meta-openclaw v0.10.5
902df3c
8 April 2026
- chore: release @karmaniverous/jeeves-meta-openclaw v0.10.4
760c13a
- chore: release @karmaniverous/jeeves-meta v0.13.6
b1a3065
- npm audit fix
26f1483
5 April 2026
- unhoisted jeeves
a2ba39a
- chore: release @karmaniverous/jeeves-meta-openclaw v0.10.3
9d67508
- chore: release @karmaniverous/jeeves-meta v0.13.5
0aabdab
5 April 2026
- hoisted jeeves
8c0549b
- chore: release @karmaniverous/jeeves-meta-openclaw v0.10.2
5ef44b0
- chore: release @karmaniverous/jeeves-meta v0.13.4
a80c497
5 April 2026
- fix: consume core importMetaUrl, remove stale rollup configs, handle watcher 503 (fixes #109, #103, #102)
#110
- Merge pull request #110 from karmaniverous/fix/109-103-102
#109
- fix: consume core importMetaUrl, remove stale rollup configs, handle watcher 503 (fixes #109, #103, #102)
#109
- chore: release @karmaniverous/jeeves-meta v0.13.3
4fbcd29
5 April 2026
- fix: correct prompt file paths for rollup bundle (fixes #107)
#108
- Merge pull request #108 from karmaniverous/bugfix/107-prompt-path
#107
- fix: correct prompt file paths for rollup bundle (fixes #107)
#107
- chore: release @karmaniverous/jeeves-meta-openclaw v0.10.1
a16ec8d
- chore: release @karmaniverous/jeeves-meta v0.13.2
a9b0c01
5 April 2026
- chore: update dependencies (jeeves 0.5.3, eslint, vitest, rollup)
#106
- chore: update dependencies (jeeves 0.5.3, eslint, vitest, rollup, etc.)
08f97b1
- npm audit fix
5680f58
- chore: release @karmaniverous/jeeves-meta-openclaw v0.10.0
7c19ad9
- test: tighten assertions per Gemini review feedback
9143d60
- chore: release @karmaniverous/jeeves-meta v0.13.1
7f7bb8e
3 April 2026
- feat: core v0.5.1 adoption + housekeeping (service 0.13.0 / plugin 0.10.0)
#101
- fix: plugin descriptor + StatusResponse alignment
#99
- fix: align StatusResponse with actual /status shape, add run stub to descriptor
#97 #98
- test: add tests for apiUrl helper and GatewayExecutor (spawn, timeout, abort)
8c94e65
- docs: sync all guides, skills, and READMEs with implementation
7500788
- feat: bump @karmaniverous/jeeves to ^0.5.1, Node >=22 (M1, M2)
4380cc8
- chore: release @karmaniverous/jeeves-meta v0.13.0
d583cf2
- feat: wire gatewayUrl for cleanup escalation, use getPackageVersion (M4, H4)
81c32cf
- refactor: adopt core fetchJson/postJson in MetaServiceClient (H6)
a8b4b6a
- docs: refresh READMEs for canonical config path and current tool surface
8b4d690
- npm audit fix
61c8760
- refactor: replace local sleep with core sleepAsync, remove sleep.ts
a3844b1
- test: update service tests for host field removal
3291ae1
- chore: release @karmaniverous/jeeves-meta-openclaw v0.9.3
e9ba4eb
- ci: update linux-compat to test Node [22, 24] only (drop Node 20)
67921bb
- ci: remove Node 20 Linux compatibility check (engine is now >=22)
5ea73d1
- docs: fix guide asset paths, update meta-config match and remove host
448c8b7
- fix: CLI commands use core getServiceUrl instead of hardcoded URL (H3)
4bc124c
- fix: use URL constructor for apiUrl, fix import sort in listMetas
528e051
- refactor: export MAX_STALENESS_SECONDS and reuse in listMetas
e85ca34
- style: fix prettier formatting on meta-config glob
be3a148
- cleanup: remove dead host config field, getBindAddress() handles binding (H2)
150dc33
- fix: meta-config rule glob matches both legacy and canonical config paths (H1)
05edd1c
- docs: export MAX_STALENESS_SECONDS so typedoc link resolves
a7da5cc
1 April 2026
- fix: exclude .meta/ from isStale() mtime check
#96
- fix: exclude .meta/ from isStale() mtime check (fixes #95)
#95
- chore: release @karmaniverous/jeeves-meta-openclaw v0.9.2
5b850dd
- chore: release @karmaniverous/jeeves-meta v0.12.4
4042093
31 March 2026
- chore: integrate core 0.4.6 — remove init() workaround
#89
- chore: release @karmaniverous/jeeves-meta v0.12.3
6dbbcd4
- chore: resolve merge conflicts with main, bump core to ^0.4.6
01cbb71
- feat: integrate core 0.4.5 — add descriptor.run, fix start recursion
5e70b99
- chore: integrate core 0.4.6 — remove init() workaround from descriptor.run
0bc089b
- chore: release @karmaniverous/jeeves-meta-openclaw v0.9.1
da6df48
31 March 2026
- feat: integrate core 0.4.5 — descriptor.run + start recursion fix
#87
- feat: integrate core 0.4.5 — add descriptor.run, fix start recursion
62bbf9d
- chore: release @karmaniverous/jeeves-meta v0.12.2
1733c83
30 March 2026
- fix: correct startCommand path in service descriptor
#86
- chore: release @karmaniverous/jeeves-meta-openclaw v0.9.0
3063f49
- chore: release @karmaniverous/jeeves-meta v0.12.1
9e7e7aa
- fix: correct startCommand path in descriptor (dist/cli.js → dist/cli/jeeves-meta/index.js)
061fac5
30 March 2026
- chore: update dependencies — core ^0.4.4 (Zod 4), ESLint 10, knip 6
#85
- chore: update dependencies — core ^0.4.4 (Zod 4), ESLint 10, knip 6, typedoc 0.28.18, typescript-eslint 8.57.2
09ebc21
- feat: Phase 3 — service CLI + plugin toolset + plugin CLI (M3, M4, M7, M7b)
b89655e
- feat: Phase 2 — config apply, status handler, queue management, archive watcher scan (M5, M5b, M7c)
0f9d7f0
- feat: Phase 1 — config migration, descriptor, bind address (M1, M2, M6)
0ab7ba5
- refactor: tighten SOLID and DRY in service routes
baf74d2
- test: add configHotReload coverage (12 tests)
7215b13
- docs: add front matter to guides (title + children pattern from jeeves-server)
c5408ad
- docs: sync tools, guides, and READMEs with implementation
d8838f8
- chore: release @karmaniverous/jeeves-meta-openclaw v0.8.3
e9a9fdb
- chore: release @karmaniverous/jeeves-meta v0.12.0
52c13c2
- ci: add cloud sync workflow (matches jeeves-watcher/runner)
6187592
- fix: handle invalid JSON in crossRefs parameter (PR review feedback)
16cdcc3
28 March 2026
- fix: use character-class glob escaping for Windows compatibility
#81
- npm audit fix
8247c0e
- chore: release @karmaniverous/jeeves-meta v0.11.3
c62d389
- Merge pull request #83 from karmaniverous/fix/linux-path-dirname
6263b1a
- fix: use character-class glob escaping instead of backslash escaping for Windows compatibility
5f8bc9a
- ci: add linux-compat workflow via shared gha-workflows
816f0c6
- fix: use path.posix.dirname on normalized paths for Linux compatibility
886cc4d
26 March 2026
- fix: use character-class glob escaping instead of backslash (Windows)
#82
- fix: use character-class glob escaping instead of backslash (Windows-compatible)
2e648f5
- chore: release @karmaniverous/jeeves-meta v0.11.2
5c0b906
25 March 2026
- fix: escape glob metacharacters in watcher walk, fix skip reporting loop
#80
- fix: escape glob metacharacters in watcher walk paths, suppress completion for skipped entities, bump _generatedAt on empty-scope skip
76ff9d1
- chore: release @karmaniverous/jeeves-meta-openclaw v0.8.2
bcc3027
- chore: release @karmaniverous/jeeves-meta v0.11.1
b152f37
- fix: use lock-staged write for empty-scope _generatedAt bump
bbcff74
25 March 2026
- feat: differentiate progress report links for STARTED vs COMPLETED
#79
- feat: differentiate STARTED (directory) and COMPLETED (meta.json) links in progress reports, add URL encoding
99e9402
- fix: pass phase to error progress events, skip empty-scope entities with no prior content
b0071e8
- chore: release @karmaniverous/jeeves-meta-openclaw v0.8.1
77f7c81
- chore: release @karmaniverous/jeeves-meta v0.11.0
1ae68c6
- feat: update timeout defaults to 180/360/240 based on operational data
d17a5d6
- chore: update @karmaniverous/jeeves to 0.3.1
3b622c2
- ci: add permissions block to Deploy Docs caller workflow
9f96e8f
- chore: trigger CI
f2503d8
- chore: remove stray rollup temp file
530ff8e
25 March 2026
- fix: normalize watcher walk paths in getScopeFiles (#77)
#78
- feat: ship built-in default prompts, make defaultArchitect/defaultCritic optional in config
ed1209c
- test: cover Handlebars escaping and template resolution in prompt builders
240e30e
- feat: Handlebars template compilation for prompts, progressive synthesis guidance (#77)
9c4774f
- docs: sync all docs with built-in prompts, optional config, Handlebars templates
1b59b85
- chore: release @karmaniverous/jeeves-meta-openclaw v0.8.0
9c143c8
- chore: release @karmaniverous/jeeves-meta v0.10.1
b85e0e2
- chore: remove root-level knip (per-package knip configs are authoritative)
119fe89
- lintfix
bfa8cf8
- fix: flatten CLI prompt copy dest to match import.meta.url resolution
acc3e25
- fix: externalize handlebars in rollup config
aa24b46
24 March 2026
- fix: MinimalLogger.warn signature in verify.ts
#76
- docs: update documentation for v0.10.0
#75
- feat: v0.10.0 auto-seed & discovery hardening
#74
- test: add missing tests for computeSummary, routes (metas list, preview, status, unlock, synthesize)
dc688c6
- feat: auto-seed policy with config-driven declarative meta creation (#72)
b6834aa
- feat: convert orchestrator and route file I/O to async (#71)
db06718
- refactor: SOLID/DRY cleanup — extract summary, reduce duplication, async route handlers
07bf698
- refactor: extract shared seed logic from route handler
e118a16
- feat: post-registration virtual rule verification (#36)
3c13d71
- feat: auto-generate _id on first synthesis, expand config hot-reload (#38, #32)
fba9702
- docs: update all documentation to reflect v0.10.0 features (autoSeed, hot-reload, _id auto-gen)
04045fe
- feat: thread pino logger through synthesis pipeline (#27)
12b5a9c
- feat: link to meta.json in progress reports, support insider links (#37)
b93eee5
- fix: neverSynthesized filter checks lastSynthesized instead of Infinity
9ec7fb6
- chore: release @karmaniverous/jeeves-meta v0.10.0
0f81316
- refactor: address Gemini review — parallel prune, idiomatic dirname, clarify hot-reload
4f39def
- chore: release @karmaniverous/jeeves-meta-openclaw v0.7.0
d694381
- fix: MinimalLogger.warn signature in verify.ts (requires obj + msg args)
4bf1310
23 March 2026
- feat: cross-meta references (_crossRefs) — issue #63
#70
- npm audit fix
9ef2856
- feat: add _crossRefs support (Phase 1, issue #63)
743e234
- refactor: DRY extraction for meta content reading and prompt section rendering
1113363
- docs: update READMEs and consumer skill for _crossRefs
1b05274
- docs: update guides for _crossRefs (tools-reference, concepts)
809fbb8
- chore: release @karmaniverous/jeeves-meta v0.9.0
a54c619
- chore: release @karmaniverous/jeeves-meta-openclaw v0.6.0
3fbaaab
- fix: repair interrupted numbered list in SKILL.md (Gemini review)
d6ace79
23 March 2026
- fix: upgrade core to ^0.3.0 + remove redundant TOOLS.md tool catalogue (#67)
#68
- fix: upgrade @karmaniverous/jeeves to ^0.3.0 and trim TOOLS.md meta section
#67
- chore: release @karmaniverous/jeeves-meta-openclaw v0.5.0
662c1a1
- chore: release @karmaniverous/jeeves-meta v0.8.0
71bbe4d
22 March 2026
- fix: standardise bind address, plugin configSchema naming, and defaults (#65)
#66
- fix: standardise bind address, plugin configSchema naming, and defaults
#65
- feat: v0.7.0/v0.5.0 — Progressive Synthesis & Core SDK Adoption
#64
- refactor: SOLID/DRY pass — extract finalizeCycle, deduplicate PLUGIN_ID and tool registration
bb2e9c6
- feat(service): Phase 2 - progressive state, timeout recovery, GET /config
169f035
- feat(openclaw): adopt core SDK v0.2.0 - Phase 1
f765e0d
- test(service): add unit tests for finalizeCycle and timeoutRecovery
03a74f5
- feat(openclaw): add meta_seed, meta_unlock, meta_config tools
35718b5
- docs: update skills, READMEs for v0.7.0 — 7 tools, _state, GET /config
790b3b0
- docs: sync all guides and READMEs with v0.7.0 implementation
2ad7b29
- test(openclaw): add promptInjection tests for 7-tool set
a118c4a
- chore: release @karmaniverous/jeeves-meta v0.7.0
d5af0fa
- chore: release @karmaniverous/jeeves-meta-openclaw v0.4.1
4503873
- fix(service): persist builder error to meta.json on non-timeout failure
cb81f75
- test(service): add 400 test for GET /config with invalid JSONPath
14ff779
- refactor(service): rename CLI validate command to config with alias
2c79e4d
19 March 2026
- fix(openclaw): use core resolveWorkspacePath from jeeves v0.1.4
#50
- fix(service): unique session labels per synthesis cycle
#49
- fix(openclaw): bundle @karmaniverous/jeeves instead of externalizing
#48
- chore: release @karmaniverous/jeeves-meta-openclaw v0.4.0
437053b
- fix(openclaw): use core resolveWorkspacePath from @karmaniverous/jeeves v0.1.4
b50f42a
- chore: release @karmaniverous/jeeves-meta v0.6.1
7f83576
- fix(openclaw): update jeeves to 0.1.6, add servicePackage/pluginPackage fields
8f5755a
- fix(openclaw): update @karmaniverous/jeeves to 0.1.5 (workspace path fallback fix)
4284d25
- fix(openclaw): update @karmaniverous/jeeves to 0.1.3 (inlined content files)
1cc6e84
- fix(service): use unique session labels to prevent 'label already in use' errors
ed6be65
- fix(service): gateway health probe path /api/status -> /status
348f39e
18 March 2026
- feat(openclaw): adopt @karmaniverous/jeeves v0.1.0 for TOOLS.md management
#47
- fix: surface watcher indexing state, fix rulesRegistered false-negative (#43)
#44
- fix: surface watcher indexing state in /status, fix rulesRegistered false-negative
#43
- chore: update dependencies via ncu
d29ae1b
- refactor(openclaw): resolve SOLID/DRY violations
100aacd
- docs: full documentation pass — PlantUML diagrams, sync with implementation
2063052
- refactor(openclaw): resolve SOLID/DRY violations
06b9c10
- chore: release @karmaniverous/jeeves-meta v0.6.0
a2630cb
- test(openclaw): add serviceCommands tests, trim trivial helper tests
1260ade
- refactor(openclaw): adopt createAsyncContentCache from @karmaniverous/jeeves v0.1.1
2b117eb
- chore: release @karmaniverous/jeeves-meta-openclaw v0.3.0
5ea726d
- fix(openclaw): derive plugin version from package.json instead of hard-coding
49be718
- chore: fix all knip errors
a4158e2
- fix: add tagPrefix to auto-changelog config for monorepo tags
7097031
- chore(openclaw): fix knip warnings — un-export unused PLUGIN_ID, ToolMeta, MetaServiceConfig
0922853
- Remove cumulative token usage from TOOLS injection (not actionable for agent)
0fb661c
- style: fix prettier formatting in promptInjection test
930480d
- refactor(openclaw): address Gemini review — add resolvePath to PluginApi
f81fe45
- Add footer with credits to README
40d5e33
16 March 2026
- feat: v0.4.3 — walk-based discovery, periodic health check, dead code removal
#42
- fix: meta.json prompt leak + frontmatter json/file blob leak
#33
- refactor: use package-directory for version resolution
#31
- Phase 1 + 2: Migration to watcher walk
6adb70a
- Phase 3: Dead code removal - drop scan, unregisterRules, walkFiles, paginatedScan
9e7e60a
- Test coverage: add tests for buildMinimalNode, scope, mtimeFilter, readMetaJson, structureHash; fix scheduler mock
525404b
- Close review gaps: health check tests, plugin promptInjection tests, skill updates, stale JSDoc, spec isStale entry
6295198
- SOLID/DRY: extract mtime filter, remove unused node param from getDeltaFiles, fix stale JSDoc, remove TASK.md
0462d47
- SOLID: extract buildMinimalNode to discovery module, reduce orchestrate.ts by 55 lines
f4f95d5
- Phase 4: Periodic watcher health check with rulesRegistered in /status
65bf41e
- Phase 6: Quality gate fixes - lint, typecheck, dead code cleanup
a02e47b
- Phase 1: Foundation changes for v0.4.3 migration
d7f9e43
- DRY: extract readMetaJson utility, eliminate 5 duplicated JSON.parse(readFileSync) patterns
4cae9d3
- refactor: use package-directory for version resolution instead of manual walk
98b46b5
- Phase 5: Plugin rulesRegistered warning + cleanup stale exports
6e04d24
- npm audit fix
41085a0
- Test: add retry exhaustion and 429 tests for HttpWatcherClient.walk (Gemini review)
8936640
- Docs: update READMEs, guides, comments to reflect walk-based discovery and health check
be67ca1
- fix: architect output must be plain markdown, not JSON; defensive parser for unwrapping
ddbc032
- fix: don't persist default prompts in _architect/_critic fields
69a0690
- chore: release @karmaniverous/jeeves-meta v0.5.0
2a77bfc
- Docs: remove stale packages/lib note from root README
0d221f1
- fix: exclude json and file blobs from meta-current frontmatter rendering
9a4a2be
- knip: remove unused buildMinimalNode re-export from discovery index
0efd55e
12 March 2026
- fix: hardcoded constants + frontmatter _* leak
#30
- fix: replace hardcoded version, workspace path, and port constants (#29)
2ed4a04
- chore: release @karmaniverous/jeeves-meta v0.4.2
d41ba20
- fix: exclude _* properties from meta-current frontmatter rendering
26f865b
12 March 2026
- fix: deployment stabilization — Fastify logger, hybrid scan, logger threading, PlantUML
#26
- feat: thread logger through synthesis pipeline
#27
- feat: hybrid scan — filesystem walks for scope/delta/staleness, watcher for discovery
#28
- perf: skip full discovery scan for targeted synthesis
ee82772
- fix: strict builder JSON prompt + robust multi-strategy parser
ec282b1
- feat: file-based output staging, simplified progress messages
ef832a1
- fix: progress events use ownerPath, pretty-print token counts
36a8ddf
- chore: release @karmaniverous/jeeves-meta-openclaw v0.2.0
1b9929a
- fix: bound staleness for never-synthesized metas (Infinity → 1 year)
cbb3520
- fix: fetch token usage from session metadata, not message history
92afdd3
- fix: watcher client timeout + executor content block parsing
f1e840e
- fix: /status should be fast (remove expensive listMetas scan)
716c033
- feat: use glob frontmatter pattern for meta-current virtual rule
77a271d
- fix: Fastify 5 logger — use loggerInstance instead of logger
2d3cd40
- fix: strip .meta from progress paths at queue consumer level
408ffd2
- chore: release @karmaniverous/jeeves-meta v0.4.1
8a43dbe
- fix: use human-readable generated_at in frontmatter
56fd51e
- fix: double-lock when targetPath matches stalest candidate
6bd7783
- feat: instruct builder to use PlantUML instead of ASCII art diagrams
e6d4de2
- fix: generic output delivery instruction for all synthesis phases
c19ee83
- fix: increase watcher client timeout to 30s
9e10258
service/0.4.0
11 March 2026
- chore: add release scripts to service package
#25
- feat: convert jeeves-meta from library to HTTP service (v0.4.0)
#24
- fix: discovery filter, synth→meta rename, executor improvements
#23
- feat: configurable meta property shape
#22
- fix: filter watcher scan to meta.json files only
#21
- Consolidate meta listing/dedup in lib
#20
- Phase 7e: Standardize meta discovery on watcher scan
#19
- fix: map watcher scan response shape
#18
- fix: SKILL.md bootstrap + duplicate shebang
#17
- fix: clean up knip configs in both packages
#16
- fix: add outDir to CLI rollup builds for clean-build compatibility
#15
- fix: resolve TypeDoc warnings
#14
- docs: full documentation pass — sync all docs with implementation
#13
- test: fill coverage gaps — ema, lock, paginatedScan, predicates, findNode
#12
- refactor: SOLID/DRY pass across entire codebase
#11
- feat: migrate synth_list from filesystem glob to watcher_scan
#10
- feat: replace synth-config template with declarative render
#9
- feat: library CLI with config loader and 10 commands
#8
- feat: extract token usage from gateway session history
#7
- feat: bundle jeeves-meta skill with plugin build
#6
- feat: TOOLS.md disk writer and prompt injection
#5
- refactor: normalize paths with shared normalizePath utility
#4
- refactor: simplify plugin config — configPath drives everything
#3
- fix: use shared computeEffectiveStaleness in synth_list
#2
- refactor: move GatewayExecutor from plugin to lib package
#1
- chore: scaffold monorepo from jeeves-watcher template
551f4c3
- chore: remove packages/lib (legacy library)
b9d209c
- feat: port all lib core modules to service (Phase 2)
70f6608
- test: port lib test suite to service (Phase 2b)
16edc38
- feat: scaffold packages/service (Phase 1)
5874910
- docs: add TypeDoc setup, READMEs, guides, and PlantUML diagrams
bb41d88
- feat: plugin conversion to thin HTTP client (Phase 10)
1260f19
- feat: Phase 5 - orchestrator (13-step synthesis cycle)
1550425
- fix: resolve all spec gaps — wire real data into routes, scheduler, status
369d891
- fix: consolidate meta listing + dedupe in lib
37939e5
- docs: rewrite all READMEs and guides for service architecture
63ef413
- refactor: SOLID/DRY pass and test coverage
5c52911
- feat: Phase 1 - schemas and interfaces
e6a1ad5
- feat: progress reporter (Phase 7)
6b76338
- implement dev plan gaps: token tracking, tool refactor, scope condensation
586eb22
- feat: Phase 2 - discovery and ownership tree
0fe2e01
- feat: synthesis queue (Phase 4)
87c6e9d
- feat(openclaw): add installer CLI + tests; fix plugin metadata
bf76188
- chore: lint fixes and remove deprecated warnings after watcher discovery refactor
94c5229
- feat: Phase 4 - archive, structure hash, and lock
3364296
- feat: Phase 7 - OpenClaw plugin with synth tools
235559d
- refactor: rename synth types/rules/payload to meta
58f1059
- feat: virtual rules + synth_trigger + GatewayExecutor
6cd2aa4
- refactor: add targetPath to orchestrate, remove globMetas/ensureMetaJson/watchPaths
5c15fe0
- refactor: SOLID/DRY pass 2 — eliminate duplication across service
6b028e0
- feat: HTTP API route handlers (Phase 3)
297852c
- feat: virtual rule registration + graceful shutdown (Phases 6 & 8)
2befa99
- fix: translate pathPrefix/modifiedAfter to Qdrant filter in HttpWatcherClient; add listMetas tests
fcfa6fe
- feat: CLI completion (Phase 9)
95b8c5c
- feat: Phase 3 - scheduling and staleness
c299fe4
- feat: Phase 6 - HttpWatcherClient implementation
917388f
- resolve spec-vs-implementation gaps
b1e177b
- feat: croner-based scheduler (Phase 5)
2f04f55
- fix: revert @module tag cleanup, add tsdoc.json to service package
4cc25ad
- refactor: SOLID/DRY pass — extract shared utilities, remove duplication
3b224e3
- chore: rename jeeves-synth to jeeves-meta everywhere
2406330
- docs: rewrite SKILL.md admin sections for current architecture
1055200
- fix: use /tools/invoke endpoint for gateway executor
a0e255b
- fix: resolve 11 spec conformance gaps (A-K)
0d7a697
- refactor: SOLID/DRY pass 4 — extract scope helpers, resolve meta dir
92ae7f4
- fix: type SynthEntity, resolve all lint/tsdoc warnings, clean knip findings
ded29a8
- feat: add discoverMetas() watcher-based meta discovery with tests
3515330
- fix: resolve all 13 spec conformance gaps
6e7ad51
- fix: round 3 spec/impl alignment
9c7c62b
- feat: configurable meta property shape (Phase 7m)
dc9553e
- add _emphasis meta field and skipUnchanged config option
787a7c5
- feat: wire service bootstrap + integration plumbing (Phase 11)
39d40bf
- feat: per-phase progress callbacks + lock staging, lib fully decoupled
e63356c
- docs: comprehensive SKILL.md validation and expansion
686bf3a
- refactor: orchestrator discovers metas via watcher scan
34c60fc
- feat: make meta_trigger fire-and-forget
7e6dcf0
- fix: round 4 gaps + architect self-reference
6d6e2c3
- refactor: plugin tools and prompt injection use config-based discovery and domain filter
4c3810c
- refactor: rename synth_* tools to meta_*
176cdc1
- docs: SKILL.md validation pass 3 — accuracy and completeness
b7ed528
- docs: fix 6 inaccuracies found in validation pass
ecf7a62
- chore: release @karmaniverous/jeeves-meta-openclaw v0.1.0
fcf4d15
- fix: round 5 — structure hash scoping + SKILL.md + preview pagination
c9bfffc
- chore: remove dead code (getScopeExclusions, createSynthEngine)
811f66b
- test: add buildMetaFilter edge case tests
44a4970
- refactor: CLI uses watcher-based discovery instead of filesystem glob
ead5e78
- fix: path convention consistency, CLI service start, dependency health reporting
51e455b
- feat: add metaProperty/metaArchiveProperty to SynthConfig schema
5f734c4
- refactor: DRY and robustness pass
fcda1d7
- ci: add GitHub Pages docs deployment workflow
9c131f1
- shared docs workflow
75a12f0
- chore: release @karmaniverous/jeeves-meta v0.4.0
52c127b
- chore: release @karmaniverous/jeeves-meta v0.1.0
17bcc60
- docs: SKILL.md validation pass 2 — 6 inaccuracies fixed
6c29f41
- fix all spec-vs-implementation gaps (round 2)
351dec5
- fix: upsertMetaSection handles duplicate ## Meta sections
3c565bd
- fix: SKILL.md bootstrap with global install, remove duplicate shebang
4aafdd5
- refactor: SOLID/DRY pass 3 — eliminate redundant scan, fix archive path bug
8aa92a7
- fix: filter watcher scan to meta.json files only in buildMetaFilter
8acc06f
- feat: virtual rules use configurable domain tags from metaProperty/metaArchiveProperty
07818c3
- docs: move changelogs to package level
15a9c8d
- fix: CLI validate command — POST→GET mismatch and dead --config code
809a02b
- added env.local.template
4d0ebcc
- docs: resolve all typedoc warnings
e340852
- chore: release @karmaniverous/jeeves-meta v0.2.0
f14c168
- chore: release @karmaniverous/jeeves-meta-openclaw v0.1.2
9df0f27
- fix: map watcher scan response (points/cursor to files/next)
9319a9c
- revert: undo schema extraction, keep docs fixes
8ef3342
- fix: plugin manifest configSchema and TOOLS.md bootstrapping prompts
64027bf
- chore: rename lib to jeeves-meta-lib, service to jeeves-meta
5cd229a
- fix: require .meta/ in discovery filter path
894aa1b
- installed dotenvx
d3c437b
- chore: release @karmaniverous/jeeves-meta v0.3.0
e15e4ce
- chore: release @karmaniverous/jeeves-meta-openclaw v0.1.5
b58cc1f
- fix: ProgressReporter gateway payload uses 'args' not 'parameters'
b3ab2e1
- chore: release @karmaniverous/jeeves-meta v0.3.3
288c185
- fix: ProgressReporter uses shared config ref for reportChannel hot-reload
11f3e7d
- feat: add configurable thinking level for synthesis sessions
de9d265
- chore: release @karmaniverous/jeeves-meta-openclaw v0.1.3
fd3f668
- chore: release @karmaniverous/jeeves-meta-openclaw v0.1.4
864e0f6
- chore: release @karmaniverous/jeeves-meta-openclaw v0.1.1
cfe1e03
- fix: plugin items→metas array name mismatch + spec updates
aaecbfd
- chore: release @karmaniverous/jeeves-meta v0.3.1
afba770
- refactor: DRY normalizePath — remove duplicate in ownershipTree
fb37b31
- chore: release @karmaniverous/jeeves-meta v0.3.2
c0d54b0
- chore: release @karmaniverous/jeeves-meta v0.2.2
2d2d181
- chore: release @karmaniverous/jeeves-meta v0.2.1
17bbb31
- fix: filter orphaned paths before building ownership tree
f8504f0
- fix: correct lib release-it tag from service to lib
cc9f815
- change depthWeight default from 1 to 0.5
5cf4e3c
- docs: add path parameter to synth_preview in SKILL.md
cfc1405
- fix: resolve TypeDoc warnings — use README.md links instead of directory links
353a103
- fix: synthesis_complete event now includes cumulative tokens
91f9113
- ci: add build step before docs generation
888b279