@karmaniverous/jeeves-meta-openclaw 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,9 +4,10 @@ OpenClaw plugin for [jeeves-meta](../service/). A thin HTTP client that register
4
4
 
5
5
  ## Features
6
6
 
7
- - **Eight interactive tools** — `meta_list`, `meta_detail` (with cross-ref status), `meta_trigger`, `meta_preview`, `meta_seed` (with cross-refs and steer), `meta_unlock`, `meta_config`, `meta_queue` (list/clear/abort)
7
+ - **Eleven tools** — standard: `meta_status`, `meta_config`, `meta_config_apply`, `meta_service`; custom: `meta_list`, `meta_detail`, `meta_trigger`, `meta_preview`, `meta_seed`, `meta_unlock`, `meta_queue` (list/clear/abort)
8
8
  - **MetaServiceClient** — typed HTTP client delegating all operations to the running service
9
9
  - **TOOLS.md injection** — periodic refresh of entity stats via `ComponentWriter` from `@karmaniverous/jeeves` (73-second prime interval)
10
+ - **Cleanup escalation** — passes `gatewayUrl` into `ComponentWriter` so managed-content cleanup can request a gateway session when needed
10
11
  - **Dependency health** — shows warnings when watcher/gateway are degraded
11
12
  - **Consumer skill** — `SKILL.md` for agent integration
12
13
 
@@ -56,7 +57,7 @@ The `configRoot` setting tells `@karmaniverous/jeeves` core where to find the pl
56
57
  ## Documentation
57
58
 
58
59
  - **[Plugin Setup](guides/plugin-setup.md)** — installation, config, lifecycle
59
- - **[Tools Reference](guides/tools-reference.md)** — meta_list, meta_detail, meta_trigger, meta_preview, meta_seed, meta_unlock, meta_config, meta_queue
60
+ - **[Tools Reference](guides/tools-reference.md)** — 11 tools: standard (meta_status, meta_config, meta_config_apply, meta_service) + custom (meta_list, meta_detail, meta_trigger, meta_preview, meta_seed, meta_unlock, meta_queue)
60
61
  - **[Virtual Rules](guides/virtual-rules.md)** — watcher inference rules
61
62
  - **[TOOLS.md Injection](guides/tools-injection.md)** — dynamic prompt generation
62
63
 
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: jeeves
3
+ description: Jeeves platform architecture, data flow, component interaction, scripts repo, and coordination knowledge. Use when making architectural decisions, coordinating across components, checking platform health, managing service lifecycle, or working with the scripts repo.
4
+ ---
5
+
6
+ # Jeeves Platform Skill
7
+
8
+ ## Platform Architecture
9
+
10
+ Jeeves is a four-component platform coordinated by a shared library (`@karmaniverous/jeeves`):
11
+
12
+ | Component | Role | Port |
13
+ |-----------|------|------|
14
+ | **jeeves-runner** | Execute: scheduled jobs, SQLite state, HTTP API | 1937 |
15
+ | **jeeves-watcher** | Index: file→Qdrant semantic indexing, inference rules | 1936 |
16
+ | **jeeves-server** | Present: web UI, file browser, doc render, export | 1934 |
17
+ | **jeeves-meta** | Distill: LLM synthesis, .meta/ directories, scheduling | 1938 |
18
+
19
+ Core (`@karmaniverous/jeeves`) is a **library + CLI**, not a service. No port.
20
+
21
+ ## Data Flow
22
+
23
+ ```
24
+ Files → Watcher (index) → Qdrant → Meta (synthesize) → .meta/ → Watcher (re-index)
25
+
26
+ Runner (schedule) → Scripts → Services ← Server (present) ← Browser
27
+ ```
28
+
29
+ ## Component Interaction
30
+
31
+ - **Watcher** indexes files into Qdrant with inference rules and enrichments.
32
+ - **Meta** reads from Qdrant, synthesizes `.meta/` directories, which watcher re-indexes.
33
+ - **Runner** executes scheduled scripts that may call any service's HTTP API.
34
+ - **Server** presents files, renders documents, and provides the event gateway.
35
+ - **Core** provides shared content management (TOOLS.md, SOUL.md, AGENTS.md), service discovery, config resolution, and the component SDK.
36
+
37
+ ## Service Discovery
38
+
39
+ Services find each other via config resolution:
40
+ 1. Component's own config file (`{configRoot}/jeeves-{name}/config.json`)
41
+ 2. Core config file (`{configRoot}/jeeves-core/config.json`)
42
+ 3. Default port constants
43
+
44
+ ## Scripts Repo
45
+
46
+ Location: `{configRoot}/jeeves-core/scripts/`
47
+ Template: `@karmaniverous/jeeves-scripts-template`
48
+
49
+ Scripts use utilities from `@karmaniverous/jeeves` (general) and `@karmaniverous/jeeves-runner` (runner-specific). Any script that could be useful outside runner scheduling belongs in core.
50
+
51
+ ## Managed Content System
52
+
53
+ Core maintains managed sections in workspace files using comment markers:
54
+ - **TOOLS.md** — Component sections (section mode) + Platform section
55
+ - **SOUL.md** — Professional discipline and behavioral foundations (block mode)
56
+ - **AGENTS.md** — Operational protocols and memory architecture (block mode)
57
+ - **HEARTBEAT.md** — Platform health status (heading-based)
58
+
59
+ Managed blocks are stationary after initial insertion. Cleanup detection uses Jaccard similarity on 3-word shingles. Cleanup escalation spawns a gateway session when orphaned content is detected.
60
+
61
+ ## Workspace Configuration
62
+
63
+ `jeeves.config.json` at workspace root provides shared defaults:
64
+ - Precedence: CLI flags → env vars → file → defaults
65
+ - Namespaced: `core.*` (workspace, configRoot, gatewayUrl) and `memory.*` (budget, warningThreshold, staleDays)
66
+ - Inspect with `jeeves config [jsonpath]`
67
+
68
+ ## HEARTBEAT Protocol
69
+
70
+ The HEARTBEAT system uses a state machine per component:
71
+ `not_installed → deps_missing → config_missing → service_not_installed → service_stopped → healthy`
72
+
73
+ Dependency-aware: hard deps block alerts, soft deps add informational notes. Declined components are tracked via heading suffix.
74
+
75
+ ## Plugin Lifecycle
76
+
77
+ ```bash
78
+ # Core install (seed workspace content)
79
+ npx @karmaniverous/jeeves install
80
+
81
+ # Component plugin install
82
+ npx @karmaniverous/jeeves-{component}-openclaw install
83
+
84
+ # Component plugin uninstall
85
+ npx @karmaniverous/jeeves-{component}-openclaw uninstall
86
+
87
+ # Core uninstall (remove managed sections)
88
+ npx @karmaniverous/jeeves uninstall
89
+ ```
90
+
91
+ ## Memory Hygiene
92
+
93
+ MEMORY.md has a character budget (default 20,000). Core tracks:
94
+ - Character count and usage percentage
95
+ - Warning at 80% of budget
96
+ - Stale section candidates (H2 sections whose most recent ISO date exceeds the staleness threshold)
97
+ - Evergreen sections (no dates) are never flagged
98
+
99
+ Review is human/agent-mediated — core does not auto-delete.
100
+
101
+ ### HEARTBEAT Integration
102
+
103
+ Memory hygiene is checked on every `ComponentWriter` cycle alongside component health. When budget or staleness thresholds are breached, a `## MEMORY.md` alert appears in HEARTBEAT.md under `# Jeeves Platform Status`. The alert includes character count, budget usage percentage, and any stale section names. When memory is healthy, the heading is absent — no alert content, no LLM cost on heartbeat polls.
104
+
105
+ The `## MEMORY.md` heading follows the same declined/active lifecycle as component headings (`## jeeves-{name}`). Users can decline memory alerts by changing the heading to `## MEMORY.md: declined`.