@elvatis_com/openclaw-self-healing-elvatis 0.2.9 → 0.2.10

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.
@@ -65,3 +65,32 @@ scripts/ ← one-off utilities (roadmap issue creation, etc.)
65
65
  - `SKILL.md` — if commands or config changed
66
66
 
67
67
  Skipping documentation = incomplete release. No exceptions.
68
+
69
+ ---
70
+
71
+ ## 🚨 Release-Regel: Erst fertig, dann publishen (gilt für ALLE Plattformen)
72
+
73
+ **IMMER erst alles fertigstellen, danach publishen. Kein einziger Commit mehr dazwischen.**
74
+ Gilt für GitHub, npm, ClawHub, PyPI — egal ob ein Projekt auf einer oder mehreren Plattformen ist.
75
+ Sonst divergieren die Tarballs/Releases zwangsläufig.
76
+
77
+ ### Reihenfolge (nie abweichen)
78
+ 1. Alle Änderungen + Versionsbumps in **einem einzigen Commit** abschließen
79
+ 2. `git push` → Plattform 1 (z.B. GitHub)
80
+ 3. `npm publish` / `clawhub publish` / etc. — alle weiteren Plattformen
81
+ 4. Kein weiterer Commit bis zum nächsten Release (außer reine interne Doku)
82
+
83
+ ### Vor jedem Release: Alle Versionsstellen prüfen
84
+ ```bash
85
+ grep -rn "X\.Y\.Z\|Current version\|Version:" \
86
+ --include="*.md" --include="*.json" \
87
+ --exclude-dir=node_modules --exclude-dir=dist --exclude-dir=.git
88
+ ```
89
+ Typische vergessene Stellen: `README.md` Header, `SKILL.md` Footer, `package.json`,
90
+ `openclaw.plugin.json`, `.ai/handoff/STATUS.md` (Header + Plattform-Zeilen), Changelog-Eintrag.
91
+
92
+ ### Secrets & private Pfade — NIEMALS in Repos
93
+ - Keine API Keys, Tokens, Passwörter, Secrets in Code oder Docs
94
+ - Keine absoluten lokalen Pfade (`/home/user/...`) in publizierten Dateien
95
+ - Keine `.env`-Dateien committen — immer in `.gitignore`
96
+ - Vor jedem Push: `git diff --staged` auf Secrets prüfen
@@ -1,14 +1,14 @@
1
1
  # STATUS.md — openclaw-self-healing-elvatis
2
2
 
3
- _Last updated: 2026-03-07 by Akido (claude-sonnet-4-6)_
3
+ _Last updated: 2026-03-08 by Akido (claude-sonnet-4-6)_
4
4
 
5
- ## Current Version: 0.2.8 — STABLE
5
+ ## Current Version: 0.2.10 — STABLE
6
6
 
7
7
  ## What is done
8
8
 
9
9
  - ✅ Repo: `https://github.com/elvatis/openclaw-self-healing-elvatis`
10
- - ✅ npm: `@elvatis_com/openclaw-self-healing-elvatis@0.2.8`
11
- - ✅ ClawHub: `openclaw-self-healing-elvatis@0.2.8`
10
+ - ✅ npm: `@elvatis_com/openclaw-self-healing-elvatis@0.2.10`
11
+ - ✅ ClawHub: `openclaw-self-healing-elvatis@0.2.10`
12
12
  - ✅ Model failover: rate-limit + auth-scope cooldown, configurable fallback order
13
13
  - ✅ WhatsApp reconnect: disconnect streak detection + gateway restart
14
14
  - ✅ Cron failure: consecutive fail threshold → disable + GitHub issue
@@ -18,20 +18,17 @@ _Last updated: 2026-03-07 by Akido (claude-sonnet-4-6)_
18
18
  - ✅ Status snapshot: written to file on every tick for external monitoring
19
19
  - ✅ Active recovery probing: polls limited models to detect early recovery
20
20
  - ✅ Dry-run mode: full behavior simulation without side effects
21
- - ✅ Config hot-reload: reads `api.pluginConfig` on each tick
22
- - ✅ Atomic state writes: tmp file + rename to avoid partial writes
23
- - ✅ 181 tests across 2 suites (unit + integration)
24
- - ✅ TypeScript build + typecheck pipeline
25
- - ✅ `.clawhubignore` + rsync-based ClawHub publish documented in CONVENTIONS.md
21
+ - ✅ Backup path: `~/.openclaw/backups/openclaw.json/openclaw.json.<timestamp>.bak`
26
22
 
27
- ## Critical Bug Fixed (v0.2.8)
23
+ ## Backup Behavior
28
24
 
29
- **Infinite gateway restart loop** `lastRestartAt` was being saved AFTER
30
- `openclaw gateway restart`, which kills the process via systemd. On the next
31
- boot, `lastRestartAt = 0`, bypassing the `whatsappMinRestartIntervalSec`
32
- rate-limit guard. Fixed by saving state BEFORE the restart call.
25
+ The plugin creates timestamped backups before any action that could restart the gateway
26
+ or change cron/plugin state. Backups are written to:
27
+ `~/.openclaw/backups/openclaw.json/openclaw.json.<ISO-timestamp>.bak`
28
+
29
+ Note: Files like `openclaw.json.bak` in `~/.openclaw/` are from the manual config-change
30
+ checklist procedure, not from this plugin.
33
31
 
34
32
  ## Open Risks
35
33
 
36
- - `T-014`: Heal metrics export to JSONL not yet implemented (low priority, no blocker)
37
- - ClawHub publish via `clawhub publish <dir>` ignores `.clawhubignore` — use rsync workaround (see CONVENTIONS.md)
34
+ - ClawHub publish ignores `.clawhubignore` use rsync workaround (see CONVENTIONS.md)
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # openclaw-self-healing-elvatis
2
2
 
3
- **Current version: `0.2.8`**
3
+ **Current version: `0.2.10`**
4
4
 
5
5
  OpenClaw plugin that improves resilience by automatically fixing reversible failures.
6
6
 
@@ -13,6 +13,15 @@ OpenClaw plugin that improves resilience by automatically fixing reversible fail
13
13
 
14
14
  ## Changelog
15
15
 
16
+ ### v0.2.10 — 2026-03-08
17
+ Docs fix: README and STATUS.md version headers were stuck at 0.2.8 after v0.2.9 bump; SKILL.md missing version footer; add universal release-rule to CONVENTIONS.md.
18
+
19
+ ### v0.2.9 — 2026-03-07
20
+ **Fix: Plugin health monitoring JSON parsing**
21
+ Extract JSON from stdout before parsing — channels subprocess output includes
22
+ non-JSON log lines (e.g. `[INFO] ...`) before the JSON payload, causing parse
23
+ failures in plugin health checks.
24
+
16
25
  ### v0.2.8 — 2026-03-07
17
26
  **Fix: Infinite gateway restart loop**
18
27
  `lastRestartAt` and `disconnectStreak` are now saved to disk **before** calling
package/SKILL.md CHANGED
@@ -22,3 +22,5 @@ clawhub install openclaw-self-healing-elvatis
22
22
  ## Notes
23
23
 
24
24
  Keep repository content public-safe (no private identifiers).
25
+
26
+ **Version:** 0.2.10
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "openclaw-self-healing-elvatis",
3
3
  "name": "OpenClaw Self Healing",
4
- "version": "0.2.9",
4
+ "version": "0.2.10",
5
5
  "description": "Self-healing health checks + guardrails + auto-fix for reversible failures (rate limits, auth errors, stuck session pins).",
6
6
  "configSchema": {
7
7
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -107,4 +107,4 @@
107
107
  }
108
108
  }
109
109
  }
110
- }
110
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elvatis_com/openclaw-self-healing-elvatis",
3
- "version": "0.2.9",
3
+ "version": "0.2.10",
4
4
  "type": "module",
5
5
  "openclaw": {
6
6
  "extensions": [
@@ -20,4 +20,4 @@
20
20
  "typescript": "^5.9.3",
21
21
  "vitest": "^4.0.18"
22
22
  }
23
- }
23
+ }