codymaster 4.1.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 (193) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +285 -0
  3. package/adapters/antigravity.js +15 -0
  4. package/adapters/claude-code.js +17 -0
  5. package/adapters/cursor.js +16 -0
  6. package/commands/bootstrap.md +49 -0
  7. package/commands/build.md +48 -0
  8. package/commands/content.md +48 -0
  9. package/commands/continuity.md +60 -0
  10. package/commands/debug.md +51 -0
  11. package/commands/demo.md +96 -0
  12. package/commands/deploy.md +51 -0
  13. package/commands/plan.md +42 -0
  14. package/commands/review.md +55 -0
  15. package/commands/track.md +46 -0
  16. package/commands/ux.md +46 -0
  17. package/dist/agent-dispatch.js +161 -0
  18. package/dist/chains/builtin.js +85 -0
  19. package/dist/continuity.js +385 -0
  20. package/dist/dashboard.js +926 -0
  21. package/dist/data.js +122 -0
  22. package/dist/index.js +2434 -0
  23. package/dist/judge.js +252 -0
  24. package/dist/parallel-dispatch.js +359 -0
  25. package/dist/parallel-quality.js +172 -0
  26. package/dist/skill-chain.js +258 -0
  27. package/install.sh +513 -0
  28. package/package.json +79 -0
  29. package/skills/.content-factory-state.json +132 -0
  30. package/skills/.git 2/logs/refs/heads/main +1 -0
  31. package/skills/.git 2/logs/refs/remotes/origin/main +1 -0
  32. package/skills/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
  33. package/skills/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
  34. package/skills/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
  35. package/skills/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
  36. package/skills/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
  37. package/skills/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
  38. package/skills/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
  39. package/skills/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
  40. package/skills/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
  41. package/skills/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
  42. package/skills/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
  43. package/skills/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
  44. package/skills/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
  45. package/skills/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
  46. package/skills/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
  47. package/skills/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
  48. package/skills/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
  49. package/skills/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
  50. package/skills/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
  51. package/skills/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
  52. package/skills/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
  53. package/skills/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
  54. package/skills/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
  55. package/skills/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
  56. package/skills/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
  57. package/skills/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
  58. package/skills/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
  59. package/skills/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
  60. package/skills/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
  61. package/skills/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
  62. package/skills/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
  63. package/skills/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
  64. package/skills/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
  65. package/skills/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
  66. package/skills/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
  67. package/skills/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
  68. package/skills/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
  69. package/skills/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
  70. package/skills/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
  71. package/skills/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
  72. package/skills/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
  73. package/skills/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
  74. package/skills/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
  75. package/skills/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +5 -0
  76. package/skills/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
  77. package/skills/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
  78. package/skills/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
  79. package/skills/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
  80. package/skills/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
  81. package/skills/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
  82. package/skills/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
  83. package/skills/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
  84. package/skills/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
  85. package/skills/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
  86. package/skills/.git 2/refs/heads/main +1 -0
  87. package/skills/.git 2/refs/remotes/origin/main +1 -0
  88. package/skills/.pytest_cache 2/v/cache/nodeids +76 -0
  89. package/skills/.pytest_cache 2/v/cache/stepwise +1 -0
  90. package/skills/_shared/helpers.md +123 -0
  91. package/skills/_shared/outputs-convention.md +24 -0
  92. package/skills/cm-ads-tracker/SKILL.md +109 -0
  93. package/skills/cm-ads-tracker/evals/evals.json +55 -0
  94. package/skills/cm-ads-tracker/references/gtm-architecture.md +321 -0
  95. package/skills/cm-ads-tracker/references/industry-events.md +294 -0
  96. package/skills/cm-ads-tracker/references/platforms-api.md +238 -0
  97. package/skills/cm-ads-tracker/templates/capi-payload.md +79 -0
  98. package/skills/cm-ads-tracker/templates/datalayer-push.js +104 -0
  99. package/skills/cm-ads-tracker/templates/gtm-variables.js +56 -0
  100. package/skills/cm-brainstorm-idea/SKILL.md +423 -0
  101. package/skills/cm-code-review/SKILL.md +151 -0
  102. package/skills/cm-content-factory/SKILL.md +416 -0
  103. package/skills/cm-continuity/SKILL.md +399 -0
  104. package/skills/cm-dashboard/SKILL.md +533 -0
  105. package/skills/cm-dashboard/ui/app.js +1270 -0
  106. package/skills/cm-dashboard/ui/index.html +206 -0
  107. package/skills/cm-dashboard/ui/style.css +440 -0
  108. package/skills/cm-debugging/SKILL.md +412 -0
  109. package/skills/cm-deep-search/SKILL.md +242 -0
  110. package/skills/cm-design-system/SKILL.md +97 -0
  111. package/skills/cm-design-system/resources/halo-modern.md +40 -0
  112. package/skills/cm-design-system/resources/lunaris-advanced.md +40 -0
  113. package/skills/cm-design-system/resources/nitro-enterprise.md +39 -0
  114. package/skills/cm-design-system/resources/shadcn-default.md +37 -0
  115. package/skills/cm-dockit/README.md +100 -0
  116. package/skills/cm-dockit/SKILL.md +302 -0
  117. package/skills/cm-dockit/index.html +443 -0
  118. package/skills/cm-dockit/package-lock.json +1850 -0
  119. package/skills/cm-dockit/package.json +14 -0
  120. package/skills/cm-dockit/prompts/analysis.md +34 -0
  121. package/skills/cm-dockit/prompts/api-reference.md +24 -0
  122. package/skills/cm-dockit/prompts/architecture.md +21 -0
  123. package/skills/cm-dockit/prompts/data-flow.md +20 -0
  124. package/skills/cm-dockit/prompts/database.md +21 -0
  125. package/skills/cm-dockit/prompts/deployment.md +22 -0
  126. package/skills/cm-dockit/prompts/flows.md +21 -0
  127. package/skills/cm-dockit/prompts/jtbd.md +20 -0
  128. package/skills/cm-dockit/prompts/personas.md +24 -0
  129. package/skills/cm-dockit/prompts/sop-modules.md +40 -0
  130. package/skills/cm-dockit/scripts/doc-gen.sh +121 -0
  131. package/skills/cm-dockit/scripts/dockit-dashboard.sh +142 -0
  132. package/skills/cm-dockit/scripts/dockit-runner.sh +607 -0
  133. package/skills/cm-dockit/scripts/dockit-task.sh +166 -0
  134. package/skills/cm-dockit/skills/analyze-codebase.md +174 -0
  135. package/skills/cm-dockit/skills/api-reference.md +237 -0
  136. package/skills/cm-dockit/skills/changelog-guide.md +195 -0
  137. package/skills/cm-dockit/skills/content-guidelines.md +190 -0
  138. package/skills/cm-dockit/skills/sop-guide.md +184 -0
  139. package/skills/cm-dockit/skills/tech-docs.md +287 -0
  140. package/skills/cm-dockit/templates/markdown/structure.md +60 -0
  141. package/skills/cm-dockit/templates/vitepress-premium/.vitepress/config.mts +110 -0
  142. package/skills/cm-dockit/templates/vitepress-premium/.vitepress/theme/custom.css +189 -0
  143. package/skills/cm-dockit/templates/vitepress-premium/.vitepress/theme/index.ts +4 -0
  144. package/skills/cm-dockit/templates/vitepress-premium/package.json +19 -0
  145. package/skills/cm-dockit/templates/vitepress-premium/tests/frontend.test.ts +45 -0
  146. package/skills/cm-dockit/tests/runner.test.ts +66 -0
  147. package/skills/cm-dockit/workflows/export-markdown.md +82 -0
  148. package/skills/cm-dockit/workflows/generate-docs.md +68 -0
  149. package/skills/cm-dockit/workflows/setup-vitepress.md +181 -0
  150. package/skills/cm-example/SKILL.md +26 -0
  151. package/skills/cm-execution/SKILL.md +268 -0
  152. package/skills/cm-git-worktrees/SKILL.md +164 -0
  153. package/skills/cm-how-it-work/SKILL.md +189 -0
  154. package/skills/cm-identity-guard/SKILL.md +412 -0
  155. package/skills/cm-jtbd/SKILL.md +98 -0
  156. package/skills/cm-planning/SKILL.md +130 -0
  157. package/skills/cm-project-bootstrap/SKILL.md +161 -0
  158. package/skills/cm-project-bootstrap/templates/AGENTS.md +42 -0
  159. package/skills/cm-project-bootstrap/templates/frontend-safety.test.js +51 -0
  160. package/skills/cm-project-bootstrap/templates/i18n-sync.test.js +38 -0
  161. package/skills/cm-project-bootstrap/templates/pr-template.md +12 -0
  162. package/skills/cm-project-bootstrap/templates/project-identity.json +29 -0
  163. package/skills/cm-project-bootstrap/templates/vitest.config.js +10 -0
  164. package/skills/cm-quality-gate/SKILL.md +218 -0
  165. package/skills/cm-readit/SKILL.md +289 -0
  166. package/skills/cm-readit/audio-player.md +206 -0
  167. package/skills/cm-readit/examples/blog-reader.js +352 -0
  168. package/skills/cm-readit/examples/voice-cro.js +390 -0
  169. package/skills/cm-readit/tts-engine.md +262 -0
  170. package/skills/cm-readit/ui-patterns.md +362 -0
  171. package/skills/cm-readit/voice-cro.md +223 -0
  172. package/skills/cm-safe-deploy/SKILL.md +120 -0
  173. package/skills/cm-safe-deploy/templates/deploy.sh +89 -0
  174. package/skills/cm-safe-i18n/SKILL.md +473 -0
  175. package/skills/cm-secret-shield/SKILL.md +580 -0
  176. package/skills/cm-skill-chain/SKILL.md +78 -0
  177. package/skills/cm-skill-index/SKILL.md +318 -0
  178. package/skills/cm-skill-mastery/SKILL.md +169 -0
  179. package/skills/cm-start/SKILL.md +65 -0
  180. package/skills/cm-status/SKILL.md +12 -0
  181. package/skills/cm-tdd/SKILL.md +370 -0
  182. package/skills/cm-terminal/SKILL.md +177 -0
  183. package/skills/cm-test-gate/SKILL.md +242 -0
  184. package/skills/cm-ui-preview/SKILL.md +291 -0
  185. package/skills/cm-ux-master/DESIGN_STANDARD_TEMPLATE.md +54 -0
  186. package/skills/cm-ux-master/SKILL.md +114 -0
  187. package/skills/cro-methodology/SKILL.md +98 -0
  188. package/skills/cro-methodology/references/COPYWRITING.md +178 -0
  189. package/skills/cro-methodology/references/OBJECTIONS.md +135 -0
  190. package/skills/cro-methodology/references/PERSUASION.md +158 -0
  191. package/skills/cro-methodology/references/RESEARCH.md +220 -0
  192. package/skills/cro-methodology/references/funnel-analysis.md +365 -0
  193. package/skills/cro-methodology/references/testing-methodology.md +330 -0
@@ -0,0 +1,399 @@
1
+ ---
2
+ name: cm-continuity
3
+ description: "Working memory protocol — maintains context across sessions via CONTINUITY.md. Inspired by Loki Mode. Read at turn start, update at turn end. Captures mistakes and learnings to prevent repeating errors."
4
+ ---
5
+
6
+ # Continuity — Working Memory Protocol
7
+
8
+ > **Context persistence across sessions. Mistakes captured. Learnings applied.**
9
+ > Inspired by Loki Mode's CONTINUITY.md protocol (Autonomi).
10
+
11
+ ## When to Use
12
+
13
+ **ALWAYS** — This is a background protocol, not an explicit invocation.
14
+
15
+ - **Start of every session:** Read `.cm/CONTINUITY.md` to orient yourself
16
+ - **End of every session:** Update `.cm/CONTINUITY.md` with progress
17
+ - **On error:** Record in Mistakes & Learnings section
18
+ - **On key decision:** Record in Key Decisions section
19
+
20
+ ## Setup
21
+
22
+ > **Prerequisite:** The `cm` CLI is the CodyMaster command-line tool. If not installed, you can
23
+ > manage `.cm/CONTINUITY.md` directly with your editor or the AI agent without the CLI commands.
24
+
25
+ ```bash
26
+ # Initialize working memory for current project
27
+ cm continuity init
28
+
29
+ # Check current state
30
+ cm continuity status
31
+
32
+ # View captured learnings
33
+ cm continuity learnings
34
+ ```
35
+
36
+ ## The Protocol
37
+
38
+ ### AT THE START OF EVERY SESSION:
39
+
40
+ ```
41
+ 1. Read .cm/CONTINUITY.md to understand current state
42
+ 2. Read "Mistakes & Learnings" to avoid past errors
43
+ 3. Check "Next Actions" to determine what to do
44
+ 4. Reference Active Goal throughout your work
45
+ ```
46
+
47
+ ### DURING WORK:
48
+
49
+ ```
50
+ PRE-ACT ATTENTION CHECK (before every significant action):
51
+ - Re-read Active Goal
52
+ - Ask: "Does my planned action serve this goal?"
53
+ - Ask: "Am I solving the original problem, not a tangent?"
54
+ - If DRIFT detected → log it → return to goal
55
+ ```
56
+
57
+ ### AT THE END OF EVERY SESSION:
58
+
59
+ ```
60
+ 1. Update "Just Completed" with accomplishments
61
+ 2. Update "Next Actions" with remaining work
62
+ 3. Record any new "Mistakes & Learnings"
63
+ 4. Record any "Key Decisions" made
64
+ 5. Update "Files Modified" list
65
+ 6. Set currentPhase and timestamp
66
+ ```
67
+
68
+ ### ON ERROR (Self-Correction Loop):
69
+
70
+ ```
71
+ ON_ERROR:
72
+ 1. Capture error details (stack trace, context)
73
+ 2. Analyze root cause (not just symptoms)
74
+ 3. Write learning to CONTINUITY.md "Mistakes & Learnings"
75
+ 4. Update approach based on learning
76
+ 5. Retry with corrected approach
77
+ 6. Max 3 retries per error pattern before ESCALATE
78
+ ```
79
+
80
+ ## CONTINUITY.md Template
81
+
82
+ ```markdown
83
+ # CodyMaster Working Memory
84
+ Last Updated: [ISO timestamp]
85
+ Current Phase: [planning|executing|testing|deploying|reviewing]
86
+ Current Iteration: [number]
87
+ Project: [project name]
88
+
89
+ ## Active Goal
90
+ [What we're currently trying to accomplish — 1-2 sentences max]
91
+
92
+ ## Current Task
93
+ - ID: [task-id from dashboard]
94
+ - Title: [task title]
95
+ - Status: [in-progress|blocked|reviewing]
96
+ - Skill: [cm-skill being used]
97
+ - Started: [timestamp]
98
+
99
+ ## Just Completed
100
+ - [Most recent accomplishment with file:line references]
101
+ - [Previous accomplishment]
102
+ - [etc — last 5 items]
103
+
104
+ ## Next Actions (Priority Order)
105
+ 1. [Immediate next step]
106
+ 2. [Following step]
107
+ 3. [etc]
108
+
109
+ ## Active Blockers
110
+ - [Any current blockers or waiting items]
111
+
112
+ ## Key Decisions This Session
113
+ - [Decision]: [Rationale] — [timestamp]
114
+
115
+ ## Mistakes & Learnings
116
+
117
+ ### Pattern: Error → Learning → Prevention
118
+ - **What Failed:** [Specific error that occurred]
119
+ - **Why It Failed:** [Root cause analysis]
120
+ - **How to Prevent:** [Concrete action to avoid this in future]
121
+ - **Timestamp:** [When learned]
122
+ - **Agent:** [Which agent]
123
+ - **Task:** [Which task ID]
124
+
125
+ ## Working Context
126
+ [Critical information for current work — architecture decisions, patterns being followed.
127
+ ⚠️ NEVER store API keys, secrets, or credentials here — use .env or a secrets manager instead]
128
+
129
+ ## Files Currently Being Modified
130
+ - [file path]: [what we're changing]
131
+ ```
132
+
133
+ ## 4-Tier Memory System (Brain-Inspired)
134
+
135
+ ```
136
+ Tier 1: SENSORY MEMORY (seconds — within current tool call)
137
+ → Internal variables, intermediate results
138
+ → NEVER written to file — discarded when action completes
139
+ → Example: "File X has 200 lines" — no need to remember next session
140
+
141
+ Tier 2: WORKING MEMORY (current session → 7 days)
142
+ → CONTINUITY.md — the active scratchpad
143
+ → Auto-rotates: entries > 7 days promote to Tier 3 or decay
144
+ → Max 500 words (~400 tokens)
145
+
146
+ Tier 3: LONG-TERM MEMORY (30+ days, only if reinforced)
147
+ → .cm/learnings.json — error patterns with TTL + scope
148
+ → .cm/decisions.json — architecture decisions with supersedence
149
+ → Entries MUST be reinforced (same pattern ≥ 2x) to survive
150
+ → Decay: auto-archive if not relevant after TTL expires
151
+
152
+ Tier 4: EXTERNAL SEMANTIC MEMORY (optional — for large projects)
153
+ → tobi/qmd — BM25 + Vector + LLM re-ranking, 100% local
154
+ → Indexes entire docs/, src/, meeting notes folders
155
+ → AI queries via MCP: qmd query "keyword" → relevant snippets
156
+ → See cm-deep-search skill for setup & detection thresholds
157
+ → ONLY suggested when project >50 docs or >200 source files
158
+ ```
159
+
160
+ **CONTINUITY.md = "what am I doing NOW?"**
161
+ **learnings.json = "what mistakes should I avoid?"**
162
+ **decisions.json = "what architecture rules apply?"**
163
+ **qmd (optional) = "find what was written across hundreds of docs"**
164
+
165
+ ---
166
+
167
+ ## Memory Audit Protocol (Auto — Every Session Start)
168
+
169
+ When reading CONTINUITY.md at session start, SIMULTANEOUSLY run audit:
170
+
171
+ ### Step 1: Decay Check
172
+
173
+ Scan `.cm/learnings.json`:
174
+
175
+ ```
176
+ For each learning where status == "active":
177
+ daysSinceRelevant = today - lastRelevant
178
+
179
+ IF daysSinceRelevant > ttl:
180
+ → Set status = "archived"
181
+ → Log: "Archived learning L{id}: {error} (TTL expired)"
182
+
183
+ IF reinforceCount ≥ 2 AND ttl < 60:
184
+ → Extend ttl = 60 (pattern emerging)
185
+
186
+ IF reinforceCount ≥ 3 AND ttl < 90:
187
+ → Extend ttl = 90 (proven pattern)
188
+
189
+ IF reinforceCount ≥ 5 AND ttl < 180:
190
+ → Extend ttl = 180 (fundamental knowledge)
191
+ ```
192
+
193
+ ### Step 2: Conflict Detection
194
+
195
+ Scan `.cm/decisions.json`:
196
+
197
+ ```
198
+ For each pair of decisions with same scope:
199
+ IF decisions contradict each other:
200
+ → Older decision: set supersededBy = newer.id, status = "superseded"
201
+ → Log: "Superseded D{old.id} by D{new.id}"
202
+
203
+ IF ambiguous (can't auto-resolve):
204
+ → Flag in CONTINUITY.md Active Blockers
205
+ → Ask user to clarify
206
+ ```
207
+
208
+ ### Step 2b: Integrity Scan
209
+
210
+ Scan learnings for red flags that may CAUSE bugs:
211
+
212
+ ```
213
+ For each active learning in scope:
214
+ IF lastRelevant > 30 days ago AND reinforceCount == 0:
215
+ → Flag as LOW_CONFIDENCE (read but verify before applying)
216
+
217
+ IF prevention pattern conflicts with current codebase patterns:
218
+ → Flag as SUSPECT (do NOT apply blindly — verify first)
219
+
220
+ IF multiple learnings for same scope have conflicting preventions:
221
+ → Flag as CONFLICT (resolve immediately: keep newer, invalidate older)
222
+
223
+ On flags found:
224
+ LOW_CONFIDENCE → Read but treat as suggestion, not rule
225
+ SUSPECT → Compare with actual code before following
226
+ CONFLICT → Invalidate older, keep newer, log resolution
227
+ ```
228
+
229
+ ### Step 3: Scope-Filtered Reading
230
+
231
+ When executing a task for module X:
232
+
233
+ ```
234
+ ONLY load learnings where:
235
+ scope == "global" OR scope == "module:X" OR scope starts with "file:src/X/"
236
+
237
+ SKIP learnings for other modules entirely.
238
+
239
+ Token savings: Read 5 relevant learnings (250 tokens)
240
+ instead of 50 total learnings (2,500 tokens)
241
+ ```
242
+
243
+ ### Step 4: Reinforcement (Anti-Duplicate)
244
+
245
+ When recording a new error/learning:
246
+
247
+ ```
248
+ IF similar learning already exists in learnings.json:
249
+ → DO NOT create duplicate
250
+ → UPDATE existing: reinforceCount++, lastRelevant = today, reset TTL
251
+ → Log: "Reinforced L{id} (count: {reinforceCount})"
252
+
253
+ IF no similar learning exists:
254
+ → CREATE new entry with scope, ttl=30, reinforceCount=0
255
+ ```
256
+
257
+ ---
258
+
259
+ ## `.cm/learnings.json` Format (v2 — with Smart Fields)
260
+
261
+ ```json
262
+ [
263
+ {
264
+ "id": "L001",
265
+ "date": "2026-03-21",
266
+ "error": "i18n keys missing in th.json",
267
+ "cause": "Batch extraction skipped Thai locale",
268
+ "prevention": "Always run i18n-sync test after each batch",
269
+ "scope": "module:i18n",
270
+ "ttl": 30,
271
+ "reinforceCount": 0,
272
+ "lastRelevant": "2026-03-21",
273
+ "status": "active"
274
+ }
275
+ ]
276
+ ```
277
+
278
+ | Field | Purpose |
279
+ |-------|---------|
280
+ | `scope` | `global` / `module:{name}` / `file:{path}` — where this applies |
281
+ | `ttl` | Days until auto-archive (default: 30) |
282
+ | `reinforceCount` | Times pattern repeated (+1 each hit) |
283
+ | `lastRelevant` | Last date this learning was accessed or reinforced |
284
+ | `status` | `active` / `archived` / `invalidated` / `corrected` |
285
+
286
+ **Status meanings:**
287
+ - `active` — Trusted, applied when in scope
288
+ - `archived` — TTL expired, retrievable on demand
289
+ - `invalidated` — **Proven wrong** (caused bug) — NEVER read again
290
+ - `corrected` — Was wrong, has been fixed — read with caution
291
+
292
+ ### `.cm/meta-learnings.json` Format (Memory Self-Healing Log)
293
+
294
+ When memory itself causes a bug, record a meta-learning:
295
+
296
+ ```json
297
+ [
298
+ {
299
+ "id": "ML001",
300
+ "type": "memory-caused-bug",
301
+ "affectedLearning": "L003",
302
+ "action": "invalidated",
303
+ "reason": "Prevention pattern conflicts with new codebase architecture",
304
+ "bugDescription": "Deploy failed because learning suggested fetch but project uses axios",
305
+ "date": "2026-03-21"
306
+ }
307
+ ]
308
+ ```
309
+
310
+ > **Meta-learnings are the system learning about its own mistakes.**
311
+ > They prevent the same bad-memory pattern from recurring.
312
+
313
+ ## `.cm/decisions.json` Format (v2)
314
+
315
+ ```json
316
+ [
317
+ {
318
+ "id": "D001",
319
+ "date": "2026-03-21",
320
+ "decision": "Use React Hook Form over Formik",
321
+ "rationale": "Better performance with uncontrolled components",
322
+ "scope": "module:forms",
323
+ "supersededBy": null,
324
+ "status": "active"
325
+ }
326
+ ]
327
+ ```
328
+
329
+ | Field | Purpose |
330
+ |-------|---------|
331
+ | `scope` | Where this decision applies |
332
+ | `supersededBy` | ID of newer decision that replaces this one (null if current) |
333
+ | `status` | `active` / `superseded` |
334
+
335
+ ---
336
+
337
+ ## Decay Timeline (Ebbinghaus-Inspired)
338
+
339
+ ```
340
+ First recorded: TTL = 30 days
341
+ Reinforced 1x (count=1): TTL resets to 30 from today
342
+ Reinforced 2x (count=2): TTL = 60 days (pattern emerging)
343
+ Reinforced 3x+ (count≥3): TTL = 90 days (proven pattern)
344
+ Reinforced 5x+ (count≥5): TTL = 180 days (fundamental knowledge)
345
+ Not reinforced after TTL: status → "archived" (retrievable on demand)
346
+ ```
347
+
348
+ > Inspired by **Ebbinghaus Forgetting Curve**: Un-reinforced memories decay.
349
+ > Repeatedly reinforced memories become long-term knowledge.
350
+
351
+ ---
352
+
353
+ ## Scope Tagging Rules (For All Skills)
354
+
355
+ When writing to Mistakes & Learnings or Key Decisions, ALWAYS tag scope:
356
+
357
+ ```
358
+ scope: "global" → Applies to entire project
359
+ (e.g., "Always run test before deploy")
360
+
361
+ scope: "module:{name}" → Applies to specific module only
362
+ (e.g., "module:auth", "module:i18n")
363
+
364
+ scope: "file:{path}" → Applies to one file only
365
+ (e.g., "file:src/api/routes.ts")
366
+
367
+ RULE: When in doubt, choose the SMALLEST scope.
368
+ file > module > global
369
+
370
+ WHY: Smaller scope = less noise = AI only reads what's relevant.
371
+ ```
372
+
373
+ ---
374
+
375
+ ## Rules
376
+
377
+ ```
378
+ ✅ DO:
379
+ - Read CONTINUITY.md at session start (ALWAYS)
380
+ - Run Memory Audit at session start (decay + conflicts + scope filter)
381
+ - Update CONTINUITY.md at session end (ALWAYS)
382
+ - Tag EVERY learning/decision with scope (global/module/file)
383
+ - Reinforce existing learnings instead of creating duplicates
384
+ - Keep CONTINUITY.md under 500 words (rotate to Tier 3)
385
+ - Be specific: "Fixed auth bug in login.ts:42" not "Fixed stuff"
386
+
387
+ ❌ DON'T:
388
+ - Skip Memory Audit ("I'll read everything, it's fine")
389
+ - Write learnings without scope ("it applies everywhere" = almost never true)
390
+ - Create duplicate learnings (reinforce existing ones instead)
391
+ - Let learnings.json grow unbounded (TTL + decay handles this)
392
+ - Read ALL learnings regardless of current module (use scope filter)
393
+ - Ignore superseded decisions (they cause conflicting code)
394
+ - Keep stale context that no longer applies to current architecture
395
+ ```
396
+
397
+ ## The Bottom Line
398
+
399
+ **Your memory is your superpower. Without it, you repeat every mistake forever.**