Changelog
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
fix: address Gemini review — sessions_list limit and cache invalidation gate #143
feat: 0.16.0 — bug fixes and phase-state completion #142
chore: convert rollup configs from mjs to ts #103
refactor!: remove legacy orchestration path #138
fix: replace legacy staleness selector with phase-state scheduler in routes #137
fix: apply Tier 1 cheap invalidation at tick time #139
fix: skip architect invalidation on structure change for progressive metas, add large-scope sampling #135
perf: cache listMetas result with 60s TTL #132
fix: detect completed sessions via sessions_list in GatewayExecutor polling #141
fix: add Fastify global request timeout #133
chore: remove dead meta-config rule #116
chore: add npm-pack-check CI workflow #136
test: improve coverage for 0.16.0 touched code 0a18b4a
refactor: SOLID/DRY pass across 0.16.0 touched code 9cd2940
fix: startup readiness gate and heartbeat timeout (#131, #130) 11f0400
chore: release @karmaniverous/jeeves-meta v0.15.4 d525927
chore: add npm publish safety net (.npmignore + gitignore *.local) e6e2332
fix: raise sessions_list limit and gate cache invalidation on execution c5007bb
3 May 2026
updated jeeves-core 2b52161
chore: release @karmaniverous/jeeves-meta-openclaw v0.12.2 4c3a9c8
chore: release @karmaniverous/jeeves-meta v0.15.3 7df8289
Merge pull request #134 from karmaniverous/fix/suppress-subagent-chat-reply 14c7f0d
fix: instruct sub-agent to reply NO_REPLY instead of file path\n\nThe GatewayExecutor spawns sub-agent sessions for each synthesis phase.\nPreviously the task told the sub-agent to reply with the output file path,\nwhich leaked to the parent chat channel (user DMs). The executor\nalready reads output from the staged file on disk, so the chat reply\nserved no purpose.\n\nChange the OUTPUT DELIVERY instruction to reply with NO_REPLY, which\nOpenClaw treats as a silent acknowledgment and does not surface to chat. 4c404a4
22 April 2026
fix: stateless gateway session spawning #128
fix: drop synthetic parent sessionKey from GatewayExecutor — spawn statelessly like runner 8fd051f
updated jeeves core ae050f5
chore: release @karmaniverous/jeeves-meta-openclaw v0.12.1 3301da6
chore: release @karmaniverous/jeeves-meta v0.15.1 ead324e
chore: release @karmaniverous/jeeves-meta v0.15.2 2f2d915
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
chore: release @karmaniverous/jeeves-meta-openclaw v0.12.0 5c00eeb
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
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.11.0 2bf9926
chore: release @karmaniverous/jeeves-meta v0.14.0 17482f0
15 April 2026
fix: normalize owner paths in /synthesize route (#120) #121
fix: normalize owner paths in /synthesize route #120
feat: identify meta synthesis sessions by phase and entity path #119
fix: isolate gateway invoke session per synthesis #118
updated jeeves-core 9e95518
chore: release @karmaniverous/jeeves-meta-openclaw v0.10.7 1196955
chore: release @karmaniverous/jeeves-meta v0.13.10 aa045ea
chore: release @karmaniverous/jeeves-meta v0.13.9 fa19239
chore: release @karmaniverous/jeeves-meta v0.13.8 aee33b6
chore: release @karmaniverous/jeeves-meta v0.13.11 fa46b9b
feat: add H1 identification header and phase-specific labels to synthesis sessions f5c1836
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-openclaw v0.10.6 3351fee
chore: release @karmaniverous/jeeves-meta v0.13.7 ceee364
8 April 2026
chore: release @karmaniverous/jeeves-meta-openclaw v0.10.5 902df3c
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.4 760c13a
chore: release @karmaniverous/jeeves-meta v0.13.5 0aabdab
5 April 2026
hoisted jeeves 8c0549b
chore: release @karmaniverous/jeeves-meta-openclaw v0.10.3 9d67508
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
fix: correct prompt file paths for rollup bundle (fixes #107) #108
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
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.2 5ef44b0
chore: release @karmaniverous/jeeves-meta v0.13.2 a9b0c01
chore: release @karmaniverous/jeeves-meta v0.13.3 4fbcd29
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
test: tighten assertions per Gemini review feedback 9143d60
chore: release @karmaniverous/jeeves-meta-openclaw v0.10.1 a16ec8d
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
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
chore: release @karmaniverous/jeeves-meta-openclaw v0.10.0 7c19ad9
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
refactor: replace local sleep with core sleepAsync, remove sleep.ts a3844b1
test: update service tests for host field removal 3291ae1
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
2 April 2026
fix: plugin descriptor + StatusResponse alignment #99
fix: exclude .meta/ from isStale() mtime check #96
fix: align StatusResponse with actual /status shape, add run stub to descriptor #97 #98
fix: exclude .meta/ from isStale() mtime check (fixes #95) #95
npm audit fix 61c8760
chore: release @karmaniverous/jeeves-meta-openclaw v0.9.3 e9ba4eb
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-openclaw v0.9.2 5b850dd
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
31 March 2026
feat: integrate core 0.4.5 — descriptor.run + start recursion fix #87
fix: correct startCommand path in service descriptor #86
feat: integrate core 0.4.5 — add descriptor.run, fix start recursion 62bbf9d
chore: release @karmaniverous/jeeves-meta-openclaw v0.9.1 da6df48
chore: release @karmaniverous/jeeves-meta v0.12.1 9e7e7aa
chore: release @karmaniverous/jeeves-meta v0.12.2 1733c83
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.9.0 3063f49
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
fix: use character-class glob escaping instead of backslash (Windows) #82
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
npm audit fix 8247c0e
fix: use character-class glob escaping instead of backslash escaping for Windows compatibility 5f8bc9a
chore: release @karmaniverous/jeeves-meta-openclaw v0.8.3 e9a9fdb
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 (Windows-compatible) 2e648f5
ci: add linux-compat workflow via shared gha-workflows 816f0c6
chore: release @karmaniverous/jeeves-meta v0.11.1 b152f37
chore: release @karmaniverous/jeeves-meta v0.11.2 5c0b906
fix: use lock-staged write for empty-scope _generatedAt bump bbcff74
fix: use path.posix.dirname on normalized paths for Linux compatibility 886cc4d
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.2 bcc3027
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.1 77f7c81
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-openclaw v0.8.0 9c143c8
chore: release @karmaniverous/jeeves-meta v0.10.0 0f81316
refactor: address Gemini review — parallel prune, idiomatic dirname, clarify hot-reload 4f39def
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
chore: release @karmaniverous/jeeves-meta-openclaw v0.7.0 d694381
docs: update guides for _crossRefs (tools-reference, concepts) 809fbb8
chore: release @karmaniverous/jeeves-meta v0.9.0 a54c619
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.6.0 3fbaaab
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-openclaw v0.5.0 662c1a1
chore: release @karmaniverous/jeeves-meta v0.7.0 d5af0fa
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
fix(openclaw): use core resolveWorkspacePath from @karmaniverous/jeeves v0.1.4 b50f42a
chore: release @karmaniverous/jeeves-meta-openclaw v0.4.1 4503873
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-openclaw v0.4.0 437053b
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
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
fix: hardcoded constants + frontmatter _* leak #30
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
Phase 1 + 2: Migration to watcher walk 6adb70a
Phase 3: Dead code removal - drop scan, unregisterRules, walkFiles, paginatedScan 9e7e60a
perf: skip full discovery scan for targeted synthesis ee82772
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
fix: replace hardcoded version, workspace path, and port constants (#29) 2ed4a04
fix: strict builder JSON prompt + robust multi-strategy parser ec282b1
DRY: extract readMetaJson utility, eliminate 5 duplicated JSON.parse(readFileSync) patterns 4cae9d3
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.3.0 5ea726d
refactor: use package-directory for version resolution instead of manual walk 98b46b5
Phase 5: Plugin rulesRegistered warning + cleanup stale exports 6e04d24
fix: bound staleness for never-synthesized metas (Infinity → 1 year) cbb3520
fix: fetch token usage from session metadata, not message history 92afdd3
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: watcher client timeout + executor content block parsing f1e840e
fix: /status should be fast (remove expensive listMetas scan) 716c033
fix: architect output must be plain markdown, not JSON; defensive parser for unwrapping ddbc032
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
fix: don't persist default prompts in _architect/_critic fields 69a0690
chore: release @karmaniverous/jeeves-meta v0.5.0 2a77bfc
chore: release @karmaniverous/jeeves-meta v0.4.1 8a43dbe
fix: use human-readable generated_at in frontmatter 56fd51e
chore: release @karmaniverous/jeeves-meta v0.4.2 d41ba20
fix: double-lock when targetPath matches stalest candidate 6bd7783
feat: instruct builder to use PlantUML instead of ASCII art diagrams e6d4de2
Docs: remove stale packages/lib note from root README 0d221f1
fix: exclude json and file blobs from meta-current frontmatter rendering 9a4a2be
fix: exclude _* properties from meta-current frontmatter rendering 26f865b
fix: generic output delivery instruction for all synthesis phases c19ee83
fix: increase watcher client timeout to 30s 9e10258
knip: remove unused buildMinimalNode re-export from discovery index 0efd55e
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
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
feat: plugin conversion to thin HTTP client (Phase 10) 1260f19
fix: resolve all spec gaps — wire real data into routes, scheduler, status 369d891
docs: rewrite all READMEs and guides for service architecture 63ef413
feat: progress reporter (Phase 7) 6b76338
feat: synthesis queue (Phase 4) 87c6e9d
refactor: rename synth types/rules/payload to meta 58f1059
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
feat: CLI completion (Phase 9) 95b8c5c
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
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: resolve all 13 spec conformance gaps 6e7ad51
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
feat: make meta_trigger fire-and-forget 7e6dcf0
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.2.0 1b9929a
fix: path convention consistency, CLI service start, dependency health reporting 51e455b
shared docs workflow 75a12f0
chore: release @karmaniverous/jeeves-meta v0.4.0 52c127b
docs: SKILL.md validation pass 2 — 6 inaccuracies fixed 6c29f41
fix: upsertMetaSection handles duplicate ## Meta sections 3c565bd
refactor: SOLID/DRY pass 3 — eliminate redundant scan, fix archive path bug 8aa92a7
fix: CLI validate command — POST→GET mismatch and dead --config code 809a02b
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
fix: ProgressReporter gateway payload uses 'args' not 'parameters' b3ab2e1
fix: ProgressReporter uses shared config ref for reportChannel hot-reload 11f3e7d
feat: add configurable thinking level for synthesis sessions de9d265
fix: plugin items→metas array name mismatch + spec updates aaecbfd
refactor: DRY normalizePath — remove duplicate in ownershipTree fb37b31
fix: filter orphaned paths before building ownership tree f8504f0
fix: synthesis_complete event now includes cumulative tokens 91f9113
10 March 2026
feat: configurable meta property shape #22
docs: rewrite SKILL.md admin sections for current architecture 1055200
feat: configurable meta property shape (Phase 7m) dc9553e
test: add buildMetaFilter edge case tests 44a4970
refactor: DRY and robustness pass fcda1d7
chore: release @karmaniverous/jeeves-meta-openclaw v0.1.5 b58cc1f
chore: release @karmaniverous/jeeves-meta v0.3.3 288c185
docs: add path parameter to synth_preview in SKILL.md cfc1405
10 March 2026
fix: filter watcher scan to meta.json files only #21
fix: filter watcher scan to meta.json files only in buildMetaFilter 8acc06f
chore: release @karmaniverous/jeeves-meta-openclaw v0.1.4 864e0f6
chore: release @karmaniverous/jeeves-meta v0.3.2 c0d54b0
10 March 2026
Consolidate meta listing/dedup in lib #20
fix: consolidate meta listing + dedupe in lib 37939e5
fix: translate pathPrefix/modifiedAfter to Qdrant filter in HttpWatcherClient; add listMetas tests fcfa6fe
chore: release @karmaniverous/jeeves-meta-openclaw v0.1.3 fd3f668
chore: release @karmaniverous/jeeves-meta v0.3.1 afba770
10 March 2026
Phase 7e: Standardize meta discovery on watcher scan #19
fix: map watcher scan response shape #18
chore: lint fixes and remove deprecated warnings after watcher discovery refactor 94c5229
refactor: add targetPath to orchestrate, remove globMetas/ensureMetaJson/watchPaths 5c15fe0
feat: add discoverMetas() watcher-based meta discovery with tests 3515330
refactor: orchestrator discovers metas via watcher scan 34c60fc
refactor: plugin tools and prompt injection use config-based discovery and domain filter 4c3810c
chore: remove dead code (getScopeExclusions, createSynthEngine) 811f66b
refactor: CLI uses watcher-based discovery instead of filesystem glob ead5e78
feat: add metaProperty/metaArchiveProperty to SynthConfig schema 5f734c4
feat: virtual rules use configurable domain tags from metaProperty/metaArchiveProperty 07818c3
chore: release @karmaniverous/jeeves-meta-openclaw v0.1.2 9df0f27
fix: map watcher scan response (points/cursor to files/next) 9319a9c
chore: release @karmaniverous/jeeves-meta v0.3.0 e15e4ce
chore: release @karmaniverous/jeeves-meta v0.2.2 2d2d181
9 March 2026
fix: SKILL.md bootstrap + duplicate shebang #17
fix: SKILL.md bootstrap with global install, remove duplicate shebang 4aafdd5
chore: release @karmaniverous/jeeves-meta-openclaw v0.1.1 cfe1e03
chore: release @karmaniverous/jeeves-meta v0.2.1 17bbb31
openclaw/0.1.0
9 March 2026
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
docs: add TypeDoc setup, READMEs, guides, and PlantUML diagrams bb41d88
feat: Phase 5 - orchestrator (13-step synthesis cycle) 1550425
refactor: SOLID/DRY pass and test coverage 5c52911
feat: Phase 1 - schemas and interfaces e6a1ad5
implement dev plan gaps: token tracking, tool refactor, scope condensation 586eb22
feat: Phase 2 - discovery and ownership tree 0fe2e01
feat(openclaw): add installer CLI + tests; fix plugin metadata bf76188
feat: Phase 4 - archive, structure hash, and lock 3364296
feat: Phase 7 - OpenClaw plugin with synth tools 235559d
feat: virtual rules + synth_trigger + GatewayExecutor 6cd2aa4
feat: Phase 3 - scheduling and staleness c299fe4
feat: Phase 6 - HttpWatcherClient implementation 917388f
resolve spec-vs-implementation gaps b1e177b
chore: rename jeeves-synth to jeeves-meta everywhere 2406330
fix: type SynthEntity, resolve all lint/tsdoc warnings, clean knip findings ded29a8
fix: round 3 spec/impl alignment 9c7c62b
add _emphasis meta field and skipUnchanged config option 787a7c5
fix: round 4 gaps + architect self-reference 6d6e2c3
chore: release @karmaniverous/jeeves-meta-openclaw v0.1.0 fcf4d15
fix: round 5 — structure hash scoping + SKILL.md + preview pagination c9bfffc
ci: add GitHub Pages docs deployment workflow 9c131f1
chore: release @karmaniverous/jeeves-meta v0.1.0 17bcc60
fix all spec-vs-implementation gaps (round 2) 351dec5
docs: move changelogs to package level 15a9c8d
added env.local.template 4d0ebcc
docs: resolve all typedoc warnings e340852
chore: release @karmaniverous/jeeves-meta v0.2.0 f14c168
revert: undo schema extraction, keep docs fixes 8ef3342
installed dotenvx d3c437b
fix: correct lib release-it tag from service to lib cc9f815
change depthWeight default from 1 to 0.5 5cf4e3c
fix: resolve TypeDoc warnings — use README.md links instead of directory links 353a103
ci: add build step before docs generation 888b279