Commit 8a541e5
committed
feat: v5.6.0 — activity intelligence, savings measurement, output waste detection
Savings measurement: loop detection and quality nudges now estimate tokens saved
per event (was logging 0, making dashboard show $0.02 when real value is $2K+/mo).
New detectors (100% original):
- output_waste: flags excessive output tokens via 3 signals (output/input ratio,
verbose responses after simple ops, repeated explanations via Jaccard similarity)
- cache_instability: detects CLAUDE.md patterns that break Anthropic's prefix-based
prompt cache (timestamps, auto-generated sections, volatile imports)
Activity intelligence:
- 10-tool sliding window classifies session mode (code/debug/review/infra/general)
- Mode-aware dynamic compact instructions adapt to what you're doing
- Structured decision extraction: detects "decided/chose/going with" patterns,
stores incrementally with atomic read-modify-write (BEGIN IMMEDIATE)
- Anchored iterative compact state persists intent/changes/decisions/errors across
compaction cycles, preventing detail drift
OpenClaw v2.4.0: output_waste detector ported to TypeScript
CE review fixes: catastrophic regex backtracking eliminated (split-then-filter),
activity_log bounded with pruning, vacuous truth on empty tool lists fixed,
dead code removed, rollback guard on transaction failure.
Claude Code plugin: 5.5.1 → 5.6.0 | OpenClaw: 2.3.1 → 2.4.01 parent 35c5dd2 commit 8a541e5
18 files changed
Lines changed: 769 additions & 46 deletions
File tree
- .claude-plugin
- openclaw
- dist
- src
- skills/token-optimizer/scripts
- detectors
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
485 | 485 | | |
486 | 486 | | |
487 | 487 | | |
488 | | - | |
| 488 | + | |
489 | 489 | | |
490 | 490 | | |
491 | 491 | | |
| |||
498 | 498 | | |
499 | 499 | | |
500 | 500 | | |
| 501 | + | |
| 502 | + | |
501 | 503 | | |
502 | 504 | | |
503 | 505 | | |
| |||
565 | 567 | | |
566 | 568 | | |
567 | 569 | | |
568 | | - | |
| 570 | + | |
569 | 571 | | |
570 | 572 | | |
571 | 573 | | |
| |||
743 | 745 | | |
744 | 746 | | |
745 | 747 | | |
746 | | - | |
| 748 | + | |
747 | 749 | | |
748 | 750 | | |
749 | 751 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
| 96 | + | |
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
| |||
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
| 119 | + | |
119 | 120 | | |
120 | 121 | | |
121 | 122 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments