kodelyth-ecc 1.5.10 → 1.7.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.
Files changed (273) hide show
  1. package/.github/workflows/publish.yml +19 -0
  2. package/AGENTS.md +1 -1
  3. package/CHANGELOG.md +475 -0
  4. package/CLAUDE.md +48 -16
  5. package/README.md +285 -81
  6. package/VERSION +1 -1
  7. package/actions/ecc-review/README.md +243 -0
  8. package/actions/ecc-review/action.yml +158 -0
  9. package/actions/ecc-review/post-comment.js +171 -0
  10. package/actions/ecc-review/run-review.js +285 -0
  11. package/agents/backdoor-hunter.md +260 -0
  12. package/agents/chaos-engineer.md +251 -0
  13. package/agents/code-stealer-detector.md +228 -0
  14. package/agents/jailbreak-tester.md +222 -0
  15. package/agents/license-violation-finder.md +212 -0
  16. package/agents/prompt-injection-hunter.md +126 -0
  17. package/agents/secret-hunter.md +209 -0
  18. package/agents/supply-chain-auditor.md +195 -0
  19. package/bin/kodelyth-ecc.js +875 -1
  20. package/bundles/enterprise.md +172 -0
  21. package/bundles/indie-hacker.md +106 -0
  22. package/bundles/red-team.md +138 -0
  23. package/cat +0 -0
  24. package/commands/dashboard.md +67 -0
  25. package/commands/devil-mode.md +121 -0
  26. package/commands/memory-evolve.md +71 -0
  27. package/commands/replay.md +61 -0
  28. package/commands/route-model.md +48 -0
  29. package/commands/swarm.md +68 -0
  30. package/commands/verify-supply-chain.md +59 -0
  31. package/docs/dashboard.md +211 -0
  32. package/docs/evolve.md +303 -0
  33. package/docs/mcp-clients.md +167 -0
  34. package/docs/mcp.md +178 -0
  35. package/docs/replay.md +244 -0
  36. package/docs/supply-chain.md +207 -0
  37. package/docs/swarm.md +243 -0
  38. package/hooks/hooks.json +52 -0
  39. package/hooks/memory/auto-recall.js +29 -1
  40. package/hooks/safety/README.md +124 -0
  41. package/hooks/safety/lib/patterns.js +179 -0
  42. package/hooks/safety/prompt-injection-guard.js +179 -0
  43. package/hooks/safety/token-budget.js +229 -0
  44. package/install.ps1 +199 -2
  45. package/install.sh +285 -3
  46. package/package.json +30 -4
  47. package/rules/common/agent-intent-routing.md +182 -0
  48. package/rules/common/cost-aware-model-routing.md +152 -0
  49. package/scripts/dashboard/data.js +353 -0
  50. package/scripts/dashboard/server.js +324 -0
  51. package/scripts/dashboard/static/index.html +645 -0
  52. package/scripts/evolve/analyze.js +303 -0
  53. package/scripts/evolve/proposals.js +162 -0
  54. package/scripts/evolve/stats.js +219 -0
  55. package/scripts/mcp/catalog.js +244 -0
  56. package/scripts/mcp/client.js +181 -0
  57. package/scripts/mcp/prompts.js +133 -0
  58. package/scripts/mcp/resources.js +94 -0
  59. package/scripts/mcp/server.js +153 -0
  60. package/scripts/mcp/tools.js +465 -0
  61. package/scripts/replay/bundle.js +191 -0
  62. package/scripts/replay/replay.js +107 -0
  63. package/scripts/router/classify.js +232 -0
  64. package/scripts/supply-chain/manifest.js +155 -0
  65. package/scripts/supply-chain/sbom.js +202 -0
  66. package/scripts/supply-chain/verify.js +102 -0
  67. package/scripts/swarm/build-plan.js +193 -0
  68. package/skills/cost-aware-model-routing/SKILL.md +153 -0
  69. package/skills/kodelyth-quickstart/SKILL.md +7 -0
  70. package/skills/observability-dashboard/SKILL.md +119 -0
  71. package/skills/self-evolving-memory/SKILL.md +175 -0
  72. package/skills/session-replay/SKILL.md +199 -0
  73. package/skills/supply-chain-verification/SKILL.md +201 -0
  74. package/skills/swarm-orchestrator/SKILL.md +177 -0
  75. package/social/card-install.svg +1 -1
  76. package/social/facebook-group/POST.md +121 -0
  77. package/social/facebook-group/fb-1-3am-debug.png +0 -0
  78. package/social/facebook-group/fb-1-3am-debug.svg +97 -0
  79. package/social/facebook-group/fb-2-cpu-upgrade.png +0 -0
  80. package/social/facebook-group/fb-2-cpu-upgrade.svg +132 -0
  81. package/social/facebook-group/fb-3-before-after.png +0 -0
  82. package/social/facebook-group/fb-3-before-after.svg +94 -0
  83. package/social/facebook-v150.svg +6 -6
  84. package/social/github-social-preview.svg +119 -100
  85. package/social/readme-hero.svg +12 -12
  86. package/social/section-agents.svg +57 -0
  87. package/social/section-author.svg +54 -0
  88. package/social/section-dashboard.svg +59 -0
  89. package/social/section-devil.svg +54 -0
  90. package/social/section-hooks.svg +51 -0
  91. package/social/section-install.svg +42 -0
  92. package/social/section-learning.svg +52 -0
  93. package/social/section-mcp.svg +46 -0
  94. package/social/section-memory.svg +57 -0
  95. package/social/section-parallel.svg +72 -0
  96. package/social/section-routing.svg +51 -0
  97. package/social/x-card-agents-grid.svg +6 -6
  98. package/tests/dashboard/data.test.js +235 -0
  99. package/tests/dashboard/server.test.js +240 -0
  100. package/tests/evolve/analyze.test.js +169 -0
  101. package/tests/evolve/proposals.test.js +173 -0
  102. package/tests/evolve/stats.test.js +167 -0
  103. package/tests/mcp/catalog.test.js +98 -0
  104. package/tests/mcp/client.test.js +113 -0
  105. package/tests/mcp/resources-prompts.test.js +70 -0
  106. package/tests/mcp/tools.test.js +159 -0
  107. package/tests/replay/bundle.test.js +181 -0
  108. package/tests/replay/replay.test.js +131 -0
  109. package/tests/router/classify.test.js +164 -0
  110. package/tests/safety/patterns.test.js +94 -0
  111. package/tests/safety/prompt-injection-guard.test.js +111 -0
  112. package/tests/safety/token-budget.test.js +119 -0
  113. package/tests/supply-chain/manifest.test.js +147 -0
  114. package/tests/supply-chain/sbom.test.js +170 -0
  115. package/tests/supply-chain/verify.test.js +146 -0
  116. package/tests/swarm/build-plan.test.js +188 -0
  117. package/wiki/Agent-Reference.md +58 -7
  118. package/wiki/FAQ.md +204 -7
  119. package/wiki/Home.md +104 -29
  120. package/wiki/Hook-Reference.md +1 -1
  121. package/wiki/Installation-Guide.md +109 -6
  122. package/wiki/Platform-Support.md +189 -72
  123. package/wiki/Skill-Reference.md +101 -6
  124. package/.agent/rules/README.md +0 -108
  125. package/.agent/rules/agents.md +0 -94
  126. package/.agent/rules/code-review.md +0 -124
  127. package/.agent/rules/coding-style.md +0 -122
  128. package/.agent/rules/design-quality.md +0 -63
  129. package/.agent/rules/development-workflow.md +0 -44
  130. package/.agent/rules/git-mastery.md +0 -366
  131. package/.agent/rules/git-workflow.md +0 -24
  132. package/.agent/rules/hooks.md +0 -25
  133. package/.agent/rules/kodelyth-always-on.md +0 -63
  134. package/.agent/rules/kodelyth-quickstart.md +0 -207
  135. package/.agent/rules/observability.md +0 -390
  136. package/.agent/rules/patterns.md +0 -50
  137. package/.agent/rules/performance.md +0 -178
  138. package/.agent/rules/security.md +0 -58
  139. package/.agent/rules/smart-debug.md +0 -241
  140. package/.agent/rules/soul.md +0 -32
  141. package/.agent/rules/testing.md +0 -46
  142. package/.agent/skills/api-guardian.md +0 -279
  143. package/.agent/skills/architect.md +0 -211
  144. package/.agent/skills/build-error-resolver.md +0 -114
  145. package/.agent/skills/chief-of-staff.md +0 -151
  146. package/.agent/skills/code-architect.md +0 -71
  147. package/.agent/skills/code-explorer.md +0 -69
  148. package/.agent/skills/code-reviewer.md +0 -237
  149. package/.agent/skills/code-simplifier.md +0 -47
  150. package/.agent/skills/comment-analyzer.md +0 -45
  151. package/.agent/skills/conversation-analyzer.md +0 -52
  152. package/.agent/skills/cpp-build-resolver.md +0 -90
  153. package/.agent/skills/cpp-reviewer.md +0 -72
  154. package/.agent/skills/csharp-reviewer.md +0 -101
  155. package/.agent/skills/dart-build-resolver.md +0 -201
  156. package/.agent/skills/database-reviewer.md +0 -91
  157. package/.agent/skills/debug-detective.md +0 -409
  158. package/.agent/skills/doc-updater.md +0 -107
  159. package/.agent/skills/docs-lookup.md +0 -68
  160. package/.agent/skills/e2e-runner.md +0 -107
  161. package/.agent/skills/flutter-reviewer.md +0 -243
  162. package/.agent/skills/gan-evaluator.md +0 -209
  163. package/.agent/skills/gan-generator.md +0 -131
  164. package/.agent/skills/gan-planner.md +0 -99
  165. package/.agent/skills/go-build-resolver.md +0 -94
  166. package/.agent/skills/go-reviewer.md +0 -76
  167. package/.agent/skills/harness-optimizer.md +0 -35
  168. package/.agent/skills/healthcare-reviewer.md +0 -83
  169. package/.agent/skills/java-build-resolver.md +0 -153
  170. package/.agent/skills/java-reviewer.md +0 -92
  171. package/.agent/skills/kodelyth-advisor.md +0 -172
  172. package/.agent/skills/kotlin-build-resolver.md +0 -118
  173. package/.agent/skills/kotlin-reviewer.md +0 -159
  174. package/.agent/skills/loop-operator.md +0 -36
  175. package/.agent/skills/migration-guide.md +0 -368
  176. package/.agent/skills/opensource-forker.md +0 -198
  177. package/.agent/skills/opensource-packager.md +0 -249
  178. package/.agent/skills/opensource-sanitizer.md +0 -188
  179. package/.agent/skills/pair-programmer.md +0 -260
  180. package/.agent/skills/performance-optimizer.md +0 -446
  181. package/.agent/skills/planner.md +0 -212
  182. package/.agent/skills/pr-test-analyzer.md +0 -45
  183. package/.agent/skills/python-reviewer.md +0 -98
  184. package/.agent/skills/pytorch-build-resolver.md +0 -120
  185. package/.agent/skills/refactor-cleaner.md +0 -85
  186. package/.agent/skills/rust-build-resolver.md +0 -148
  187. package/.agent/skills/rust-reviewer.md +0 -94
  188. package/.agent/skills/security-reviewer.md +0 -108
  189. package/.agent/skills/seo-specialist.md +0 -62
  190. package/.agent/skills/silent-failure-hunter.md +0 -50
  191. package/.agent/skills/tdd-guide.md +0 -91
  192. package/.agent/skills/type-design-analyzer.md +0 -41
  193. package/.agent/skills/typescript-reviewer.md +0 -112
  194. package/.agent/skills/ux-reviewer.md +0 -483
  195. package/.agent/workflows/agent-sort.md +0 -23
  196. package/.agent/workflows/aside.md +0 -164
  197. package/.agent/workflows/build-fix.md +0 -62
  198. package/.agent/workflows/checkpoint.md +0 -74
  199. package/.agent/workflows/claw.md +0 -23
  200. package/.agent/workflows/code-review.md +0 -289
  201. package/.agent/workflows/context-budget.md +0 -23
  202. package/.agent/workflows/cpp-build.md +0 -173
  203. package/.agent/workflows/cpp-review.md +0 -132
  204. package/.agent/workflows/cpp-test.md +0 -251
  205. package/.agent/workflows/devfleet.md +0 -23
  206. package/.agent/workflows/docs.md +0 -23
  207. package/.agent/workflows/e2e.md +0 -268
  208. package/.agent/workflows/eval.md +0 -23
  209. package/.agent/workflows/evolve.md +0 -178
  210. package/.agent/workflows/feature-dev.md +0 -49
  211. package/.agent/workflows/flutter-build.md +0 -164
  212. package/.agent/workflows/flutter-review.md +0 -116
  213. package/.agent/workflows/flutter-test.md +0 -144
  214. package/.agent/workflows/gan-build.md +0 -99
  215. package/.agent/workflows/gan-design.md +0 -35
  216. package/.agent/workflows/go-build.md +0 -183
  217. package/.agent/workflows/go-review.md +0 -148
  218. package/.agent/workflows/go-test.md +0 -268
  219. package/.agent/workflows/gradle-build.md +0 -70
  220. package/.agent/workflows/harness-audit.md +0 -73
  221. package/.agent/workflows/hookify-configure.md +0 -14
  222. package/.agent/workflows/hookify-help.md +0 -46
  223. package/.agent/workflows/hookify-list.md +0 -21
  224. package/.agent/workflows/hookify.md +0 -50
  225. package/.agent/workflows/instinct-export.md +0 -66
  226. package/.agent/workflows/instinct-import.md +0 -114
  227. package/.agent/workflows/instinct-status.md +0 -59
  228. package/.agent/workflows/jira.md +0 -106
  229. package/.agent/workflows/kotlin-build.md +0 -174
  230. package/.agent/workflows/kotlin-review.md +0 -140
  231. package/.agent/workflows/kotlin-test.md +0 -312
  232. package/.agent/workflows/learn-eval.md +0 -116
  233. package/.agent/workflows/learn.md +0 -70
  234. package/.agent/workflows/loop-start.md +0 -32
  235. package/.agent/workflows/loop-status.md +0 -24
  236. package/.agent/workflows/model-route.md +0 -26
  237. package/.agent/workflows/multi-backend.md +0 -158
  238. package/.agent/workflows/multi-execute.md +0 -315
  239. package/.agent/workflows/multi-frontend.md +0 -158
  240. package/.agent/workflows/multi-plan.md +0 -268
  241. package/.agent/workflows/multi-workflow.md +0 -191
  242. package/.agent/workflows/orchestrate.md +0 -135
  243. package/.agent/workflows/plan.md +0 -117
  244. package/.agent/workflows/pm2.md +0 -272
  245. package/.agent/workflows/projects.md +0 -39
  246. package/.agent/workflows/promote.md +0 -41
  247. package/.agent/workflows/prompt-optimize.md +0 -23
  248. package/.agent/workflows/prp-commit.md +0 -112
  249. package/.agent/workflows/prp-implement.md +0 -385
  250. package/.agent/workflows/prp-plan.md +0 -502
  251. package/.agent/workflows/prp-pr.md +0 -184
  252. package/.agent/workflows/prp-prd.md +0 -447
  253. package/.agent/workflows/prune.md +0 -31
  254. package/.agent/workflows/python-review.md +0 -297
  255. package/.agent/workflows/quality-gate.md +0 -29
  256. package/.agent/workflows/refactor-clean.md +0 -80
  257. package/.agent/workflows/resume-session.md +0 -156
  258. package/.agent/workflows/review-pr.md +0 -37
  259. package/.agent/workflows/rules-distill.md +0 -20
  260. package/.agent/workflows/rust-build.md +0 -187
  261. package/.agent/workflows/rust-review.md +0 -142
  262. package/.agent/workflows/rust-test.md +0 -308
  263. package/.agent/workflows/santa-loop.md +0 -175
  264. package/.agent/workflows/save-session.md +0 -275
  265. package/.agent/workflows/sessions.md +0 -333
  266. package/.agent/workflows/setup-pm.md +0 -80
  267. package/.agent/workflows/skill-create.md +0 -174
  268. package/.agent/workflows/skill-health.md +0 -54
  269. package/.agent/workflows/tdd.md +0 -231
  270. package/.agent/workflows/test-coverage.md +0 -69
  271. package/.agent/workflows/update-codemaps.md +0 -72
  272. package/.agent/workflows/update-docs.md +0 -84
  273. package/.agent/workflows/verify.md +0 -23
@@ -39,3 +39,22 @@ jobs:
39
39
  run: npm publish --provenance --access public
40
40
  env:
41
41
  NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
42
+
43
+ # ── Phase 2.9: SLSA / SBOM ───────────────────────────────────────────
44
+ # npm publish above already issues SLSA Level 3 build provenance via
45
+ # npm's sigstore integration (--provenance). Below we additionally emit a
46
+ # CycloneDX SBOM and a content manifest, both attached to the release.
47
+ - name: Generate CycloneDX SBOM
48
+ run: node bin/kodelyth-ecc.js sbom --out kodelyth-ecc-sbom.cdx.json
49
+
50
+ - name: Generate content manifest
51
+ run: node bin/kodelyth-ecc.js manifest --out kodelyth-ecc-manifest.json
52
+
53
+ - name: Upload SBOM + manifest to the GitHub release
54
+ env:
55
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56
+ run: |
57
+ gh release upload "$GITHUB_REF_NAME" \
58
+ kodelyth-ecc-sbom.cdx.json \
59
+ kodelyth-ecc-manifest.json \
60
+ --clobber
package/AGENTS.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AGENTS.md
2
2
 
3
- This file is read by AI agents (Cascade, Cursor, Codex, etc.) on every session. It tells them how to work in this repo and how to use the 61 specialist agents and 188 skills shipped with Kodelyth ECC.
3
+ This file is read by AI agents (Cascade, Cursor, Codex, etc.) on every session. It tells them how to work in this repo and how to use the 70 specialist agents and 194 skills shipped with Kodelyth ECC.
4
4
 
5
5
  ---
6
6
 
package/CHANGELOG.md CHANGED
@@ -2,6 +2,481 @@
2
2
 
3
3
  All notable changes to Kodelyth ECC are documented here.
4
4
 
5
+ ## v1.7.1 — Platform count correction + SVG glow fix (May 2026)
6
+
7
+ Accuracy patch: all docs, social assets, and the wiki now consistently reflect the correct
8
+ platform count (11 platforms, 13 install targets — Windsurf and Gemini CLI each expose two
9
+ install targets but remain one platform).
10
+
11
+ ### Fixed
12
+
13
+ - **Platform count** — `12 platforms` corrected to `11 platforms` across README, CLAUDE.md,
14
+ wiki (FAQ, Home, Installation-Guide, Skill-Reference, Platform-Support), and all social SVGs.
15
+ - **Platform-Support wiki** — complete rewrite with accurate capability matrix, correct
16
+ install-directory paths (`.clinerules/` not `.cline/`, `.roo/` not `.roocode/`,
17
+ `.aider-ecc/` not `.aider/`, `.agent/` project-local not `~/.antigravity/`),
18
+ and honest notes on Cursor agent incompatibility and OpenCode rules-only support.
19
+ - **SVG glow on Kodelyth text** — removed `filter="url(#glow)"` (feGaussianBlur stdDeviation 8)
20
+ and `filter="url(#softglow)"` from all text elements in `github-social-preview.svg` and
21
+ `readme-hero.svg`. Text is now sharp at all sizes.
22
+ - **GitHub About** — updated from stale v1.5 counts (62 agents/188 skills/80 commands) to
23
+ current accurate counts (70 agents/194 skills/97 commands/22+ hooks).
24
+
25
+ ### Files changed
26
+
27
+ `README.md` · `CLAUDE.md` · `wiki/Platform-Support.md` · `wiki/FAQ.md` · `wiki/Home.md` ·
28
+ `wiki/Installation-Guide.md` · `wiki/Skill-Reference.md` · `social/readme-hero.svg` ·
29
+ `social/github-social-preview.svg` · `social/section-install.svg` · `social/facebook-v150.svg`
30
+
31
+ ---
32
+
33
+ ## v1.7.0 — MCP SERVER: Universal adapter for any agent framework (May 2026)
34
+
35
+ ECC is now consumable from Claude Desktop, LangGraph, AutoGen, CrewAI, OpenAI Agents SDK, Cursor, Windsurf, and any MCP-compatible client. Every framework that speaks Model Context Protocol can now route to ECC's 70 agents, 194 skills, 97 commands, and the local self-learning memory store.
36
+
37
+ ### New: MCP server (`npx kodelyth-ecc mcp`)
38
+
39
+ A thin, stdio-only MCP server (Node, JSON-RPC) that exposes the full ECC stack:
40
+
41
+ - **16 tools** — `route_intent`, `list_agents`, `list_skills`, `list_commands`, `list_rules`, `list_bundles`, `get_agent`, `get_skill`, `get_command`, `get_rule`, `get_bundle`, `recall_memory`, `capture_memory`, `memory_stats`, `catalog_stats`, `audit_skill_match`.
42
+ - **6 prompts** — `routing-rule` (full 10-tier intent routing), `agents-overview`, `skills-overview`, `commands-overview`, `handoff-chains`, `devil-mode`.
43
+ - **365 resources** — every agent, skill, command, rule, and bundle addressable via `kodelyth://agents/<name>`, `kodelyth://skills/<name>`, `kodelyth://commands/<name>`, `kodelyth://rules/<name>`, `kodelyth://bundles/<name>`. All `text/markdown`.
44
+
45
+ Design principles:
46
+
47
+ - **Pure file reads + memory passthrough.** Server adds zero LLM calls of its own.
48
+ - **Local only.** stdio transport. No network egress. No telemetry.
49
+ - **Optional dependency.** `@modelcontextprotocol/sdk` is in `optionalDependencies` — installs work without it; the `mcp` subcommand prints a friendly install hint if missing.
50
+ - **Cached catalog.** Sub-millisecond catalog reads after first hit.
51
+ - **Project-aware memory.** `recall_memory` accepts an optional `project_root` to scope BM25 results, falling back to global memories if scoped results are sparse.
52
+
53
+ ### New files
54
+
55
+ - `scripts/mcp/server.js` — SDK wiring + stdio transport (lazy-loaded).
56
+ - `scripts/mcp/tools.js` — 16 tool handlers + tool definitions.
57
+ - `scripts/mcp/prompts.js` — 6 prompt definitions.
58
+ - `scripts/mcp/resources.js` — 365-resource catalog with `kodelyth://` URIs.
59
+ - `scripts/mcp/catalog.js` — read-only loader for agents/skills/commands/rules/bundles with minimal YAML frontmatter parser.
60
+ - `docs/mcp.md` — full reference, client config snippets, design notes, troubleshooting.
61
+ - `tests/mcp/catalog.test.js` — catalog loader + frontmatter parser (12 tests).
62
+ - `tests/mcp/tools.test.js` — pure-function tool handlers including memory roundtrip (15 tests).
63
+ - `tests/mcp/resources-prompts.test.js` — resource discovery + prompt rendering (8 tests).
64
+
65
+ ### Updated files
66
+
67
+ - `bin/kodelyth-ecc.js` — `mcp` subcommand dispatch, help text updated.
68
+ - `package.json` — `mcp` and `model-context-protocol` keywords, `optionalDependencies` for `@modelcontextprotocol/sdk@^1.0.4`, `npm run mcp` script.
69
+ - `README.md` — new "MCP server" section under install options with Claude Desktop config snippet.
70
+
71
+ ### CLI surface
72
+
73
+ ```bash
74
+ npx kodelyth-ecc mcp # start stdio MCP server
75
+ npx kodelyth-ecc --help # mcp subcommand documented
76
+ ```
77
+
78
+ ### Test count
79
+
80
+ 47 → **82 tests** (added 35 MCP server tests). Final v1.7.0 count is **336 tests** — covering MCP server, model router, swarm orchestrator, session replay, supply-chain tooling, safety hooks, self-evolving memory, and the local observability dashboard.
81
+
82
+ ### Counts (post-1.7.0)
83
+
84
+ | Asset | Count |
85
+ |------------------|-------|
86
+ | Agents | 70 |
87
+ | Skills | 194 |
88
+ | Slash commands | 97 |
89
+ | Parallel commands| 8 |
90
+ | Rules | 14 |
91
+ | Power bundles | 3 |
92
+ | MCP tools | 16 |
93
+ | MCP prompts | 6 |
94
+ | MCP resources | 377 |
95
+ | Hooks | 22+ (incl. prompt-injection-guard + token-budget) |
96
+ | Install targets | 12 |
97
+ | Tests | 336 |
98
+
99
+ ### New: Local observability dashboard
100
+
101
+ A localhost-only single-page web UI over every local data source ECC produces. Zero telemetry, zero external runtime dependencies, fully offline, read-only.
102
+
103
+ Delivered surfaces:
104
+
105
+ - **`scripts/dashboard/server.js`** — HTTP server using ONLY Node.js built-ins (`http`, `fs`, `path`, `child_process`). Eight JSON API routes + one static-file route. GET-only — any other method returns 405. Hardened response headers on every reply (`X-Frame-Options: DENY`, `X-Content-Type-Options: nosniff`, `Referrer-Policy: no-referrer`, `Cache-Control: no-store`). Path-traversal-safe static resolution sandboxed under `scripts/dashboard/static/`.
106
+ - **`scripts/dashboard/data.js`** — pure aggregators across catalog, BM25 memory store, evolve signals + proposals, swarm/orchestration sessions, and token-budget hook state. Every read defensively wrapped — broken data sources render empty cards, never crash the dashboard.
107
+ - **`scripts/dashboard/static/index.html`** — single-page UI. Hand-rolled CSS (no Tailwind, no CDN), vanilla JavaScript (`fetch`-only), no build step, no transpilation. Five tabs: Overview / Memory / Evolve / Catalog / Sessions. Lazy-loads each tab's data only when shown. 15-second health-ping pulses a green liveness indicator.
108
+ - **`bin/kodelyth-ecc.js`** — new `dashboard` subcommand. `--port N`, `--host H`, `--no-open` flags. **Refuses to bind non-localhost without `KODELYTH_DASHBOARD_ALLOW_REMOTE=1`** — the escape hatch is intentionally noisy. Default port 5747. Auto-opens browser on macOS (`open`), Linux (`xdg-open`), Windows (`start`).
109
+ - **`skills/observability-dashboard/SKILL.md`** + **`commands/dashboard.md`** + **`docs/dashboard.md`** — explicit-invocation skill, slash command, and full reference docs with curl examples.
110
+ - **`tests/dashboard/{data,server}.test.js`** — 39 new tests. Aggregator tests cover overview shape, catalog filtering, session detail reading, token-budget JSON aggregation, malformed-input resilience. Server tests boot the real HTTP server on ephemeral ports and exercise every route + every security guardrail (POST blocked, bad-kind 400, path traversal blocked, hardened headers present, remote-bind refused, override env var honored).
111
+
112
+ API surface (read-only, GET-only):
113
+
114
+ ```
115
+ GET /api/health # liveness
116
+ GET /api/overview # counts + storage paths
117
+ GET /api/memory[?limit=N] # stats + recent captures
118
+ GET /api/memory/search?q=…[&limit=N] # BM25 search
119
+ GET /api/evolve[?limit=N] # reuse + miss + proposals
120
+ GET /api/catalog?kind=…[&q=…&limit=N] # agents | skills | commands | rules | bundles
121
+ GET /api/sessions[?limit=N] # swarm session list
122
+ GET /api/sessions/:name # one session, all workers
123
+ GET /api/token-budget # per-session token usage
124
+ ```
125
+
126
+ The frontend is a thin consumer of these. Anything the UI shows you can also pipe through `jq`:
127
+
128
+ ```bash
129
+ curl -s http://127.0.0.1:5747/api/evolve | jq '.proposals[] | select(.status == "pending")'
130
+ ```
131
+
132
+ Verified end-to-end: booted on an ephemeral port → 200 OK on every happy path → 400 on bad kind → 404 on unknown route → 405 on POST → hardened headers present on every response → remote bind to `0.0.0.0` refused with the documented error message → override env var allows it.
133
+
134
+ Pairs with: BM25 memory store (Memory tab data source), swarm orchestrator (Sessions tab), token-budget hook (Overview budget snapshot), and self-evolving memory (Evolve tab). The Evolve tab makes the proposal state machine visible at a glance — status pills (⏸ ✓ ✗ ★) reflect the same state the CLI sees.
135
+
136
+ ### New: Self-evolving memory
137
+
138
+ The BM25 memory system now closes its own learning loop. Repeated memory hits become draft skills. Repeated routing misses become proposed routing-rule additions. **Nothing is ever auto-applied** — the user reviews, accepts (writes a draft file to disk), edits, and commits.
139
+
140
+ Delivered surfaces:
141
+
142
+ - **`scripts/evolve/stats.js`** — pure record/read of two signal streams in `~/.kodelyth/evolve/`:
143
+ - `reuse.json` — per-memory surface counter, idempotent per (memoryId, sessionId), tracks distinct sessions + projects
144
+ - `routing-misses.jsonl` — append-only log of substantive prompts where memory recall returned zero matches; capped at 1000 chars per prompt
145
+ - **`scripts/evolve/analyze.js`** — pure, deterministic, no I/O. Two analysis paths:
146
+ - reuse → skill-upgrade proposals (default thresholds: count≥3 AND sessions≥2)
147
+ - misses → routing-addition proposals (cluster by ≥2-token overlap; default thresholds: count≥3 AND distinct≥2)
148
+ - proposal IDs are deterministic over evidence → re-running `analyze` never duplicates
149
+ - **`scripts/evolve/proposals.js`** — append-only proposal log with state transitions: `pending → accepted → applied` or `pending → rejected`. Full audit trail preserved (every state change is a new event). `applyProposalToDisk` refuses to overwrite without `--overwrite`.
150
+ - **`hooks/memory/auto-recall.js`** — minimal augmentation. Two fire-and-forget calls: `recordSurface` when a memory is shown to the user, `recordRoutingMiss` when a substantive prompt yields zero matches. Both wrapped in try/catch — the hook NEVER blocks recall on stats failure.
151
+ - **`bin/kodelyth-ecc.js`** — new `evolve` subcommand with six sub-actions: `stats`, `analyze`, `list`, `show`, `accept`, `reject`. All support `--json`. Accept refuses to clobber existing files unless `--overwrite` is explicit.
152
+ - **`skills/self-evolving-memory/SKILL.md`** — explicit-invocation skill with full CLI reference, hard rules, composition matrix.
153
+ - **`commands/memory-evolve.md`** — `/memory-evolve` slash command (avoids collision with the pre-existing `/evolve` command for `continuous-learning-v2`).
154
+ - **`docs/evolve.md`** — full reference: signal definitions, threshold flags, proposal anatomy, sample diffs, worked example, hard rules.
155
+ - **`tests/evolve/{stats,analyze,proposals}.test.js`** — 42 new tests. Cover counter idempotence per session, distinct-session bumping, project deduplication, miss aggregation by hash, prompt capping, threshold gating, deterministic IDs, cluster overlap rules, append-only audit trail across pending→rejected→accepted, overwrite refusal, malformed input rejection, and combined `analyzeAll` cross-stream output.
156
+
157
+ Routing-addition diffs intentionally ship `TODO-agent` as the placeholder — even if accepted and committed verbatim, no real traffic gets routed until the user fills in the agent name. This is a deliberate safety property.
158
+
159
+ Verified end-to-end: seeded a memory, surfaced it 4x across 4 sessions, logged 3 routing-miss prompts on a shared token cluster, ran `evolve analyze` → 2 proposals generated, `evolve accept` wrote the skill draft to disk + marked accepted, `evolve reject --note` recorded the routing rejection. Re-running `analyze` did not duplicate. Append-only log preserved every state event.
160
+
161
+ CLI snapshot:
162
+
163
+ ```bash
164
+ # After a few weeks of normal ECC usage:
165
+ npx kodelyth-ecc evolve stats # snapshot of recorded signals
166
+ npx kodelyth-ecc evolve analyze # signals → proposals (idempotent)
167
+ npx kodelyth-ecc evolve list # what's pending
168
+ npx kodelyth-ecc evolve show <id> # full draft + evidence
169
+ npx kodelyth-ecc evolve accept <id> # write draft to disk (NEVER commits)
170
+ npx kodelyth-ecc evolve reject <id> --note "covered by existing agent"
171
+ ```
172
+
173
+ Pairs with the BM25 memory store (signal source), `/memory remember` (manual capture), `rules/common/agent-intent-routing.md` (target for routing-addition proposals), swarm orchestrator (repeated swarm-task memories → skills the picker can choose), session replay (replay re-triggers reuse signals), and token-budget hook (skills are cheaper than per-prompt memory recalls).
174
+
175
+ ### New: Supply chain — SLSA + SBOM + content manifest
176
+
177
+ Enterprise-grade supply-chain credentials. Every kodelyth-ecc release now ships with three independent attestations a downstream consumer can verify without trusting kodelyth-ecc:
178
+
179
+ 1. **SLSA Level 3 build provenance** — sigstore-signed via `npm publish --provenance`. Verifiable on npmjs.com and via `npm audit signatures`.
180
+ 2. **CycloneDX 1.5 SBOM** — `kodelyth-ecc-sbom.cdx.json`, attached to the GitHub release. Lists every component in `package-lock.json` with purl, license, and SHA-512 integrity.
181
+ 3. **sha256 content manifest** — `kodelyth-ecc-manifest.json`, attached to the GitHub release. Hashes every shipped asset (730 files) so any consumer can detect tamper.
182
+
183
+ Delivered surfaces:
184
+
185
+ - **`scripts/supply-chain/sbom.js`** — CycloneDX 1.5 generator. Pure function, zero deps. Reads `package.json` + `package-lock.json` v3. Stable `serialNumber` derived from `name@version + timestamp`. Components carry purl (`pkg:npm/...`), normalized license, and base64→hex SRI hashes.
186
+ - **`scripts/supply-chain/manifest.js`** — deterministic content manifest. Walks `agents/`, `skills/`, `commands/`, `rules/`, `hooks/`, `scripts/`, `bin/`, `parallel-commands/`, `bundles/`, plus root files. Skips `node_modules/`, `.git/`, `.DS_Store`, `__pycache__/`, `*.pyc`. Top-level digest is sha256 over deterministic JSON of entries — reproducible.
187
+ - **`scripts/supply-chain/verify.js`** — pure-function verifier. Categorizes every file into `ok / modified / missing / extra`. Modified or missing files fail verify; extras are advisory. Schema-versioned at `kodelyth.content-manifest/v1`.
188
+ - **`bin/kodelyth-ecc.js`** — three new subcommands: `sbom [--out FILE] [--json]`, `manifest [--out FILE] [--json]`, `verify [--manifest FILE] [--json]`. `verify` exits 1 on any tamper.
189
+ - **`.github/workflows/publish.yml`** — extended to emit the SBOM + manifest after `npm publish --provenance` and upload both to the GitHub release via `gh release upload`.
190
+ - **`skills/supply-chain-verification/SKILL.md`** — explicit-invocation skill with full CLI reference, programmatic API, hard rules.
191
+ - **`commands/verify-supply-chain.md`** — `/verify-supply-chain` slash command.
192
+ - **`docs/supply-chain.md`** — full reference: artifact table, downstream verification flow, `npm audit signatures` integration, composition with other phases.
193
+ - **`tests/supply-chain/sbom.test.js`** + **`tests/supply-chain/manifest.test.js`** + **`tests/supply-chain/verify.test.js`** — 31 new tests. Cover SBOM round-trip on synthetic + real lockfiles, scoped purl, SRI base64→hex, deterministic manifest digest, all four verify categories (ok/modified/missing/extra), schema validation, round-trip across copy.
194
+
195
+ Verified end-to-end on the real repo: 730 files manifested, 91 SBOM components, full round-trip clean, single-byte tamper detected.
196
+
197
+ CLI snapshot:
198
+
199
+ ```bash
200
+ # Generate the three artifacts
201
+ npx kodelyth-ecc sbom --out kodelyth-ecc-sbom.cdx.json
202
+ npx kodelyth-ecc manifest --out kodelyth-ecc-manifest.json
203
+
204
+ # Verify a downstream install
205
+ npx kodelyth-ecc verify --manifest kodelyth-ecc-manifest.json
206
+ # → exit 0 if clean, exit 1 if any file is tampered or missing
207
+
208
+ # CI-friendly
209
+ npx kodelyth-ecc verify --manifest manifest.json --json | jq .ok
210
+ ```
211
+
212
+ Pairs with swarm orchestrator (pre-flight verify), session replay (replay bundles can carry the producing toolkit's manifest digest), safety hooks (can warn on tampered toolkit), and the MCP server (can expose `verify` to downstream agents).
213
+
214
+ ### New: Session replay
215
+
216
+ Every swarm coordination dir is now a portable, replayable artifact. Bundle a session into a single JSON file, ship it anywhere, re-run it with optional A/B variations (different harness, different agents, different base ref). Composes with swarm orchestrator and cost-aware model router for prompt regression testing and model A/B comparison.
217
+
218
+ - **`scripts/replay/bundle.js`** — pure read/write of session bundles. Stable schema `kodelyth.session-bundle/v1`. Exports task/handoff/status per worker, validates on import, supports diff between two bundles, auto-generates `-replay-N` session names.
219
+ - **`scripts/replay/replay.js`** — replay engine. Extracts shared task from bundle (prefers `meta.task`, falls back to parsing the worker's `## Shared Task` block, final fallback to orchestrator's `## Objective` block). Wires bundle + swarm builder + orchestrator with full variation support.
220
+ - **`bin/kodelyth-ecc.js`** — three new subcommands: `session-export <session> [--task] [--agents] [--harness] [--base-ref] [--out]`, `session-import <bundle> [--target] [--overwrite]`, `replay <bundle|session> [--harness] [--agents] [--base-ref] [--session] [--replace] [--execute|--write-only|--json]`.
221
+ - **`skills/session-replay/SKILL.md`** — explicit-invocation form with examples for bug-report bundles, model A/B tests, regression checks.
222
+ - **`commands/replay.md`** — `/replay` slash command.
223
+ - **`docs/replay.md`** — full reference: CLI commands, bundle format, replay reconstruction logic, variation matrix, hard rules, programmatic API.
224
+ - **`tests/replay/bundle.test.js`** + **`tests/replay/replay.test.js`** — 27 new tests covering bundle round-trip, schema validation, diff correctness, import/overwrite semantics, replay name generation, task extraction (3 fallback paths), variation flags, and orchestrator integration.
225
+
226
+ CLI snapshot:
227
+
228
+ ```bash
229
+ # Export a finished swarm with rich meta
230
+ npx kodelyth-ecc session-export swarm-2026-05-10-4a \
231
+ --task "audit oauth flow" \
232
+ --agents security-reviewer,code-reviewer,pair-programmer,tdd-guide \
233
+ --harness claude \
234
+ --out oauth-audit.bundle.json
235
+
236
+ # Replay with a different harness (model A/B test)
237
+ npx kodelyth-ecc replay oauth-audit.bundle.json --harness codex --execute
238
+
239
+ # Replay with different agents
240
+ npx kodelyth-ecc replay oauth-audit.bundle.json \
241
+ --agents supply-chain-auditor,prompt-injection-hunter,secret-hunter \
242
+ --execute
243
+
244
+ # Replay against new code
245
+ npx kodelyth-ecc replay oauth-audit.bundle.json --base-ref refactor/oauth-rewrite --execute
246
+ ```
247
+
248
+ Replays auto-name as `<original>-replay-N` to never collide. Bundles are pure JSON — diff-friendly for regression review and shippable as bug-report artifacts.
249
+
250
+ ### New: Swarm orchestrator
251
+
252
+ The generalized form of `/devil-mode`, `/team-review`, `/security-audit`, and `/pre-release`. Pick any task, pick any agents (or let ECC pick from task signals), get N parallel git-worktrees + a tmux session ready to attach. Promotes the existing `tmux-worktree-orchestrator` infrastructure to a first-class CLI surface.
253
+
254
+ - **`scripts/swarm/build-plan.js`** — pure-function plan builder. Takes simple flags and produces a config compatible with the orchestrator. Smart agent picker: 14 signal classes (security, perf, API, tests, …), baseline anchors (code-reviewer + pair-programmer), 4/6/8-agent default rotations. Per-agent task shaping (required handoff sections).
255
+ - **`bin/kodelyth-ecc.js`** — new `swarm` subcommand: `--task`, `--agents N|name1,name2,...`, `--harness claude|codex|opencode|windsurf|echo`, `--seed`, `--session`, `--base-ref`, `--replace`, `--execute`/`--write-only`/`--dry-run`/`--json`, plus power-user `--plan plan.json`.
256
+ - **`skills/swarm-orchestrator/SKILL.md`** — explicit-invocation form; full pairing matrix with cost-router (2.4), token-budget hook (2.10), MCP client mode (2.5).
257
+ - **`commands/swarm.md`** — `/swarm` slash command.
258
+ - **`docs/swarm.md`** — full reference: CLI flags, smart agent picker, harness adapters, coordination protocol, lifecycle, troubleshooting.
259
+ - **`tests/swarm/build-plan.test.js`** — 21 new tests covering pickAgents (signal-driven, baseline, rotation, dedup, count clamping), shapeTaskForAgent, buildWorker (4 harnesses + custom), buildSwarmPlan (validation, orchestrator integration, explicit agents preserved, full pass-through).
260
+
261
+ CLI snapshot:
262
+
263
+ ```bash
264
+ # Smart agent picking from signals:
265
+ npx kodelyth-ecc swarm --task "audit oauth flow for security regressions" --agents 4
266
+ # → picks security-reviewer + code-reviewer + pair-programmer + tdd-guide
267
+
268
+ # Explicit agents:
269
+ npx kodelyth-ecc swarm \
270
+ --task "ship v2.0" \
271
+ --agents release-captain,security-reviewer,e2e-runner \
272
+ --execute
273
+
274
+ # Pre-launch full sweep:
275
+ npx kodelyth-ecc swarm --task "Pre-launch sweep for v2.0" --agents 8 --replace --execute
276
+ tmux attach -t swarm-2026-05-10-8a
277
+ ```
278
+
279
+ Default mode is **dry-run** — prints a summary, doesn't spawn anything. `--write-only` materializes the coordination files (task.md / handoff.md / status.md per worker). `--execute` creates worktrees + tmux + launches agents with full rollback on failure.
280
+
281
+ ### New: MCP client mode
282
+
283
+ The other half of MCP. While 2.1 serves ECC to any client, 2.5 lets ECC **consume** any external MCP server (Stripe, GitHub, Postgres, Redis, Brave, Filesystem, Shopify, anything). ECC is now the MCP **hub**.
284
+
285
+ - **`scripts/mcp/client.js`** — registry + connect/list-tools/call-tool/list-resources/read-resource/list-prompts/get-prompt helpers. Lazy-loads `@modelcontextprotocol/sdk` with a friendly install hint if missing.
286
+ - **`bin/kodelyth-ecc.js`** — five new subcommands: `mcp-add`, `mcp-list`, `mcp-remove`, `mcp-tools`, `mcp-resources`, `mcp-prompts`, `mcp-call`. JSON args via `--json '{"arg":"value"}'`. Env vars via `--env KEY=VAL`.
287
+ - **`docs/mcp-clients.md`** — full reference, examples for github/postgres/stripe/brave/filesystem/redis, programmatic API, privacy notes, troubleshooting.
288
+ - **`tests/mcp/client.test.js`** — 9 new tests including end-to-end stdio handshake using the LOCAL kodelyth MCP server itself as a real test target (registry persistence, addServer validation, listTools, callTool, listResources, listPrompts, error path).
289
+
290
+ CLI snapshot:
291
+
292
+ ```bash
293
+ # Register
294
+ npx kodelyth-ecc mcp-add github \
295
+ --env GITHUB_PERSONAL_ACCESS_TOKEN=ghp_... \
296
+ -- npx -y @modelcontextprotocol/server-github
297
+
298
+ # Inspect
299
+ npx kodelyth-ecc mcp-list
300
+ npx kodelyth-ecc mcp-tools github
301
+
302
+ # Call
303
+ npx kodelyth-ecc mcp-call github create_issue \
304
+ --json '{"owner":"sifxprime","repo":"kodelyth-ecc","title":"hi from ECC"}'
305
+ ```
306
+
307
+ The registry lives at `~/.kodelyth/mcp-clients.json` (override with `KODELYTH_MCP_CLIENT_DIR`). Each call spawns a fresh stdio subprocess — no long-lived process pool, no credential leakage between sessions.
308
+
309
+ ### New: Cost-aware model router
310
+
311
+ The orthogonal companion to agent intent routing. While intent routing picks _which specialist agent_ handles a task, this router picks _which model tier_ runs it — keeping teams from burning frontier-model tokens on doc typos and rename refactors.
312
+
313
+ - **`rules/common/cost-aware-model-routing.md`** — always-on rule. Three tiers (trivial/standard/hard) with weighted signal classification. Hard rules: security/incident/adversarial agents never downgrade; production framing wins; multi-file (3+) refactors never go to trivial; respect explicit user choice; bias downward when token-budget > 70%.
314
+ - **`skills/cost-aware-model-routing/SKILL.md`** — explicit-invocation form for "what model should I use" questions.
315
+ - **`commands/route-model.md`** — `/route-model` slash command for ad-hoc on-demand routing.
316
+ - **`scripts/router/classify.js`** — pure-function deterministic classifier with full config loader (env vars + `.kodelyth/router.json` project file).
317
+ - **`bin/kodelyth-ecc.js`** — new `route` CLI subcommand: `npx kodelyth-ecc route "<task>" [--files N] [--agent <name>] [--current <model>] [--json]`.
318
+ - **`tests/router/classify.test.js`** — 19 new tests covering classification, config precedence (env > project file > defaults), agent override, and disabled-mode.
319
+
320
+ Configuration surface:
321
+
322
+ ```bash
323
+ # Disable entirely
324
+ KODELYTH_ROUTER=off
325
+
326
+ # Override per tier (provider-agnostic)
327
+ KODELYTH_ROUTER_TRIVIAL=gpt-4.1-mini
328
+ KODELYTH_ROUTER_STANDARD=claude-sonnet-4-6
329
+ KODELYTH_ROUTER_HARD=gpt-5
330
+
331
+ # Or via .kodelyth/router.json at project root
332
+ { "trivial": "...", "standard": "...", "hard": "...", "notes": "set by infra team" }
333
+ ```
334
+
335
+ Pairs with the `token-budget` safety hook for full cost discipline (the hook caps total spend; the router cuts the steady leak from frontier-model overuse on routine work). Together they typically reduce LLM bills by 50–70% with no measurable quality drop on standard tasks.
336
+
337
+ ### New: Safety hooks
338
+
339
+ Two production-ready safety primitives that ride on the existing hook pipeline. **Off by default** — opt in via env vars so existing users see zero behavior change.
340
+
341
+ - **`hooks/safety/prompt-injection-guard.js`** — scans inbound text on `UserPromptSubmit` and `PostToolUse` (Read, WebFetch, mcp__*) for jailbreak / instruction-override patterns. Three modes: `off` (default), `warn`, `block`. Detects 11 pattern classes across 3 severity tiers (critical / high / medium) plus base64-decoded payload jailbreak detection. Configurable audit log at `KODELYTH_PI_GUARD_LOG`.
342
+ - **`hooks/safety/token-budget.js`** — per-session token-budget enforcer on `SessionStart` and `Stop`. Tracks usage via 4-chars-per-token heuristic over transcript size + visible message lengths. Three modes: `off` (default), `warn`, `<positive integer>`. Blocks `SessionStart` once usage ≥ budget; warns at 70%. State files live at `${KODELYTH_TOKEN_BUDGET_DIR}/budget-<sessionId>.json`.
343
+ - **`hooks/safety/lib/patterns.js`** — shared, auditable regex pattern catalog. 11 named patterns + decoded base64 probe.
344
+ - **`hooks/safety/README.md`** — full configuration + rollout guide.
345
+ - **`tests/safety/*.test.js`** — 29 new tests covering pattern detection, hook block/warn/off paths, malformed JSON recovery, and reset flow.
346
+
347
+ Both hooks always exit 0 on internal errors so they never block users due to a bug.
348
+
349
+ ### Test count
350
+
351
+ 47 → **336 tests** (added 35 MCP server + 9 MCP client + 29 safety + 19 router + 21 swarm + 27 replay + 31 supply-chain + 42 self-evolving memory + 39 dashboard + 37 from prior phases). All pass.
352
+
353
+ ### What shipped in v1.7.0
354
+
355
+ - ✅ Devil-mode adversarial agents (8 agents + `/devil-mode` command)
356
+ - ✅ MCP server (16 tools, 6 prompts, 370+ resources)
357
+ - ✅ Local observability dashboard
358
+ - ✅ Cost-aware model router
359
+ - ✅ MCP client mode (consume external MCP servers)
360
+ - ✅ Swarm orchestrator (parallel agents in git worktrees)
361
+ - ✅ Session replay + portable bundles
362
+ - ✅ SLSA L3 + SBOM + content manifest
363
+ - ✅ Safety hooks (prompt-injection-guard + token-budget)
364
+ - ✅ Self-evolving memory (proposals from usage patterns)
365
+ - ✅ Power bundles (indie-hacker / red-team / enterprise)
366
+ - ✅ GitHub Action (CI/CD PR review integration)
367
+ - ✅ 5 new IDE platforms (Cline, Roo Code, Aider, Kimi, Gemini CLI)
368
+ - ✅ README rewrite (infrastructure-first framing)
369
+
370
+ ---
371
+
372
+ ## v1.6.0 — DEVIL MODE: Adversarial agent crew + `/devil-mode` parallel sweep (May 2026)
373
+
374
+ This release introduces the 8-agent adversarial red-team crew, a new parallel command that fires four of them in one shot, power bundles, and 5 new IDE platform targets.
375
+
376
+ ### New Agents (8 — adversarial / red-team mindset)
377
+
378
+ Each ships with a full attacker-mindset playbook, real bash-grep patterns, severity calibration, and remediation steps. Not theatrical personas — they do real audit work.
379
+
380
+ - **`prompt-injection-hunter`** — adversarial AI safety auditor. Hunts jailbreaks, indirect injection, system-prompt leaks, tool-call hijacking. Probes RAG pipelines, MCP servers, and any code that feeds untrusted text into an LLM.
381
+ - **`supply-chain-auditor`** — dependency attacker review. Detects typosquats, malicious post-install scripts, lockfile drift, slopsquats (AI-generated phantom packages), tarball-vs-repo divergence.
382
+ - **`secret-hunter`** — leaked-credential detective. Scans live code, git history, env files, build artifacts, CI logs, encoded blobs (base64/hex), and bundled-to-client env vars. Includes provider pattern catalog (AWS, Stripe, GitHub, Slack, JWT, etc.) and key-validity probing.
383
+ - **`license-violation-finder`** — IP / copyleft contamination auditor. Hunts GPL/AGPL deps in proprietary code, missing attributions, license cocktails, license changes between versions (Elastic/Mongo/HashiCorp pattern), AI-generated code with copyleft training data.
384
+ - **`jailbreak-tester`** — live AI-feature red-teamer. 10-tier attack battery: surface filter bypass, fictional framing, instruction-following hijack, system-prompt extraction, encoded payloads, tool abuse, multi-turn drift, overrefusal probing, PII exfil, output-channel abuse.
385
+ - **`code-stealer-detector`** — code-provenance auditor. Hunts copy-pasted Stack Overflow snippets, copyleft contamination, leaked private code, AI-generated code with unverified provenance, vendored libs without attribution, embedded encoded blobs.
386
+ - **`backdoor-hunter`** — malicious-code-pattern detector. 12 hunt categories: obfuscated execution, network beacons, time bombs (xz utils CVE-2024-3094 pattern), reverse shells, credential exfiltration, build-time injection, webshells, dynamic loading, cryptominers, telemetry exfil.
387
+ - **`chaos-engineer`** — adversarial reliability tester. Hypothesis-first fault injection: process death, network partition, latency injection, DNS failure, disk full, clock skew, memory pressure, dependency failure, concurrency abuse, input fuzzing. Includes pre-flight checklist + abort criteria for safe execution.
388
+
389
+ ### New Parallel Command
390
+
391
+ - **`/devil-mode`** — fires `prompt-injection-hunter` + `supply-chain-auditor` + `secret-hunter` + `backdoor-hunter` simultaneously. The "attacker mindset on the whole codebase" sweep.
392
+ - `/devil-mode --all` — fires all 8 adversarial agents
393
+ - `/devil-mode --pre-public` — pre-open-source sweep (adds license + theft check)
394
+ - `/devil-mode --pre-launch` — pre-launch sweep (adds AI red-team + chaos planning)
395
+
396
+ ### Intent Routing Updates
397
+
398
+ - Added a new "Devil-Mode Adversarial Crew" section under Priority 3 with intent patterns for all 8 agents
399
+ - Added `/devil-mode` to the parallel commands section with full trigger matrix
400
+ - Added 11 new rows to the Quick Reference Table covering attacker-mindset phrasings ("think like an attacker", "going open-source full audit", "we were hacked", etc.)
401
+ - Users can now route to any devil-mode agent or command in plain language without remembering names
402
+
403
+ ### Power Bundles
404
+
405
+ Three audience-tailored bundles installable via `--bundle` flag. Each installs the full ECC toolkit + a curated `BUNDLE.md` cheat sheet that biases the AI toward workflows fit for that audience.
406
+
407
+ ```bash
408
+ npx kodelyth-ecc --bundle indie-hacker # Solo founder / SaaS — ship fast, validate, harden
409
+ npx kodelyth-ecc --bundle red-team # Security engineer — devil-mode + adversarial workflows
410
+ npx kodelyth-ecc --bundle enterprise # Compliance team — SBOM, license, supply chain
411
+ ```
412
+
413
+ - New files: `bundles/indie-hacker.md`, `bundles/red-team.md`, `bundles/enterprise.md`
414
+ - `install.sh` and `install.ps1` accept `--bundle` / `-Bundle` flag, both with full alias support (`indie`, `redteam`, `security`, `compliance`)
415
+ - Bundle pre-selects sensible language modules (`typescript+python` for indie/red-team, `typescript+java+python` for enterprise)
416
+ - `BUNDLE.md` is copied to install destination so the AI reads it on every session start
417
+ - Bundle name persisted in `kodelyth-ecc-install-state.json`
418
+ - Bundle-specific reminder displayed at install end with the right lead-with commands
419
+
420
+ ### New IDE Platforms
421
+
422
+ ECC now installs natively to **5 additional AI coding platforms**, closing the platform-coverage gap with `agency-agents` and unlocking new communities:
423
+
424
+ ```bash
425
+ npx kodelyth-ecc --target cline # Cline (VS Code) — .clinerules/
426
+ npx kodelyth-ecc --target roocode # Roo Code (VS Code) — .roo/
427
+ npx kodelyth-ecc --target aider # Aider terminal agent — .aider-ecc/ + CONVENTIONS.md
428
+ npx kodelyth-ecc --target kimi # Kimi Code — .kimi/
429
+ npx kodelyth-ecc --target gemini-project # Gemini CLI (project) — .gemini/
430
+ npx kodelyth-ecc --target gemini-home # Gemini CLI (global) — ~/.gemini/
431
+ ```
432
+
433
+ Per-target install layouts:
434
+
435
+ | Target | Destination | Layout |
436
+ |---|---|---|
437
+ | `cline` | `./.clinerules/` | Flat: rules + agents + commands all merged as `.md` |
438
+ | `roocode` | `./.roo/` | Subdirs: `rules/`, `agents/`, `skills/`, `commands/` |
439
+ | `aider` | `./.aider-ecc/` + `./CONVENTIONS.md` | Subdirs + auto-generated CONVENTIONS.md if missing |
440
+ | `kimi` | `./.kimi/` | Subdirs: `rules/`, `agents/`, `skills/`, `commands/` |
441
+ | `gemini-project` | `./.gemini/` + `GEMINI.md` | Subdirs: `agents/`, `skills/`, `rules/` |
442
+ | `gemini-home` | `~/.gemini/` + `GEMINI.md` | Same as above, global |
443
+
444
+ Each target writes a tailored "what to do now" message at install end, and Aider/Gemini get auto-generated bootstrap files (`CONVENTIONS.md`, `GEMINI.md`) that their CLIs auto-load.
445
+
446
+ Total IDE coverage jumps from **6** to **11** platforms — making ECC easily the most cross-platform AI coding toolkit shipped.
447
+
448
+ ### README Rewrite
449
+
450
+ - Sharper "Why ECC ≠ Another Agent Collection" hero anchored on the **infrastructure thesis** (layered stack vs flat agent folders)
451
+ - New **Layer Stack** table showing what each layer does and how it's missing from competitors
452
+ - New **Quick Comparison vs Other Kits** table — 13 rows comparing ECC against `agency-agents`, `awesome-claude-agents`, generic prompt libs
453
+ - New **Devil Mode** showcase block in hero
454
+ - New **Power Bundles** section under Install
455
+ - "What's Inside" updated to v1.6.0 counts + new Parallel Commands row
456
+
457
+ ### Counts
458
+
459
+ | Metric | v1.5.10 | v1.6.0 |
460
+ |---|---|---|
461
+ | Agents | 62 | **70** |
462
+ | Commands | 90 | **91** |
463
+ | Parallel commands | 7 | **8** |
464
+ | Power bundles | 0 | **3** |
465
+ | Audience-tailored installs | 0 | **3** |
466
+ | IDE platform targets | 7 | **13** (added cline, roocode, aider, kimi, gemini-project, gemini-home) |
467
+ | IDE platform families | 6 | **11** |
468
+
469
+ ### What shipped in v1.6.0
470
+
471
+ - 8 adversarial devil-mode agents (prompt-injection-hunter, supply-chain-auditor, secret-hunter, license-violation-finder, jailbreak-tester, code-stealer-detector, backdoor-hunter, chaos-engineer)
472
+ - `/devil-mode` parallel command — attacker-mindset sweep with `--all`, `--pre-public`, `--pre-launch` variants
473
+ - 3 power bundles (`indie-hacker`, `red-team`, `enterprise`) installable via `--bundle` flag
474
+ - 6 new IDE platform targets (cline, roocode, aider, kimi, gemini-project, gemini-home)
475
+ - Revamped README with comparison table and Layer Stack section
476
+ - Full intent routing for all 8 devil-mode agents in plain language
477
+
478
+ ---
479
+
5
480
  ## v1.5.10 — Fix install crash on macOS bash 3.2 (May 2026)
6
481
 
7
482
  ### Bug Fix
package/CLAUDE.md CHANGED
@@ -6,24 +6,27 @@ Guidance for Claude Code when working with this repository.
6
6
 
7
7
  **Kodelyth ECC** — a production-grade AI coding toolkit:
8
8
 
9
- - **62 specialist agents** — debug-detective, incident-commander, load-tester, image-architect, kodelyth-memory, security-reviewer, etc.
10
- - **188 skills** — domain knowledge, patterns, testing, security, intent routing, local memory
11
- - **88 commands** — slash workflows (`/tdd`, `/plan`, `/code-review`, `/team-review`, `/project-launch`, `/debug-blitz`, `/security-audit`, ...)
12
- - **20+ hooks** — automated quality gates, session memory, memory inject + capture, correction encoding
13
- - **17 rules** — always-on coding standards + semantic intent routing + memory protocol
9
+ - **70 specialist agents** — debug-detective, incident-commander, load-tester, image-architect, kodelyth-memory, security-reviewer, plus 8 adversarial devil-mode agents
10
+ - **194 skills** — domain knowledge, patterns, testing, security, intent routing, local memory, swarm orchestration, MCP integration
11
+ - **97 commands** — slash workflows (`/tdd`, `/plan`, `/code-review`, `/team-review`, `/devil-mode`, `/debug-blitz`, `/security-audit`, ...)
12
+ - **22+ hooks** — quality gates, memory inject + capture, correction encoding, prompt-injection guard, token-budget enforcer
13
+ - **14 rules** — always-on coding standards + semantic intent routing + memory protocol + self-improvement
14
14
 
15
- Works with Claude Code, Windsurf, Cursor, Codex CLI, Antigravity, and OpenCode.
15
+ Works with Claude Code, Windsurf, Cursor, Codex CLI, Antigravity, OpenCode, Cline, Roo Code, Aider, Kimi, and Gemini CLI — **11 platforms** (13 install targets).
16
16
 
17
17
  ## Architecture
18
18
 
19
19
  ```
20
- agents/ → Specialist subagents (planner, code-reviewer, debug-detective, ...)
21
- skills/ Workflow + domain knowledge files (loadable via slash commands)
22
- commands/ Slash commands users invoke directly
23
- hooks/ → Trigger-based automations (pre-commit, session memory, etc.)
24
- rules/ → Always-on guidelines including agent-intent-routing.md
25
- scripts/ → Cross-platform Node.js utilities for hooks and setup
26
- tests/ Test suite for scripts and hooks
20
+ agents/ → 70 specialist subagents (planner, code-reviewer, debug-detective, devil-mode crew, ...)
21
+ commands/ 97 slash commands (8 parallel multi-agent, rest single-agent)
22
+ skills/ 194 workflow + domain knowledge files (loadable via slash commands)
23
+ hooks/ → 22+ automations (pre-commit, session memory, prompt-injection guard, token-budget)
24
+ rules/ → 14 always-on guidelines (agent-intent-routing, self-improvement, memory-protocol, ...)
25
+ scripts/ → Node.js utilities: MCP server, dashboard, swarm, replay, router, memory, supply-chain
26
+ bundles/ 3 power bundles (indie-hacker, red-team, enterprise)
27
+ actions/ → GitHub Action (CI/CD integration for PR review)
28
+ docs/ → Feature docs (mcp.md, dashboard.md, swarm.md, replay.md, evolve.md, supply-chain.md)
29
+ tests/ → 336 passing tests across 24 test files
27
30
  ```
28
31
 
29
32
  ## Running Tests
@@ -34,7 +37,25 @@ npm test
34
37
  node tests/run-all.js
35
38
  ```
36
39
 
37
- ## Intent Routing (v1.3.0+)
40
+ ## CLI Subcommands
41
+
42
+ Beyond install, the `npx kodelyth-ecc` CLI exposes:
43
+
44
+ ```bash
45
+ npx kodelyth-ecc mcp # Start MCP server (stdio JSON-RPC)
46
+ npx kodelyth-ecc route "<task>" # Cost-aware model-tier recommendation
47
+ npx kodelyth-ecc swarm --task "..." # Parallel agents in git worktrees
48
+ npx kodelyth-ecc dashboard # Localhost observability dashboard
49
+ npx kodelyth-ecc evolve analyze # Self-evolving memory proposals
50
+ npx kodelyth-ecc replay <bundle> # Re-run a past session
51
+ npx kodelyth-ecc sbom # CycloneDX 1.5 SBOM
52
+ npx kodelyth-ecc manifest # sha256 content manifest
53
+ npx kodelyth-ecc verify # Verify install against manifest
54
+ npx kodelyth-ecc mcp-add <name> -- <cmd> # Register external MCP server
55
+ npx kodelyth-ecc session-export <session> # Export session bundle
56
+ ```
57
+
58
+ ## Intent Routing
38
59
 
39
60
  The toolkit ships with a god-tier intent routing rule (`rules/common/agent-intent-routing.md`) that auto-loads on every session. It maps user intent → specialist agent across 10 priority tiers.
40
61
 
@@ -47,7 +68,7 @@ When a user message matches a routing pattern, you MUST:
47
68
 
48
69
  ## Parallel Commands (Fastest Paths — Multi-Agent)
49
70
 
50
- These fire multiple specialist agents simultaneously. Use these for the fastest results:
71
+ These fire multiple specialist agents simultaneously:
51
72
 
52
73
  | Command | Agents Fired | Best For |
53
74
  |---|---|---|
@@ -58,6 +79,7 @@ These fire multiple specialist agents simultaneously. Use these for the fastest
58
79
  | `/refactor-sprint` | refactor-cleaner + code-simplifier + type-design-analyzer + tdd-guide | Full cleanup before a feature sprint |
59
80
  | `/pre-release` | release-captain + security-reviewer + code-reviewer | Go/no-go verdict before shipping |
60
81
  | `/onboard` | code-explorer + architect + doc-updater | Understand any codebase in 15 minutes |
82
+ | `/devil-mode` | prompt-injection-hunter + supply-chain-auditor + secret-hunter + backdoor-hunter | Adversarial sweep (use `--all` for all 8) |
61
83
 
62
84
  ## Key Commands
63
85
 
@@ -68,6 +90,10 @@ These fire multiple specialist agents simultaneously. Use these for the fastest
68
90
  - `/code-review` — quality review
69
91
  - `/git-mastery` — git workflows + recovery patterns
70
92
  - `/observability` — logging, metrics, OpenTelemetry, SLOs
93
+ - `/dashboard` — launch local observability dashboard
94
+ - `/route-model` — cost-aware model selection
95
+ - `/swarm` — parallel agent swarm in git worktrees
96
+ - `/memory-evolve` — self-evolving memory proposals
71
97
 
72
98
  ## Specialist Agents (Pick the Right One)
73
99
 
@@ -91,14 +117,20 @@ These fire multiple specialist agents simultaneously. Use these for the fastest
91
117
  | Tests / coverage | `tdd-guide` |
92
118
  | Refactor / cleanup | `refactor-cleaner` |
93
119
  | Open-source a project | `opensource-forker` (chain start) |
120
+ | Leaked secrets in code/history | `secret-hunter` |
121
+ | Malicious deps / supply chain | `supply-chain-auditor` |
122
+ | AI feature jailbreak safety | `prompt-injection-hunter` |
123
+ | Backdoors / obfuscated code | `backdoor-hunter` |
124
+ | Chaos / fault injection testing | `chaos-engineer` |
94
125
 
95
126
  ## Development Notes
96
127
 
97
128
  - Package manager detection: npm, pnpm, yarn, bun
98
129
  - Cross-platform: Windows (`install.ps1`), macOS / Linux (`install.sh`), or `npx` anywhere
99
- - Agent format: Markdown with YAML frontmatter (name, description, tools)
130
+ - Agent format: Markdown with YAML frontmatter (name, description, tools, model)
100
131
  - Skill format: Markdown with clear sections (description, when to use, how it works)
101
132
  - Hook format: JSON with matcher conditions and command/notification hooks
133
+ - No runtime deps in core — `@modelcontextprotocol/sdk` is an optionalDependency for MCP server only
102
134
 
103
135
  ## Contributing
104
136