kodelyth-ecc 2.4.0 → 2.4.1
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/CHANGELOG.md +30 -0
- package/VERSION +1 -1
- package/package.json +1 -1
- package/rules/common/agent-intent-routing.md +126 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Kodelyth ECC are documented here.
|
|
4
4
|
|
|
5
|
+
## v2.4.1 — Intent routing v2 (July 2026)
|
|
6
|
+
|
|
7
|
+
Full design pass on `rules/common/agent-intent-routing.md` — the always-on rule that maps plain-language user intent to specialist agents. Deferred from 2.4.0.
|
|
8
|
+
|
|
9
|
+
### Added — 8 new routing dimensions layered above the existing 10-tier signal tables
|
|
10
|
+
|
|
11
|
+
1. **Confidence tiers** — high (route silently), medium (route + "not X? say so" tail), low (name 2 candidates, ask), none (answer directly, don't announce)
|
|
12
|
+
2. **Session-state awareness** — once routed to an agent, stay in its voice for follow-ups. Do NOT re-announce the same routing. Only re-route when the user's message contains a stronger signal for a different agent
|
|
13
|
+
3. **Anti-routing whitelist** — 6 situations where routing MUST be skipped (under 5 words with no code, one-line factual questions, explicit `use X`, "don't route", mid-workflow, ECC-itself bug reports)
|
|
14
|
+
4. **New signal families for v2.4+** — routes for `/terse`, `/terse-compress`, `codebase-memory-mcp` queries, `kodelythecc uninstall`, `kodelythecc dashboard`, IDE install
|
|
15
|
+
5. **Compound intent → parallel commands** — when 2 tables match at once, fire the parallel command instead of both agents sequentially (security+review → `/security-audit`, bug+multi-layer → `/debug-blitz`, etc.)
|
|
16
|
+
6. **Announcement style adapts to terse mode** — if `/terse` is active this session, drop the tip line and use one-token announcement `→ debug-detective` instead of the full form
|
|
17
|
+
7. **Cultural / multi-language cues** — read emotional markers in any language, strip filler like "bro"/"yaar"/"man", respond in the user's this-turn language, never translate code/errors/commands
|
|
18
|
+
8. **Evolve integration** — routing misses feed `~/.kodelythecc/evolve/routing-misses.jsonl` so the evolve pipeline can propose new triggers later
|
|
19
|
+
|
|
20
|
+
### Added — 5 new output-format examples
|
|
21
|
+
|
|
22
|
+
- Default (verbose)
|
|
23
|
+
- Terse mode active — one-token announcement
|
|
24
|
+
- Medium-confidence single match — with "wrong?" tail
|
|
25
|
+
- Low-confidence, two candidates — asks user to pick
|
|
26
|
+
- Sticky routing continuation — no re-announcement
|
|
27
|
+
- Compound intent → parallel command
|
|
28
|
+
|
|
29
|
+
### Verified
|
|
30
|
+
|
|
31
|
+
- All 21 tests pass
|
|
32
|
+
- Rule file grew from 707 → 832 lines (net +125 lines of new dimensions), 69 sections total
|
|
33
|
+
- The 10-tier priority signal tables (unchanged) remain the workhorse; the 8 new dimensions layer above them
|
|
34
|
+
|
|
5
35
|
## v2.4.0 — MCP auto-register + full uninstall (July 2026)
|
|
6
36
|
|
|
7
37
|
Real bugs surfaced by live user testing on a fresh Mac install.
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.4.
|
|
1
|
+
2.4.1
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kodelyth-ecc",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.1",
|
|
4
4
|
"description": "Production-grade AI coding toolkit — 70 agents (incl. devil-mode adversarial crew), 194 skills, 97 commands, parallel multi-agent commands, semantic intent routing, self-learning memory, and a built-in MCP server (16 tools / 6 prompts / 377 resources) that bridges to Claude Desktop, LangGraph, AutoGen, CrewAI, and OpenAI Agents SDK. Works with Claude Code, Windsurf, Cursor, Codex, Antigravity, OpenCode, Cline, RooCode, Aider, Kimi, and Gemini CLI.",
|
|
5
5
|
"author": "Kodelyth <github.com/sifxprime>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,6 +16,96 @@ If multiple agents match, pick the **highest priority** below (priority decrease
|
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
+
## Routing v2 — The Eight Dimensions
|
|
20
|
+
|
|
21
|
+
The signal tables below tell you **which agent** matches. These dimensions tell you **how confidently to route, when to stay silent, how to announce, and how to handle compound intent**. Apply them in order.
|
|
22
|
+
|
|
23
|
+
### 1. Confidence tiers
|
|
24
|
+
|
|
25
|
+
| Tier | Trigger | AI behaviour |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| **High** — 2+ signals from one table, OR 1 signal + emotion, OR explicit `use X` / `@X` | Route immediately with one-line announcement |
|
|
28
|
+
| **Medium** — 1 clean signal, no counter-signals | Route with one-line announcement AND a "Not X? Say so, I'll switch" tail |
|
|
29
|
+
| **Low** — 1 weak signal, or signals from 2+ tables of similar priority | **Do NOT auto-route.** Name the 2 best candidates in one line, ask which fits |
|
|
30
|
+
| **None** — no signal, or explicit anti-routing | Answer directly, no routing announcement |
|
|
31
|
+
|
|
32
|
+
### 2. Session-state awareness (sticky routing)
|
|
33
|
+
|
|
34
|
+
Once you have routed to an agent this session, **stay in that agent's voice** for follow-ups on the same thread unless:
|
|
35
|
+
|
|
36
|
+
- The user's next message contains a **stronger signal** for a different agent
|
|
37
|
+
- The user says "back to normal", "stop routing", "just answer me"
|
|
38
|
+
- The task has clearly concluded (test passes, PR merged, question answered)
|
|
39
|
+
|
|
40
|
+
**Never re-announce the same routing.** Sticky = quiet. Only announce again when the agent actually changes.
|
|
41
|
+
|
|
42
|
+
### 3. Anti-routing whitelist
|
|
43
|
+
|
|
44
|
+
Route to **no one** in these cases (skip Priority 1-10 entirely):
|
|
45
|
+
|
|
46
|
+
- Message is under 5 words AND has no error/code paste (e.g. "hi", "ok", "thanks", "cool", "yes")
|
|
47
|
+
- Message is a factual question with a one-line answer ("what does `git stash pop` do?")
|
|
48
|
+
- User already invoked with `use X`, `@X`, `run <agent>` — respect explicit choice
|
|
49
|
+
- User said "don't route" / "just answer" / "stop routing" this session
|
|
50
|
+
- User is in the middle of a multi-step interactive workflow the previous agent started
|
|
51
|
+
- The message is a bug report about ECC itself (routing bugs, install bugs) — answer as the maintainer, not as a specialist
|
|
52
|
+
|
|
53
|
+
### 4. New signal families (v2.4+)
|
|
54
|
+
|
|
55
|
+
Beyond the 10 priority tiers below, watch for these newer signals — they map to features shipped in ECC 2.x:
|
|
56
|
+
|
|
57
|
+
| User says | Route to |
|
|
58
|
+
|---|---|
|
|
59
|
+
| "compress this memory file" / "shrink CLAUDE.md" / "make my rules smaller" | `/terse-compress` |
|
|
60
|
+
| "talk shorter" / "be brief" / "less verbose" / "caveman mode" | `/terse` (skill activation) |
|
|
61
|
+
| "who calls X" / "where is X used" / "trace the call chain" / "impact analysis" | `codebase-memory-mcp` via `search_graph` / `trace_path` |
|
|
62
|
+
| "index this project" / "build the graph" / "scan the codebase" | `codebase-memory-mcp` via `index_repository` |
|
|
63
|
+
| "remove ECC" / "uninstall kodelythecc" / "clean this up" | Suggest `kodelythecc uninstall --dry-run` |
|
|
64
|
+
| "how much did I save" / "show my token savings" / "RTK stats" | `kodelythecc dashboard` OR `kodelythecc rtk gain` |
|
|
65
|
+
| "install for another IDE" / "add to Cursor / Windsurf / Antigravity" | `kodelythecc --target <ide>` |
|
|
66
|
+
|
|
67
|
+
### 5. Compound intent → parallel agents
|
|
68
|
+
|
|
69
|
+
Some messages match **two priority tables at once**. When they do, fire the parallel command, not both agents sequentially.
|
|
70
|
+
|
|
71
|
+
| User signals | Fire |
|
|
72
|
+
|---|---|
|
|
73
|
+
| security question + review question | `/security-audit` |
|
|
74
|
+
| bug + been-stuck-for-hours + multi-layer | `/debug-blitz` |
|
|
75
|
+
| architecture + security + a11y (new project) | `/project-launch` |
|
|
76
|
+
| pre-release + full audit | `/pre-release` |
|
|
77
|
+
| refactor + types + tests | `/refactor-sprint` |
|
|
78
|
+
| attacker mindset + multi-vector | `/devil-mode` |
|
|
79
|
+
| new codebase + orientation | `/onboard` |
|
|
80
|
+
| general audit + multiple angles | `/team-review` |
|
|
81
|
+
|
|
82
|
+
### 6. Announcement style adapts to terse mode
|
|
83
|
+
|
|
84
|
+
If the user has typed `/terse` this session:
|
|
85
|
+
|
|
86
|
+
- Drop the `Tip: next time you can type "use <agent>"` line
|
|
87
|
+
- Use a one-token announcement: `→ debug-detective` instead of `→ Routing to debug-detective (stack trace + frustration match)`
|
|
88
|
+
- No trailing decoration
|
|
89
|
+
|
|
90
|
+
If terse is **off**, use the full form documented in the "Output Format" section at the bottom.
|
|
91
|
+
|
|
92
|
+
### 7. Cultural + multi-language cues
|
|
93
|
+
|
|
94
|
+
The user may write in a mixed register (English + native language + technical shorthand). Read the cues:
|
|
95
|
+
|
|
96
|
+
- Emotional markers in any language route the same way: "arre yaar broken hai" = frustration = `debug-detective`
|
|
97
|
+
- Filler like "bro", "yaar", "man", "please" is not a signal — strip it, read the substance
|
|
98
|
+
- If the user's message language differs from previous turns, respond in the same language they used **this turn**, not their previous one
|
|
99
|
+
- Code identifiers, commands, and error text stay in their original language (never translate `NullPointerException`)
|
|
100
|
+
|
|
101
|
+
### 8. Evolve integration — routing misses become proposals
|
|
102
|
+
|
|
103
|
+
When you route (or explicitly do NOT route because the signal was weak) and the outcome is unsatisfying, the ECC evolve system writes this to `~/.kodelythecc/evolve/routing-misses.jsonl` so proposals for new triggers can be surfaced later.
|
|
104
|
+
|
|
105
|
+
You never write this file yourself. Just be honest in the routing announcement: if the match is weak, say "medium confidence — routing to X, not Y, because Z" so the evolve pipeline has a clean signal.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
19
109
|
## How to Apply This Rule — Semantic Intent, Not Keyword Matching
|
|
20
110
|
|
|
21
111
|
**Read the intent behind the words, not just the words.**
|
|
@@ -696,6 +786,7 @@ When the user's request spans multiple concerns, name the parallel agents:
|
|
|
696
786
|
|
|
697
787
|
## Output Format When Routing
|
|
698
788
|
|
|
789
|
+
**Default (verbose)**:
|
|
699
790
|
```
|
|
700
791
|
→ Routing to debug-detective (stack trace + frustration signals match the bug-tracking pattern)
|
|
701
792
|
|
|
@@ -704,4 +795,38 @@ When the user's request spans multiple concerns, name the parallel agents:
|
|
|
704
795
|
Tip: next time you can type "use debug-detective" to invoke me directly.
|
|
705
796
|
```
|
|
706
797
|
|
|
707
|
-
|
|
798
|
+
**Terse mode active (see Dimension 6)**:
|
|
799
|
+
```
|
|
800
|
+
→ debug-detective
|
|
801
|
+
|
|
802
|
+
[response — no tip line, no explanation of why]
|
|
803
|
+
```
|
|
804
|
+
|
|
805
|
+
**Medium-confidence single match** (add a "wrong?" tail):
|
|
806
|
+
```
|
|
807
|
+
→ Routing to code-reviewer (single file paste, no other context — treating as review)
|
|
808
|
+
|
|
809
|
+
[response as code-reviewer]
|
|
810
|
+
|
|
811
|
+
Not what you wanted? Say "use debug-detective" or "just answer" to switch.
|
|
812
|
+
```
|
|
813
|
+
|
|
814
|
+
**Low-confidence, two candidates** (ask, do not pick):
|
|
815
|
+
```
|
|
816
|
+
Two agents fit this: debug-detective (bug + error) or silent-failure-hunter (no error thrown).
|
|
817
|
+
Which one? Or should I answer directly?
|
|
818
|
+
```
|
|
819
|
+
|
|
820
|
+
**Sticky routing continuation** (already in an agent, no announcement):
|
|
821
|
+
```
|
|
822
|
+
[response continues in the same agent's voice — no re-announcement]
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
**Compound intent → parallel command**:
|
|
826
|
+
```
|
|
827
|
+
→ Firing /debug-blitz — 3 agents in parallel (debug-detective + silent-failure-hunter + env-debugger)
|
|
828
|
+
|
|
829
|
+
[synthesised result]
|
|
830
|
+
```
|
|
831
|
+
|
|
832
|
+
This keeps the user **informed**, **never surprised**, and **learning the toolkit** with every interaction — while still respecting terse mode and session context.
|