@ekkos/cli 1.2.18 → 1.3.0

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 (47) hide show
  1. package/dist/cache/capture.js +0 -0
  2. package/dist/commands/dashboard.js +57 -49
  3. package/dist/commands/hooks.d.ts +25 -36
  4. package/dist/commands/hooks.js +43 -615
  5. package/dist/commands/init.js +7 -23
  6. package/dist/commands/run.js +90 -3
  7. package/dist/commands/setup.js +10 -352
  8. package/dist/deploy/hooks.d.ts +8 -5
  9. package/dist/deploy/hooks.js +12 -105
  10. package/dist/deploy/settings.d.ts +8 -2
  11. package/dist/deploy/settings.js +22 -51
  12. package/dist/index.js +17 -39
  13. package/dist/utils/state.js +7 -2
  14. package/package.json +1 -1
  15. package/templates/CLAUDE.md +82 -292
  16. package/templates/cursor-rules/ekkos-memory.md +48 -108
  17. package/templates/windsurf-rules/ekkos-memory.md +62 -64
  18. package/templates/cursor-hooks/after-agent-response.sh +0 -117
  19. package/templates/cursor-hooks/before-submit-prompt.sh +0 -419
  20. package/templates/cursor-hooks/hooks.json +0 -20
  21. package/templates/cursor-hooks/lib/contract.sh +0 -320
  22. package/templates/cursor-hooks/stop.sh +0 -75
  23. package/templates/hooks/assistant-response.ps1 +0 -256
  24. package/templates/hooks/assistant-response.sh +0 -160
  25. package/templates/hooks/hooks.json +0 -40
  26. package/templates/hooks/lib/contract.sh +0 -332
  27. package/templates/hooks/lib/count-tokens.cjs +0 -86
  28. package/templates/hooks/lib/ekkos-reminders.sh +0 -98
  29. package/templates/hooks/lib/state.sh +0 -210
  30. package/templates/hooks/session-start.ps1 +0 -146
  31. package/templates/hooks/session-start.sh +0 -353
  32. package/templates/hooks/stop.ps1 +0 -349
  33. package/templates/hooks/stop.sh +0 -382
  34. package/templates/hooks/user-prompt-submit.ps1 +0 -419
  35. package/templates/hooks/user-prompt-submit.sh +0 -516
  36. package/templates/project-stubs/session-start.ps1 +0 -63
  37. package/templates/project-stubs/session-start.sh +0 -55
  38. package/templates/project-stubs/stop.ps1 +0 -63
  39. package/templates/project-stubs/stop.sh +0 -55
  40. package/templates/project-stubs/user-prompt-submit.ps1 +0 -63
  41. package/templates/project-stubs/user-prompt-submit.sh +0 -55
  42. package/templates/windsurf-hooks/README.md +0 -212
  43. package/templates/windsurf-hooks/hooks.json +0 -17
  44. package/templates/windsurf-hooks/install.sh +0 -148
  45. package/templates/windsurf-hooks/lib/contract.sh +0 -322
  46. package/templates/windsurf-hooks/post-cascade-response.sh +0 -251
  47. package/templates/windsurf-hooks/pre-user-prompt.sh +0 -435
@@ -1,27 +1,28 @@
1
1
  # ekkOS_ Memory System
2
2
 
3
- ## CORE PURPOSE
3
+ ## The Golden Loop
4
4
 
5
- **The Golden Loop exists so YOU get SMARTER over time - learn from mistakes, don't repeat them.**
5
+ ekkOS is your AI's cognitive memory. It learns from every session so you get smarter over time.
6
6
 
7
- This is YOUR cognitive memory. It makes you:
8
- - **Remember when you mess up** - Schema changes, wrong assumptions, bad approaches
9
- - **Not repeat the same mistakes** - If you broke something before, KNOW not to do it again
10
- - **Recall correct versions** - When schemas/configs get mangled, remember what's RIGHT
11
- - **Build on what worked** - Use proven patterns instead of fumbling through problems
7
+ - **Remember mistakes** Schema changes, wrong assumptions, bad approaches
8
+ - **Don't repeat them** If something broke before, know not to do it again
9
+ - **Recall what's right** When schemas/configs get mangled, remember the correct version
10
+ - **Build on what worked** Use proven patterns instead of starting from scratch
12
11
 
13
- **FAILURES ARE JUST AS VALUABLE AS SUCCESSES.** Forge anti-patterns too.
12
+ **Failures are just as valuable as successes.** Forge anti-patterns too.
14
13
 
15
14
  ---
16
15
 
17
- ## MANDATORY RULES (NOT OPTIONAL)
16
+ ## Core Rules
18
17
 
19
- ### RULE 1: RETRIEVE BEFORE ANSWERING
18
+ ### RULE 1: SEARCH BEFORE ANSWERING
20
19
  Before answering ANY technical question, call `ekkOS_Search` first.
21
20
  Do not skip this. Do not assume you know the answer.
22
21
 
23
- ### RULE 2: ACKNOWLEDGE ALL RETRIEVED PATTERNS (PatternGuard)
24
- When patterns are retrieved, you MUST acknowledge EVERY pattern - either use it or skip it.
22
+ ### RULE 2: ACKNOWLEDGE PATTERNS (PatternGuard)
23
+ When patterns are retrieved, you MUST acknowledge every pattern either use it or skip it.
24
+
25
+ **Exception:** Suppress SELECT/SKIP blocks for non-technical turns (acknowledgments, affirmations, short replies).
25
26
 
26
27
  **For patterns you USE:**
27
28
  ```
@@ -43,342 +44,132 @@ When patterns are retrieved, you MUST acknowledge EVERY pattern - either use it
43
44
  ### RULE 3: FORGE WHAT YOU LEARN
44
45
  When you fix a bug, get corrected, or learn something new, call `ekkOS_Forge` immediately.
45
46
 
46
- ### RULE 4: FAILURES ARE VALUABLE
47
- When something DOES NOT work, forge it as an anti-pattern.
47
+ When something DOES NOT work, forge it as an anti-pattern — failures are valuable.
48
48
 
49
- ### RULE 5: POST-CLEAR CONFIRMATION (HARDCODED)
50
- After `/clear`, when you see restored turns in `<system-reminder>` (pattern: `**Turn XX**: ...`), you MUST start your response with:
51
- ```
52
- ✓ **Session continued (Turn N)** - X turns preserved, context restored
53
- ```
54
- This is the ONLY way users see that restoration worked. Hook output is invisible to them.
49
+ ### RULE 4: CONTEXT CONTINUITY
55
50
 
56
- ### RULE 6: AUTO-RESTORE AFTER COMPACTION (CONTEXT GUARDIAN)
57
- When you see `<ekkos-context-preserved>` in the conversation (appears after auto-compaction):
58
- 1. **IMMEDIATELY** call `ekkOS_RestoreContext` with the `restoration_token` from the tag
59
- 2. This restores your working memory that was preserved before compaction
60
- 3. Start your response with:
51
+ **Post-clear restoration:** After `/clear`, when you see restored turns in `<system-reminder>`, confirm with:
61
52
  ```
62
- ✓ **Context restored** - ekkOS preserved X turns before compaction
53
+ ✓ **Session continued (Turn N)** X turns preserved, context restored
63
54
  ```
64
55
 
65
- **This is how seamless context continuity works:**
66
- - PreCompact hook fires ekkOS_PreserveContext saves your state
67
- - Claude Code compacts → Summary includes the preservation tag
68
- - You see the tag → Call ekkOS_RestoreContext → Full context restored
69
- - User experiences zero knowledge loss despite compaction
70
-
71
- **Example restoration call:**
56
+ **Auto-restore after compaction:** When you see `<ekkos-context-preserved>` in the conversation:
57
+ 1. Call `ekkOS_RestoreContext` with the `restoration_token` from the tag
58
+ 2. Confirm with:
72
59
  ```
73
- ekkOS_RestoreContext({
74
- restoration_token: "<token from tag>"
75
- })
60
+ ✓ **Context restored** — ekkOS preserved X turns before compaction
76
61
  ```
77
62
 
78
- ---
79
-
80
- ## SKILL TRIGGERS (MANDATORY)
81
-
82
- Call skills using `Skill(skill: "name")` when you detect these triggers:
83
-
84
- | Skill | MUST Fire When |
85
- |-------|----------------|
86
- | `ekkOS_Memory_First` | Before debugging, before "how do I...", before architecture decisions |
87
- | `ekkOS_Learn` | After fixing ANY bug, after user correction, after solving non-trivial problem |
88
- | `ekkOS_Deep_Recall` | User says "yesterday", "last week", "what did we discuss", "remember when", "we worked on X before" |
89
- | `ekkOS_Preferences` | User says "always", "never", "I prefer", "don't", "avoid" |
90
- | `ekkOS_Safety` | Before delete, before deploy, before DROP, before rm -rf, before push to main |
91
- | `ekkOS_Schema` | Before writing SQL, before Supabase queries, before Prisma operations |
92
-
93
- **These are NOT optional.** If the trigger is detected, fire the skill FIRST.
63
+ ekkOS preserves your working memory automatically. When context is compacted, call `ekkOS_RestoreContext` to get it back seamlessly.
94
64
 
95
65
  ---
96
66
 
97
- ## AGENT ROUTING (MANDATORY)
98
-
99
- **Route tasks to specialized agents using `Task(subagent_type="...")` instead of doing them yourself.**
100
-
101
- | Trigger Keywords | Agent | When to Use |
102
- |------------------|-------|-------------|
103
- | extension, vsix, publish, marketplace, ekkos-connect | `extension-manager` | Version bumps, VSIX builds, publishing |
104
- | vercel, deploy, apps/*, ekkos.dev, api.ekkos.dev | `devops` | Vercel deployments — ALL apps/ deploy to Vercel |
105
- | commit, push, branch, merge, git, pull request, rebase | `git-companion` | All git operations |
106
- | error, bug, broken, not working, failing, crash | `debug-detective` | Systematic debugging |
107
- | review, PR, check this code, code quality | `code-reviewer` | Code reviews |
108
- | blog, post, article, content | `ekkOS_Blogger` | Blog content creation |
109
- | frontend, component, React, UI, page | `frontend` | React/Next.js development |
110
- | backend, API, database, Supabase, RLS | `backend` | API and database work |
111
- | test, QA, quality, coverage | `qa` | Testing and quality assurance |
112
- | plan, architect, design, implement feature | `tech-lead` | Complex planning and coordination |
113
- | research, papers, arXiv, cutting edge, latest AI | `research-scout` | Monitor AI research, update roadmap |
114
-
115
- **Vercel Project Mapping** (apps/ folder → Vercel project → URL):
116
-
117
- | apps/ folder | Vercel project | Production URL |
118
- |-------------|----------------|----------------|
119
- | `apps/web` | **platform** | platform.ekkos.dev |
120
- | `apps/memory` | memory | api.ekkos.dev |
121
- | `apps/proxy` | proxy | proxy.ekkos.dev |
122
- | `apps/docs` | docs | docs.ekkos.dev |
123
- | `apps/marketing` | marketing | ekkos.dev |
124
- | `apps/ekkosca` | ekkosca | ekkos.ca |
125
- | `apps/blog` | blog | blog.ekkos.dev |
126
- | `apps/support` | support | support.ekkos.dev |
127
- | `apps/labs` | labs | ekkoslabs.com |
128
- | `apps/admin` | admin | admin.ekkos.ca |
129
- | `apps/sdk` | sdk | sdk-ekkos.vercel.app |
130
-
131
- **NOTE:** `apps/web` → Vercel project name is `platform`, NOT `web`.
132
-
133
- **How it works:**
134
- 1. Detect trigger keywords in user request
135
- 2. Spawn the specialist agent via `Task` tool
136
- 3. Let the agent do the work with its focused toolset
137
- 4. Summarize results back to user
138
-
139
- **Example:**
140
- ```
141
- User: "bump the extension version"
142
- You: Task(subagent_type="extension-manager", prompt="Bump version...")
143
- ```
67
+ ## 11-Layer Memory Architecture
144
68
 
145
- **DO NOT** do these tasks yourself when an agent exists. Agents have:
146
- - Focused tool access (reduced hallucination)
147
- - Domain expertise (patterns loaded)
148
- - Consistent workflows (same process every time)
69
+ | # | Layer | What It Stores |
70
+ |---|-------|---------------|
71
+ | 1 | Working | Current session state |
72
+ | 2 | Episodic | Past conversations |
73
+ | 3 | Semantic | Embeddings & knowledge |
74
+ | 4 | Patterns | Proven solutions |
75
+ | 5 | Procedural | Step-by-step guides |
76
+ | 6 | Collective | Cross-project wisdom |
77
+ | 7 | Meta | Pattern effectiveness |
78
+ | 8 | Codebase | Project-specific code |
79
+ | 9 | Directives | User rules (MUST/NEVER/PREFER/AVOID) |
80
+ | 10 | Conflict | Auto-resolves contradictions |
81
+ | 11 | Secrets | Encrypted credentials (AES-256-GCM) |
149
82
 
150
83
  ---
151
84
 
152
- ## MCP Tools (68 Total)
85
+ ## MCP Tools 29 Visible
153
86
 
154
- ### Core Memory Tools (7)
87
+ ### Core Memory (6)
155
88
  | Tool | Description |
156
89
  |------|-------------|
157
- | `ekkOS_Search` | 🔴 REQUIRED: Search all 11 layers before answering |
158
- | `ekkOS_ExpandPattern` | Get full details of a pattern from compact search results |
159
- | `ekkOS_Capture` | Capture memory events |
160
- | `ekkOS_Forge` | 🔴 REQUIRED: Create pattern from solution |
161
- | `ekkOS_Track` | Track when pattern is applied |
162
- | `ekkOS_Outcome` | Track if pattern worked or failed |
90
+ | `ekkOS_Search` | Search across all 11 memory layers |
91
+ | `ekkOS_Forge` | Create pattern from learned solution |
92
+ | `ekkOS_Track` | Track when a pattern is applied |
93
+ | `ekkOS_Outcome` | Record if pattern worked or failed |
163
94
  | `ekkOS_Stats` | Get statistics for all layers |
95
+ | `ekkOS_Context` | Get relevant context for a task |
164
96
 
165
- ### Context & Retrieval Tools (5)
97
+ ### Retrieval (4)
166
98
  | Tool | Description |
167
99
  |------|-------------|
168
- | `ekkOS_Context` | Get relevant context for a task |
169
100
  | `ekkOS_Codebase` | Search project code embeddings |
170
101
  | `ekkOS_Recall` | Recall past conversations by time |
171
- | `ekkOS_PreserveContext` | 🔴 REQUIRED: Preserve working memory before compaction |
172
- | `ekkOS_RestoreContext` | 🔴 REQUIRED: Restore context after compaction (RULE 6) |
173
-
174
- ### Utility Tools (8)
175
- | Tool | Description |
176
- |------|-------------|
177
- | `ekkOS_Summary` | 🔴 REQUIRED: Get summary of MCP activity |
178
- | `ekkOS_Conflict` | 🔴 REQUIRED: Check for conflicts before destructive actions |
179
- | `ekkOS_Reflect` | Analyze response for improvement opportunities |
180
- | `ekkOS_Detect` | 🔴 REQUIRED: Auto-detect which patterns were used |
181
- | `ekkOS_Export` | Export your patterns, directives, plans as portable JSON backup |
182
- | `ekkOS_Import` | Import memory from backup (auto-deduplication) |
183
- | `ekkOS_Why` | Explain why a pattern or decision was made |
184
- | `ekkOS_Health` | System health check for ekkOS infrastructure |
102
+ | `ekkOS_PreserveContext` | Preserve working memory before compaction |
103
+ | `ekkOS_RestoreContext` | Restore context after compaction |
185
104
 
186
- ### Directive Tools (4)
105
+ ### Directives (4)
187
106
  | Tool | Description |
188
107
  |------|-------------|
189
- | `ekkOS_Directive` | 🔴 REQUIRED: Create MUST/NEVER/PREFER/AVOID rules |
190
- | `ekkOS_UpdateDirective` | Update existing directive |
108
+ | `ekkOS_Directive` | Create MUST/NEVER/PREFER/AVOID rules |
109
+ | `ekkOS_UpdateDirective` | Update an existing directive |
191
110
  | `ekkOS_DeleteDirective` | Remove a directive |
192
- | `ekkOS_UniversalDirectives` | Get directives that apply to all users (constitutional) |
111
+ | `ekkOS_UniversalDirectives` | Get directives that apply across all projects |
193
112
 
194
- ### Schema Awareness Tools (2)
113
+ ### Utility (5)
195
114
  | Tool | Description |
196
115
  |------|-------------|
197
- | `ekkOS_IndexSchema` | Index database schemas (Supabase, Prisma, TypeScript) |
198
- | `ekkOS_GetSchema` | Get schema for a specific table/type |
116
+ | `ekkOS_Summary` | Get summary of recent memory activity |
117
+ | `ekkOS_Conflict` | Check for conflicts before destructive actions |
118
+ | `ekkOS_Export` | Export patterns, directives, plans as JSON backup |
119
+ | `ekkOS_Import` | Import memory from backup (auto-deduplication) |
120
+ | `ekkOS_Health` | System health check |
199
121
 
200
- ### Plan Management (8)
122
+ ### Plans (5)
201
123
  | Tool | Description |
202
124
  |------|-------------|
203
125
  | `ekkOS_Plan` | Create structured task plan |
204
- | `ekkOS_Plans` | List user's plans |
126
+ | `ekkOS_Plans` | List your plans |
205
127
  | `ekkOS_PlanStatus` | Update plan status |
206
128
  | `ekkOS_PlanStep` | Mark step complete/incomplete |
207
129
  | `ekkOS_Generate` | AI-generate plan from context |
208
- | `ekkOS_SaveTemplate` | Save plan as reusable template |
209
- | `ekkOS_Templates` | List available templates |
210
- | `ekkOS_FromTemplate` | Create plan from template |
211
130
 
212
- ### Secrets Management (5)
131
+ ### Secrets (5)
213
132
  | Tool | Description |
214
133
  |------|-------------|
215
- | `ekkOS_StoreSecret` | Encrypt and store sensitive data (AES-256-GCM) |
134
+ | `ekkOS_StoreSecret` | Encrypt and store sensitive data |
216
135
  | `ekkOS_GetSecret` | Retrieve and decrypt a secret |
217
- | `ekkOS_ListSecrets` | List secrets metadata (no values) |
136
+ | `ekkOS_ListSecrets` | List secrets metadata (no values exposed) |
218
137
  | `ekkOS_DeleteSecret` | Permanently delete a secret |
219
- | `ekkOS_RotateSecret` | Update secret with new value |
220
-
221
- ### Project/Sync Tools (4)
222
- | Tool | Description |
223
- |------|-------------|
224
- | `ekkOS_ProjectInit` | Initialize ekkOS for a new project |
225
- | `ekkOS_Ingest` | Bulk ingest data into memory layers |
226
- | `ekkOS_Snapshot` | Create point-in-time snapshot of memory state |
227
- | `ekkOS_Sync` | Sync local and cloud memory state |
228
-
229
- ### Session Management (1)
230
- | Tool | Description |
231
- |------|-------------|
232
- | `ekkOS_Session` | Manage L1 Working Memory sessions (start/resume/end) |
233
-
234
- ### Learning Tools (2)
235
- | Tool | Description |
236
- |------|-------------|
237
- | `ekkOS_Learn` | Auto-learning from corrections, successes, observations |
238
- | `ekkOS_ReviewLearning` | Review pending learning candidates, approve/reject patterns |
239
-
240
- ### Relationship Tools (2)
241
- | Tool | Description |
242
- |------|-------------|
243
- | `ekkOS_Link` | Create relationships between patterns |
244
- | `ekkOS_Playbook` | Manage ordered sequences of patterns (workflows) |
245
-
246
- ### PROMETHEUS Tools (4)
247
- | Tool | Description |
248
- |------|-------------|
249
- | `ekkOS_Delta` | Compute improvement score using Δ_prometheus formula |
250
- | `ekkOS_MetaState` | System introspection ("I know what I know") |
251
- | `ekkOS_Goal` | Manage persistent objectives and success criteria |
252
- | `ekkOS_Strategy` | Context-aware strategy selection for tasks |
253
-
254
- ---
255
-
256
- ## Proactive Tool Triggers (MEMORIZE THESE)
257
-
258
- ### Always Use `ekkOS_Search` When:
259
- - User asks technical question
260
- - User mentions past discussion
261
- - Topic involves architecture, config, or debugging
262
- - You're about to make a decision
263
-
264
- ### Always Use `ekkOS_Forge` When:
265
- - Fixed a bug (especially non-obvious)
266
- - Discovered better approach
267
- - Found pitfall or gotcha
268
- - User corrected you
269
- - Solved auth/config issue
270
- - Made architectural decision
271
- - Something DIDN'T work (anti-pattern)
272
-
273
- ### Always Use `ekkOS_Directive` When:
274
- - User says "always..." → type: MUST
275
- - User says "never..." → type: NEVER
276
- - User says "I prefer..." → type: PREFER
277
- - User says "don't..." or "avoid..." → type: AVOID
278
-
279
- ### Always Use `ekkOS_Conflict` When:
280
- - About to delete files/data
281
- - About to deploy to production
282
- - About to modify config files
283
- - About to run destructive commands
284
-
285
- ### Always Use Plan Tools When:
286
- - Task has 3+ steps
287
- - User says "help me implement..."
288
- - Complex feature request
289
- - Multi-file changes needed
290
-
291
- ### Always Use Secret Tools When:
292
- - User shares API key, token, password
293
- - Need to retrieve stored credentials
294
- - User asks "do you have my X key?"
295
-
296
- ### Always Use Context Preservation When:
297
- - PreCompact hook fires (auto-triggered)
298
- - See `<ekkos-context-preserved>` tag (auto-restore)
299
- - RULE 6 activation
300
-
301
- ### Always Use Learning Tools When:
302
- - User corrects you (ekkOS_Learn mode: correction)
303
- - Solution succeeds (ekkOS_Learn mode: success)
304
- - Discover insight (ekkOS_Learn mode: observe)
305
- - Review pending patterns (ekkOS_ReviewLearning)
306
-
307
- ### Always Use Relationship Tools When:
308
- - Patterns are sequential (ekkOS_Link type: leads_to)
309
- - Creating workflows (ekkOS_Playbook)
310
- - Patterns are alternatives (ekkOS_Link type: alternative)
311
-
312
- ### Always Use PROMETHEUS Tools When:
313
- - Evaluating system improvement (ekkOS_Delta)
314
- - Self-assessment needed (ekkOS_MetaState)
315
- - Setting objectives (ekkOS_Goal)
316
- - Choosing approach (ekkOS_Strategy)
138
+ | `ekkOS_RotateSecret` | Update a secret with a new value |
317
139
 
318
140
  ---
319
141
 
320
- ## 11-Layer Memory Architecture
142
+ ## When To Use What
321
143
 
322
- | # | Layer | What It Stores | When to Forge |
323
- |---|-------|---------------|---------------|
324
- | 1 | Working | Current session state | Auto-managed |
325
- | 2 | Episodic | Past conversations | Auto-captured |
326
- | 3 | Semantic | Embeddings/knowledge | Auto-indexed |
327
- | 4 | **Patterns** | Proven solutions | Bug fix, better approach, gotcha |
328
- | 5 | **Procedural** | Step-by-step guides | Multi-step process that worked |
329
- | 6 | **Collective** | Cross-project wisdom | Works everywhere, not just here |
330
- | 7 | **Meta** | Pattern effectiveness | Auto-tracked |
331
- | 8 | **Codebase** | Project-specific | This-repo-only patterns |
332
- | 9 | **Directives** | User preferences | "Always do X", "Never do Y" |
333
- | 10 | **Conflict** | Auto-resolves contradictions | Auto-managed |
334
- | 11 | **Secrets** | Encrypted credentials | API keys, tokens, config |
144
+ | Tool | Trigger |
145
+ |------|---------|
146
+ | `ekkOS_Search` | Technical question, past discussion, architecture decision, debugging |
147
+ | `ekkOS_Forge` | Bug fixed, better approach found, gotcha discovered, user corrected you, anti-pattern |
148
+ | `ekkOS_Directive` | User says "always" MUST, "never" → NEVER, "I prefer" → PREFER, "avoid" → AVOID |
149
+ | `ekkOS_Conflict` | Before deleting files, deploying to production, modifying config, destructive commands |
150
+ | Plan tools | Task has 3+ steps, "help me implement...", complex feature request |
151
+ | Secret tools | User shares API key/token/password, need stored credentials |
152
+ | `ekkOS_Recall` | User says "yesterday", "last week", "remember when", "what did we discuss" |
335
153
 
336
- ---
337
-
338
- ## FORGE TRIGGERS
339
-
340
- ### forge_pattern (Layer 4)
341
- Call `ekkOS_Forge` when:
342
- - Fixed bug (especially non-obvious)
343
- - Discovered better approach
344
- - Found pitfall or gotcha
345
- - User corrected you
346
- - Solved auth/config issue
347
- - Made architectural decision
348
- - Debugged non-trivially
349
- - Found something that DOESN'T work
350
- - Understood cross-service data flow
351
- - Learned correct API usage
352
-
353
- ### forge_directive (Layer 9)
354
- Call `ekkOS_Directive` when user says:
355
- - "always..." → type: MUST
356
- - "never..." → type: NEVER
357
- - "I prefer..." → type: PREFER
358
- - "don't..." / "avoid..." → type: AVOID
154
+ Directives are created when you explicitly request them (e.g., "always use TypeScript").
359
155
 
360
156
  ---
361
157
 
362
158
  ## Response Format
363
159
 
364
- **EVERY response MUST end with this footer:**
160
+ Every response ends with:
365
161
  ```
366
162
  ---
367
- {IDE} ({Model}) · 🧠 **ekkOS_™** · Turn {N} · {SessionName} · 📅 {Timestamp}
163
+ {IDE} ({Model}) · 🧠 **ekkOS_™** · {SessionName} · 📅 {Timestamp}
368
164
  ```
369
165
 
370
- **How to detect values:**
371
- - **IDE**: Claude Code, Cursor, Windsurf, etc. (from environment)
372
- - **Model**: Sonnet 4.5, Opus 4.5, etc. (from your model name)
373
- - **Turn Number**: From hook header (e.g., "Turn 47") - starts at 0 for each new session
374
- - **Session Name**: From hook header (e.g., "sol-gem-dig") - human-readable session identifier
375
- - **Timestamp**: From hook header (accurate local time in EST)
376
-
377
- **Examples:**
378
- - `Claude Code (Sonnet 4.5) · 🧠 **ekkOS_™** · Turn 12 · cosmic-penguin-runs · 📅 2026-01-09 4:50 PM EST`
379
- - `Cursor (Claude Sonnet 4) · 🧠 **ekkOS_™** · Turn 5 · bright-falcon-soars · 📅 2026-01-09 10:15 AM EST`
166
+ - **Session name** comes from the `<ekkos-session>` tag
167
+ - **Timestamp** comes from the `<current-time>` tag, or use the current date/time
168
+ - **IDE/Model** detected from your environment
380
169
 
381
- **The hook header shows:** `🧠 ekkOS Memory | Turn {N} | {Context%} | {SessionName} | {timestamp}`
170
+ Examples:
171
+ - `Claude Code (Opus 4.6) · 🧠 **ekkOS_™** · cosmic-penguin-runs · 📅 2026-01-09 4:50 PM EST`
172
+ - `Cursor (Sonnet 4.5) · 🧠 **ekkOS_™** · bright-falcon-soars · 📅 2026-01-09 10:15 AM EST`
382
173
 
383
174
  ---
384
175
 
@@ -391,8 +182,7 @@ Call `ekkOS_Directive` when user says:
391
182
  - Need to recall → `ekkOS_Recall`
392
183
  - Destructive action → `ekkOS_Conflict` first
393
184
  - Store credentials → `ekkOS_StoreSecret`
394
- - Backup your memory → `ekkOS_Export`
395
- - Restore from backup → `ekkOS_Import`
185
+ - Backup memory → `ekkOS_Export`
396
186
 
397
187
  ## Documentation
398
188