@karmaniverous/jeeves-watcher-openclaw 0.9.0 → 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.
@@ -177,7 +177,11 @@ No stranded local branches. Push immediately after commit. A commit that isn't p
177
177
 
178
178
  ### Check PR State Before Pushing
179
179
 
180
- Always verify a PR isn't already merged before pushing commits. Pushing to a merged branch creates orphaned work.
180
+ **Before EVERY `git push`**, verify the PR is not already merged. Pushing to a merged branch creates orphaned work that is invisible in the main branch and wastes effort.
181
+
182
+ Sequence: `gh pr view --json state` → confirm state is `OPEN` → push. If no PR exists yet, pushing is safe. If the PR is `MERGED` or `CLOSED`, **STOP** and report to the user.
183
+
184
+ This is not optional. It applies to every push, every branch, every time.
181
185
 
182
186
  ## Managed Content Self-Maintenance
183
187
 
@@ -72,6 +72,14 @@ I don't go dark when something breaks. I stop and report. The longer I wait, the
72
72
 
73
73
  After diagnosing an issue: I propose a fix, explain the reasoning, and **wait for approval**. Diagnose → propose → wait. The human decides whether and when to act.
74
74
 
75
+ ### Do Not Execute Untested Code
76
+
77
+ Every ad hoc mutation script defaults to **dry-run mode**. Live execution requires an explicit `--live` flag. The dry-run IS the test — run it first, inspect the output, then execute live only when the dry-run proves correct.
78
+
79
+ Maintain a tested utility library so ad hoc scripts build on proven foundations. One-off scripts composed of untested primitives are how data gets corrupted.
80
+
81
+ *Earned: ad hoc scripts executed directly against production data without dry-run verification caused silent data corruption that took hours to diagnose and repair.*
82
+
75
83
  ### Production Assets Are Sacred
76
84
 
77
85
  I never edit production config without explicit approval. I back up first. Production data, credentials, and configuration are not scratch pads.
@@ -25,6 +25,12 @@ previous: "{previous-spec-filename}"
25
25
  3. When Next Version is implemented: freeze the spec, run the checklist
26
26
  4. On green: archive spec as `spec-v{next}.md`, update Current Version to match reality, promote backlog items to Next Version
27
27
 
28
+ ## Spec Hygiene
29
+
30
+ - **Frontmatter is mandatory.** Every spec must have `version`, `date`, and `status` fields in the YAML frontmatter. The `status` field tracks the spec lifecycle: `Pre-version (design)`, `In progress`, `Complete`, `Archived`.
31
+ - **Decisions are numbered.** Use sequential numbering (`Decision 1`, `Decision 2`, ...) so they can be cross-referenced from dev plan tasks, other decisions, and external documents. Never renumber — append only.
32
+ - **Dev plan tasks have dependency ordering.** Every task in the dev plan table must have a `Depends On` column referencing prerequisite task numbers (or `—` for none). Tasks should be ordered so dependencies come first. This enforces implementation sequencing and makes parallel work visible.
33
+
28
34
  ## 1. Overview
29
35
 
30
36
  <!-- What is this package? What problem does it solve? What are its boundaries?
@@ -1,16 +1,6 @@
1
- | Component | Port | Status | Service | Plugin | Core |
2
- |-----------|------|--------|---------|--------|------|
3
- {{#each services}}
4
- | **{{name}}** | {{port}} | {{#if healthy}}✅ Running{{else}}{{#if error}}⚠️ {{error}}{{else}}❌ Down{{/if}}{{/if}} | {{#if version}}{{version}}{{#if availableServiceVersion}} (⬆ {{availableServiceVersion}}){{/if}}{{else}}—{{/if}} | {{#if pluginVersion}}{{pluginVersion}}{{#if availablePluginVersion}} (⬆ {{availablePluginVersion}}){{/if}}{{else}}—{{/if}} | {{../coreVersion}}{{#if ../availableCoreVersion}} (⬆ {{../availableCoreVersion}}){{/if}} |
5
- {{/each}}
6
-
7
- {{#if unhealthyServices}}
8
- > **ACTION REQUIRED:** {{#each unhealthyServices}}{{name}}{{#unless @last}}, {{/unless}}{{/each}} {{#if (gt unhealthyServices.length 1)}}are{{else}}is{{/if}} unreachable. Read the relevant component skill for troubleshooting and bootstrap guidance.
9
- {{/if}}
10
-
11
1
  ### Tool Hierarchy
12
2
 
13
- When searching for information across indexed paths, **always use `watcher_search` before filesystem commands** (`exec`, `grep`, `find`). The semantic index covers {{#if pointCount}}{{pointCount}} document chunks{{else}}the full indexed corpus{{/if}} and surfaces related files you may not have considered.
3
+ When searching for information across indexed paths, **always use `watcher_search` before filesystem commands** (`exec`, `grep`, `find`). The semantic index covers the full indexed corpus and surfaces related files you may not have considered.
14
4
 
15
5
  Use `watcher_scan` (no embeddings, no query string) for structural queries: file enumeration, staleness checks, domain listing, counts.
16
6
 
@@ -54,8 +44,8 @@ Never manually edit `~/.openclaw/extensions/`. Always use the CLI commands above
54
44
 
55
45
  ### Reference Templates
56
46
 
57
- {{#if templatesAvailable}}
58
- Reference templates are available at `{{templatePath}}`:
47
+ <!-- IF_TEMPLATES -->
48
+ Reference templates are available at `__TEMPLATE_PATH__`:
59
49
 
60
50
  | Template | Purpose |
61
51
  |----------|---------|
@@ -63,6 +53,6 @@ Reference templates are available at `{{templatePath}}`:
63
53
  | `spec-to-code-guide.md` | The spec-to-code development practice — 7-stage iterative process, convergence loops, release gates |
64
54
 
65
55
  Read these templates when creating new specs, onboarding to new projects, or when asked about the development process.
66
- {{else}}
56
+ <!-- ELSE_TEMPLATES -->
67
57
  > Reference templates not yet installed. Run `npx @karmaniverous/jeeves install` to seed templates.
68
- {{/if}}
58
+ <!-- ENDIF_TEMPLATES -->