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 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.0
1
+ 2.4.1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kodelyth-ecc",
3
- "version": "2.4.0",
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
- This keeps the user **informed**, **never surprised**, and **learning the toolkit** with every interaction.
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.