kodelyth-ecc 1.7.2 → 1.7.3
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 +20 -0
- package/VERSION +1 -1
- package/package.json +1 -1
- package/social/card-install.svg +1 -1
- package/social/facebook-v150.svg +1 -1
- package/social/github-social-preview.svg +2 -2
- package/social/readme-hero.svg +4 -4
- package/social/section-mcp.svg +1 -1
- package/social/x-card-agents-grid.svg +1 -1
- package/videos/README.md +88 -0
- package/videos/video-01-install-and-routing.md +258 -0
- package/videos/video-02-compound-memory.md +301 -0
- package/videos/video-03-devil-mode.md +294 -0
- package/videos/video-04-mcp-server.md +391 -0
- package/wiki/FAQ.md +1 -1
- package/wiki/Home.md +2 -2
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
# VIDEO 2 — "How the compound memory works"
|
|
2
|
+
|
|
3
|
+
**Duration:** 8–10 minutes
|
|
4
|
+
**Platform:** YouTube (technical audience — engineers who care about architecture)
|
|
5
|
+
**Hook:** "Your AI has no memory. But yours does."
|
|
6
|
+
**Goal:** Drive installs + explain the unique differentiator
|
|
7
|
+
**Screen setup:** Terminal + code editor + browser (dashboard)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## FULL SCRIPT
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
### [0:00–0:20] COLD OPEN
|
|
16
|
+
|
|
17
|
+
**[SCREEN: Two Claude Code sessions side by side — one with blank context, one with a memory recall injection]**
|
|
18
|
+
|
|
19
|
+
**NARRATION:**
|
|
20
|
+
> "This is your AI without memory."
|
|
21
|
+
> "And this is your AI with Kodelyth ECC's compound memory."
|
|
22
|
+
|
|
23
|
+
**[Left: clean AI asks basic questions about your stack]**
|
|
24
|
+
**[Right: AI opens with — "I checked your memory — you've solved a similar Stripe webhook issue before. Raw body parser before signature validation. Want me to apply that?"]**
|
|
25
|
+
|
|
26
|
+
**NARRATION:**
|
|
27
|
+
> "Same model. Different context. Completely different output."
|
|
28
|
+
> "Let me show you how this works — and why it compounds over time."
|
|
29
|
+
|
|
30
|
+
**[TITLE CARD: Kodelyth ECC — Compound Memory Architecture]**
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### [0:20–1:30] THE PROBLEM: AI HAS NO MEMORY
|
|
35
|
+
|
|
36
|
+
**[SCREEN: Simple diagram — each AI session as an isolated bubble]**
|
|
37
|
+
|
|
38
|
+
**NARRATION:**
|
|
39
|
+
> "Here's the fundamental problem with AI coding tools."
|
|
40
|
+
> "Every session is a blank slate."
|
|
41
|
+
|
|
42
|
+
**[Draw/animate: session 1 bubble, session 2 bubble, session 3 — completely disconnected]**
|
|
43
|
+
|
|
44
|
+
**NARRATION:**
|
|
45
|
+
> "You solve a hard problem Monday. You close the chat. Tuesday — it's gone."
|
|
46
|
+
> "You join a new project three months later. You hit the same bug pattern you fixed before. You debug it from scratch. Again."
|
|
47
|
+
|
|
48
|
+
**[SCREEN: Typing the same question again]**
|
|
49
|
+
|
|
50
|
+
**NARRATION:**
|
|
51
|
+
> "This isn't a model problem. The models are brilliant. It's a context problem."
|
|
52
|
+
> "The model never knew about that fix. You never told it."
|
|
53
|
+
> "ECC closes that loop automatically."
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### [1:30–3:00] THE THREE LAYERS
|
|
58
|
+
|
|
59
|
+
**[SCREEN: Diagram — three stacked layers]**
|
|
60
|
+
|
|
61
|
+
**NARRATION:**
|
|
62
|
+
> "ECC's compound memory has three layers. Each one is independent. Together they stack."
|
|
63
|
+
|
|
64
|
+
**[LAYER 1 — Project Lessons]**
|
|
65
|
+
|
|
66
|
+
**[Show: tasks/lessons.md in code editor]**
|
|
67
|
+
|
|
68
|
+
**NARRATION:**
|
|
69
|
+
> "Layer one: tasks/lessons.md — your project's permanent rulebook."
|
|
70
|
+
> "Every time you correct the AI — 'use pnpm not npm', 'never add try/catch without logging', 'we use Zod not Yup' — a hook at the end of the session extracts that correction and writes it here."
|
|
71
|
+
|
|
72
|
+
**[SCREEN: Show correction being typed in chat → session ends → lessons.md showing new rule]**
|
|
73
|
+
|
|
74
|
+
**NARRATION:**
|
|
75
|
+
> "Next session starts — this file is injected before the first message. The AI already knows your rules. You never repeat yourself."
|
|
76
|
+
|
|
77
|
+
**[SCREEN: Show lessons.md growing over time — week 1, month 1, month 3]**
|
|
78
|
+
|
|
79
|
+
**NARRATION:**
|
|
80
|
+
> "It compounds. Month one: 5 rules. Month three: 30 rules. The AI knows your tech stack, naming style, patterns you hate, tools you prefer. Zero ramp-up on every new task."
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
**[LAYER 2 — Global BM25 Memory]**
|
|
85
|
+
|
|
86
|
+
**[SCREEN: ~/.kodelyth/memory/ in terminal]**
|
|
87
|
+
|
|
88
|
+
**NARRATION:**
|
|
89
|
+
> "Layer two: global memory. Stored at ~/.kodelyth/memory/. BM25 full-text search."
|
|
90
|
+
|
|
91
|
+
**[SCREEN: Show memories.jsonl file, then show dashboard Memory tab]**
|
|
92
|
+
|
|
93
|
+
**NARRATION:**
|
|
94
|
+
> "BM25 is the algorithm that powers early Google. Keyword weighting, term frequency, document frequency. Pure math — no embeddings, no neural network, no API calls."
|
|
95
|
+
> "Sub-millisecond recall. Zero dependencies. Works offline."
|
|
96
|
+
|
|
97
|
+
**[SCREEN: Show capture flow — problem/approach/tags format]**
|
|
98
|
+
|
|
99
|
+
**NARRATION:**
|
|
100
|
+
> "When you capture a memory, it stores: problem statement, approach that worked, gotchas, tags, language, project."
|
|
101
|
+
|
|
102
|
+
**[SCREEN: Show recall in action — type in dashboard search, results appear]**
|
|
103
|
+
|
|
104
|
+
**NARRATION:**
|
|
105
|
+
> "When you start a new session or type a prompt, ECC searches this store and injects relevant matches before your AI responds."
|
|
106
|
+
> "It's like your AI checked your notes first."
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
**[LAYER 3 — Auto Chat Recall]**
|
|
111
|
+
|
|
112
|
+
**[SCREEN: Diagram showing UserPromptSubmit hook intercepting messages]**
|
|
113
|
+
|
|
114
|
+
**NARRATION:**
|
|
115
|
+
> "Layer three: auto chat recall. This one is invisible — which is why it's powerful."
|
|
116
|
+
> "Every message you type goes through a BM25 search before the AI sees it. If there's a relevant past memory, it's injected into the context automatically."
|
|
117
|
+
> "You just type normally. The recall happens in the background."
|
|
118
|
+
|
|
119
|
+
**[SCREEN: Terminal showing hook fires, memory injected, then AI response includes "based on your previous work..."]**
|
|
120
|
+
|
|
121
|
+
**NARRATION:**
|
|
122
|
+
> "Per-session repeat suppression — the same memory won't be injected twice in one session. Clean, no noise."
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### [3:00–4:30] LIVE DEMO — THE FULL LOOP
|
|
127
|
+
|
|
128
|
+
**[SCREEN: Terminal + Claude Code]**
|
|
129
|
+
|
|
130
|
+
**NARRATION:**
|
|
131
|
+
> "Let me show you the full loop. We're going to capture a solution, then recall it five minutes later in a fresh session."
|
|
132
|
+
|
|
133
|
+
**[STEP 1: Session 1 — solve a problem]**
|
|
134
|
+
|
|
135
|
+
**[TYPE in chat:]**
|
|
136
|
+
```
|
|
137
|
+
My Stripe webhook keeps returning 400 - invalid signature
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
**[Show AI helping solve it — raw body parser issue]**
|
|
141
|
+
|
|
142
|
+
**[STEP 2: Capture the memory]**
|
|
143
|
+
|
|
144
|
+
**[TYPE in chat:]**
|
|
145
|
+
```
|
|
146
|
+
/memory remember "Stripe webhook signature validation"
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**[Show capture confirmation — problem/approach/tags saved]**
|
|
150
|
+
|
|
151
|
+
**NARRATION:**
|
|
152
|
+
> "Captured. Stored at ~/.kodelyth/memory/memories.jsonl. Let me show you exactly what got saved."
|
|
153
|
+
|
|
154
|
+
**[Open terminal:]**
|
|
155
|
+
```bash
|
|
156
|
+
tail -1 ~/.kodelyth/memory/memories.jsonl | jq .
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**[Show JSON output with problem, approach, tags, language]**
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
**[STEP 3: New session — fresh context]**
|
|
164
|
+
|
|
165
|
+
**[Close Claude Code, reopen, fresh chat]**
|
|
166
|
+
|
|
167
|
+
**[TYPE:]**
|
|
168
|
+
```
|
|
169
|
+
I need to add Stripe webhooks to my checkout flow
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**[Show response — memory injected at the top:]**
|
|
173
|
+
```
|
|
174
|
+
I checked your memory — you solved a similar problem before:
|
|
175
|
+
|
|
176
|
+
"Stripe webhook signature validation" (captured 2 min ago)
|
|
177
|
+
→ Raw body parser must come before express.json() middleware
|
|
178
|
+
→ Use stripe.webhooks.constructEvent() not manual sig parsing
|
|
179
|
+
→ Test with stripe-cli forward, not curl
|
|
180
|
+
|
|
181
|
+
Want me to apply this exact pattern?
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**NARRATION:**
|
|
185
|
+
> "Same session, different project. It recalled the fix before you even described the bug."
|
|
186
|
+
> "In real usage, this gap is months. And the value compounds every session."
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
### [4:30–6:00] THE COST WIN — PROMPT CACHE
|
|
191
|
+
|
|
192
|
+
**[SCREEN: Diagram — token costs, cache zone]**
|
|
193
|
+
|
|
194
|
+
**NARRATION:**
|
|
195
|
+
> "There's a financial angle to this that most people miss."
|
|
196
|
+
|
|
197
|
+
**[Show Anthropic pricing: 3$/M input, 0.30$/M cached]**
|
|
198
|
+
|
|
199
|
+
**NARRATION:**
|
|
200
|
+
> "Anthropic charges 10% for cached tokens. OpenAI auto-caches prefixes over 1024 tokens."
|
|
201
|
+
> "ECC's memory injection is designed as a stable prefix. The same content, in the same order, session after session."
|
|
202
|
+
> "That prefix hits the cache. Every long session, the repeated context is 90% cheaper."
|
|
203
|
+
|
|
204
|
+
**[SCREEN: Show example — 50,000 token session, 15,000 cached prefix]**
|
|
205
|
+
|
|
206
|
+
**NARRATION:**
|
|
207
|
+
> "If you do heavy AI coding sessions — hours per day — this adds up to real money over a month."
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
### [6:00–7:30] THE SELF-EVOLVING MEMORY (EVOLVE TAB)
|
|
212
|
+
|
|
213
|
+
**[SCREEN: Dashboard → Evolve tab]**
|
|
214
|
+
|
|
215
|
+
**NARRATION:**
|
|
216
|
+
> "The memory system also closes its own learning loop."
|
|
217
|
+
|
|
218
|
+
**[Show evolve tab with pending proposals]**
|
|
219
|
+
|
|
220
|
+
**NARRATION:**
|
|
221
|
+
> "ECC tracks which memories get recalled most often. When a pattern repeats enough times, it proposes a new skill — a permanent knowledge file that the AI uses on every relevant session."
|
|
222
|
+
|
|
223
|
+
**[Show a proposal in the dashboard — pending status]**
|
|
224
|
+
|
|
225
|
+
**NARRATION:**
|
|
226
|
+
> "Nothing is ever auto-applied. You review, accept, edit, then commit."
|
|
227
|
+
> "That's the design principle: the system proposes. You decide."
|
|
228
|
+
|
|
229
|
+
**[Show CLI:]**
|
|
230
|
+
```bash
|
|
231
|
+
npx kodelyth-ecc evolve analyze
|
|
232
|
+
npx kodelyth-ecc evolve list
|
|
233
|
+
npx kodelyth-ecc evolve show <id>
|
|
234
|
+
npx kodelyth-ecc evolve accept <id>
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**NARRATION:**
|
|
238
|
+
> "The evolve CLI is your interface to the proposal pipeline."
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
### [7:30–8:30] PRIVACY — EVERYTHING LOCAL
|
|
243
|
+
|
|
244
|
+
**[SCREEN: Terminal]**
|
|
245
|
+
|
|
246
|
+
**NARRATION:**
|
|
247
|
+
> "One thing I want to be explicit about."
|
|
248
|
+
|
|
249
|
+
**[TYPE:]**
|
|
250
|
+
```bash
|
|
251
|
+
ls -la ~/.kodelyth/memory/
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
**[Show the files — memories.jsonl, indexes]**
|
|
255
|
+
|
|
256
|
+
**NARRATION:**
|
|
257
|
+
> "That's everything. A JSONL file on your disk."
|
|
258
|
+
> "No API call leaves your machine for memory operations. No server. No account. No sync unless you set it up yourself."
|
|
259
|
+
|
|
260
|
+
**[TYPE:]**
|
|
261
|
+
```bash
|
|
262
|
+
npx kodelyth-ecc verify
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
**[Show sha256 manifest verification running]**
|
|
266
|
+
|
|
267
|
+
**NARRATION:**
|
|
268
|
+
> "You can verify the entire installed toolkit against a sha256 manifest any time. Every file, every agent, every hook — verifiable."
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
### [8:30–9:00] CTA
|
|
273
|
+
|
|
274
|
+
**NARRATION:**
|
|
275
|
+
> "The memory layer is what makes ECC different from every other toolkit."
|
|
276
|
+
> "It's not a feature you toggle on. It's infrastructure that builds over time and saves you real hours."
|
|
277
|
+
|
|
278
|
+
**[SCREEN: npm install command]**
|
|
279
|
+
|
|
280
|
+
**[TYPE:]**
|
|
281
|
+
```
|
|
282
|
+
npx kodelyth-ecc
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
**NARRATION:**
|
|
286
|
+
> "github.com/sifxprime/kodelyth-ecc — link in description."
|
|
287
|
+
> "Next video: Devil Mode. 8 adversarial agents that read your code like an attacker. I'll show you what they find on a real project."
|
|
288
|
+
|
|
289
|
+
**[END CARD: subscribe, next video preview, github link]**
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## B-ROLL / EDITING NOTES
|
|
294
|
+
|
|
295
|
+
- Animate the three-layer diagram with Figma or simple CSS animation
|
|
296
|
+
- Show REAL `memories.jsonl` content (blur personal project names if needed)
|
|
297
|
+
- The BM25 recall response must be real — test it, record it
|
|
298
|
+
- Dashboard footage: real session on localhost:5747
|
|
299
|
+
- Show the `jq` pipe — this builds technical credibility
|
|
300
|
+
- Music: same lo-fi track as Video 1 for consistency
|
|
301
|
+
- Thumbnail: "Your AI remembered. 5 months later. Different project." + memory icon
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
# VIDEO 3 — "Devil Mode: I audited my own codebase with 8 adversarial agents"
|
|
2
|
+
|
|
3
|
+
**Duration:** 10–12 minutes
|
|
4
|
+
**Platform:** YouTube (security engineers, senior devs, indie hackers pre-launch)
|
|
5
|
+
**Hook:** Real adversarial findings on a real project — not a demo, an actual audit
|
|
6
|
+
**Goal:** Show that ECC's devil mode produces real security value, not theater
|
|
7
|
+
**Screen setup:** Terminal + code editor + Claude Code/Windsurf on right
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## FULL SCRIPT
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
### [0:00–0:25] COLD OPEN — Start with a finding
|
|
16
|
+
|
|
17
|
+
**[SCREEN: Claude Code showing a live devil-mode result]**
|
|
18
|
+
|
|
19
|
+
**NARRATION:**
|
|
20
|
+
> "This is a real finding."
|
|
21
|
+
|
|
22
|
+
**[Show output — e.g., a secret in a config file, or a GPL dep, or a prompt injection vector]**
|
|
23
|
+
|
|
24
|
+
**NARRATION:**
|
|
25
|
+
> "I ran 8 adversarial agents on my own project. In parallel. They found this in under 3 minutes."
|
|
26
|
+
> "And I had already done a 'security review' the week before."
|
|
27
|
+
|
|
28
|
+
**[TITLE CARD: Devil Mode — 8 adversarial agents. Attacker mindset.]**
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
### [0:25–1:30] WHY SECURITY REVIEWS FAIL
|
|
33
|
+
|
|
34
|
+
**[SCREEN: Simple diagram]**
|
|
35
|
+
|
|
36
|
+
**NARRATION:**
|
|
37
|
+
> "Most security reviews fail for a simple reason."
|
|
38
|
+
> "The person doing the review is the same person who wrote the code."
|
|
39
|
+
> "You can't unsee what you built. You have blind spots in exactly the places that matter."
|
|
40
|
+
|
|
41
|
+
**[Draw: developer → reviews own code → misses the thing they built]**
|
|
42
|
+
|
|
43
|
+
**NARRATION:**
|
|
44
|
+
> "An attacker has no such blind spot. They come in cold. They look at your code the way a stranger would."
|
|
45
|
+
> "Devil mode is that stranger."
|
|
46
|
+
|
|
47
|
+
**[SCREEN: List the 8 agents]**
|
|
48
|
+
|
|
49
|
+
**NARRATION:**
|
|
50
|
+
> "8 agents. Each one with a specific attack surface. All running in parallel."
|
|
51
|
+
> "Let me walk you through each one — then we'll run them live."
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
### [1:30–4:30] THE 8 AGENTS — QUICK TOUR
|
|
56
|
+
|
|
57
|
+
**[Show each agent as a card — name + what it hunts + one real grep pattern]**
|
|
58
|
+
|
|
59
|
+
**[AGENT 1: secret-hunter]**
|
|
60
|
+
|
|
61
|
+
**NARRATION:**
|
|
62
|
+
> "Secret hunter. This one looks for leaked credentials."
|
|
63
|
+
> "Not just obvious API keys — it digs into git history. Leaked secrets don't disappear when you delete the file. They live in every commit before you noticed."
|
|
64
|
+
|
|
65
|
+
**[SCREEN: Show bash pattern — `git log -p --all | grep -E 'AKIA|ghp_|sk-|SG\.'`]**
|
|
66
|
+
|
|
67
|
+
**NARRATION:**
|
|
68
|
+
> "AWS keys, GitHub tokens, Stripe secret keys, SendGrid API keys. All have distinctive prefixes. It knows them."
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
**[AGENT 2: supply-chain-auditor]**
|
|
73
|
+
|
|
74
|
+
**NARRATION:**
|
|
75
|
+
> "Supply chain auditor. Your biggest attack surface is probably your node_modules."
|
|
76
|
+
> "It checks for typosquats — packages named almost like popular ones. It checks lockfile drift — packages that changed without a lockfile update. It reads install scripts."
|
|
77
|
+
|
|
78
|
+
**[SCREEN: Show a package with an install script that makes a network call]**
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
**[AGENT 3: license-violation-finder]**
|
|
83
|
+
|
|
84
|
+
**NARRATION:**
|
|
85
|
+
> "License violation finder. If you're going open source, one GPL dependency contaminates your whole project under copyleft law."
|
|
86
|
+
> "This agent maps your dependency tree, identifies AGPL and GPL licenses, and flags anything that creates legal risk before you flip the repo public."
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
**[AGENT 4: prompt-injection-hunter]**
|
|
91
|
+
|
|
92
|
+
**NARRATION:**
|
|
93
|
+
> "Prompt injection hunter. This one is for AI-powered features."
|
|
94
|
+
> "If your app takes user input and feeds it to an LLM — a chatbot, a RAG pipeline, a tool-calling agent — that input path is an attack surface."
|
|
95
|
+
> "Indirect injection. System prompt leak. Tool hijacking. This agent reads every LLM integration looking for those patterns."
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
**[AGENT 5: jailbreak-tester]**
|
|
100
|
+
|
|
101
|
+
**NARRATION:**
|
|
102
|
+
> "Jailbreak tester. This one red-teams your AI features live."
|
|
103
|
+
> "It doesn't just read code — it sends adversarial inputs to your running AI and checks if your guardrails hold."
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
**[AGENT 6: code-stealer-detector]**
|
|
108
|
+
|
|
109
|
+
**NARRATION:**
|
|
110
|
+
> "Code stealer detector. If you're shipping commercial software, you need to know if any block of code was copy-pasted from somewhere with a license that conflicts with yours."
|
|
111
|
+
> "This is especially critical for AI-generated code — Copilot and similar tools sometimes reproduce licensed training data."
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
**[AGENT 7: backdoor-hunter]**
|
|
116
|
+
|
|
117
|
+
**NARRATION:**
|
|
118
|
+
> "Backdoor hunter. This one looks for malicious code patterns."
|
|
119
|
+
> "Obfuscated eval. Suspicious base64. Functions that encode URLs at runtime. Unexplained outbound connections."
|
|
120
|
+
> "If you received code from a contractor or vendored a library — this is the scan you run first."
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
**[AGENT 8: chaos-engineer]**
|
|
125
|
+
|
|
126
|
+
**NARRATION:**
|
|
127
|
+
> "Chaos engineer. Not a security agent in the traditional sense — an adversarial reliability agent."
|
|
128
|
+
> "It asks: what happens when your database goes down? When your message queue fills up? When a downstream API times out at the worst moment?"
|
|
129
|
+
> "It maps your hidden assumptions and turns them into fault injection scenarios before your users find them."
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
### [4:30–7:30] LIVE AUDIT — REAL PROJECT
|
|
134
|
+
|
|
135
|
+
**[SCREEN: Terminal — running on a real sample project]**
|
|
136
|
+
|
|
137
|
+
**NARRATION:**
|
|
138
|
+
> "Let's run it. I'm going to use a real project — a Next.js SaaS starter I've been building."
|
|
139
|
+
|
|
140
|
+
**[TYPE in Claude Code / Windsurf chat:]**
|
|
141
|
+
```
|
|
142
|
+
/devil-mode --pre-public
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**[Show the agents firing — show output appearing in real time]**
|
|
146
|
+
|
|
147
|
+
**NARRATION:**
|
|
148
|
+
> "Watch the agents fan out in parallel. Each one is running its own playbook simultaneously."
|
|
149
|
+
|
|
150
|
+
**[Wait for results — narrate as they come in:]**
|
|
151
|
+
|
|
152
|
+
**[Finding 1: secret-hunter]**
|
|
153
|
+
|
|
154
|
+
**NARRATION:**
|
|
155
|
+
> "Secret hunter flagged something. Let's look."
|
|
156
|
+
|
|
157
|
+
**[Show: a .env.example file that was committed with a real key accidentally]**
|
|
158
|
+
|
|
159
|
+
**NARRATION:**
|
|
160
|
+
> "Committed 3 months ago. I removed it, but it's in git history. Anyone who clones this repo can find it with `git log -p`."
|
|
161
|
+
> "This would have been a problem if I went public. Now it's not."
|
|
162
|
+
|
|
163
|
+
**[REMEDIATION shown: `git filter-branch` or BFG Repo Cleaner command]**
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
**[Finding 2: supply-chain-auditor]**
|
|
168
|
+
|
|
169
|
+
**NARRATION:**
|
|
170
|
+
> "Supply chain flagged a package. Let me check."
|
|
171
|
+
|
|
172
|
+
**[Show: a dep with an install script that makes a network call to a third-party analytics service]**
|
|
173
|
+
|
|
174
|
+
**NARRATION:**
|
|
175
|
+
> "This package phones home on install. I had no idea. It's not malicious but it's not something I want happening silently."
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
**[Finding 3: license-violation-finder]**
|
|
180
|
+
|
|
181
|
+
**NARRATION:**
|
|
182
|
+
> "License finder flagged one. LGPL-2.1 in a transitive dependency."
|
|
183
|
+
> "For my use case — commercial SaaS — this is fine if I keep it as a library. It's flagging for awareness, not as a blocker."
|
|
184
|
+
> "But if I was statically linking it, different story."
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
**[Summary]**
|
|
189
|
+
|
|
190
|
+
**[Show the aggregated report:]**
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
CRITICAL (1): Leaked secret in git history — rotate STRIPE_SECRET_KEY immediately
|
|
194
|
+
HIGH (1): Dependency phones home on install — audit or replace
|
|
195
|
+
MEDIUM (1): LGPL transitive dep — review linking model
|
|
196
|
+
LOW (2): Two advisory items
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**NARRATION:**
|
|
200
|
+
> "Three real findings I would have missed. The most important one — the leaked key — would have been a serious problem post-launch."
|
|
201
|
+
> "This took 3 minutes. Not 3 hours. Not a contractor invoice."
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
### [7:30–8:30] THE THREE FLAGS
|
|
206
|
+
|
|
207
|
+
**[SCREEN: Terminal]**
|
|
208
|
+
|
|
209
|
+
**NARRATION:**
|
|
210
|
+
> "Devil mode ships with three flags for different situations."
|
|
211
|
+
|
|
212
|
+
**[TYPE and explain each:]**
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
/devil-mode # Default: 4 agents (secret, supply-chain, backdoor, prompt-injection)
|
|
216
|
+
/devil-mode --pre-public # Before going open source: adds license + code-stealer
|
|
217
|
+
/devil-mode --pre-launch # Before production launch: adds jailbreak-tester + chaos-engineer
|
|
218
|
+
/devil-mode --all # All 8 agents simultaneously
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**NARRATION:**
|
|
222
|
+
> "I recommend --pre-public every time you plan to open-source something. Non-negotiable."
|
|
223
|
+
> "--all for post-incident sweeps or high-stakes launches."
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
### [8:30–9:30] INDIVIDUAL AGENTS
|
|
228
|
+
|
|
229
|
+
**[SCREEN: Claude Code]**
|
|
230
|
+
|
|
231
|
+
**NARRATION:**
|
|
232
|
+
> "You can also call individual agents if you only need one angle."
|
|
233
|
+
|
|
234
|
+
**[TYPE:]**
|
|
235
|
+
```
|
|
236
|
+
use secret-hunter
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**[Show it running]**
|
|
240
|
+
|
|
241
|
+
**NARRATION:**
|
|
242
|
+
> "Same agent, just one of them."
|
|
243
|
+
> "Useful when you added a new feature and only need the prompt injection sweep."
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
### [9:30–10:00] HOW IT'S DIFFERENT FROM A LINTER
|
|
248
|
+
|
|
249
|
+
**NARRATION:**
|
|
250
|
+
> "A question I get: how is this different from running a security linter?"
|
|
251
|
+
|
|
252
|
+
**[SCREEN: Split — linter output vs devil-mode output]**
|
|
253
|
+
|
|
254
|
+
**NARRATION:**
|
|
255
|
+
> "Linters catch syntax-level issues. SQL injection patterns. Known unsafe API calls. Static analysis."
|
|
256
|
+
> "Devil mode catches semantic issues. Why is this code making an outbound call? Why does this install script exist? Is this base64 innocent or suspicious? What happens to this system under adversarial conditions?"
|
|
257
|
+
> "Different tool. Different attack surface. You want both."
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
### [10:00–10:30] CTA
|
|
262
|
+
|
|
263
|
+
**NARRATION:**
|
|
264
|
+
> "If you're shipping software and you haven't run something like this — run it today."
|
|
265
|
+
|
|
266
|
+
**[TYPE:]**
|
|
267
|
+
```bash
|
|
268
|
+
npx kodelyth-ecc
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**[Then in chat:]**
|
|
272
|
+
```
|
|
273
|
+
/devil-mode --pre-public
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**NARRATION:**
|
|
277
|
+
> "github.com/sifxprime/kodelyth-ecc — zero telemetry, everything local, MIT license."
|
|
278
|
+
> "Next video: the MCP server — how to give LangGraph, AutoGen, or Claude Desktop access to all 70 agents and local memory. In one command."
|
|
279
|
+
|
|
280
|
+
**[END CARD]**
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## B-ROLL / EDITING NOTES
|
|
285
|
+
|
|
286
|
+
- **USE A REAL PROJECT** — the credibility of this video depends on real findings, not demo setups
|
|
287
|
+
- If you don't want to show your own project, create a realistic sample project with planted issues
|
|
288
|
+
- Plant: one expired/rotated key in git history, one dep with install script, one GPL dep
|
|
289
|
+
- Record the `/devil-mode` run uncut — the waiting time builds tension and authenticity
|
|
290
|
+
- Show the `git log -p | grep` command for the secret finding
|
|
291
|
+
- Show BFG Repo Cleaner remediation or `git filter-branch` command
|
|
292
|
+
- Diagram for "attacker mindset vs author mindset" — 30-second simple animation
|
|
293
|
+
- Thumbnail: red background + "I ran 8 attackers on my own code" + devil emoji or adversarial icon
|
|
294
|
+
- This video will get shared in security communities — keep it technically precise
|