jeeves-meta-monorepo
    Preparing search index...

    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

    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