@rune-kit/rune 2.10.0 → 2.11.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 (205) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +8 -6
  3. package/commands/rune.md +168 -168
  4. package/contexts/dev.md +34 -34
  5. package/contexts/research.md +43 -43
  6. package/contexts/review.md +55 -55
  7. package/extensions/ai-ml/PACK.md +88 -88
  8. package/extensions/ai-ml/skills/ai-agents.md +172 -172
  9. package/extensions/ai-ml/skills/code-sandbox.md +187 -187
  10. package/extensions/ai-ml/skills/deep-research.md +146 -146
  11. package/extensions/ai-ml/skills/embedding-search.md +66 -66
  12. package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
  13. package/extensions/ai-ml/skills/llm-architect.md +125 -125
  14. package/extensions/ai-ml/skills/llm-integration.md +64 -64
  15. package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
  16. package/extensions/ai-ml/skills/rag-patterns.md +66 -66
  17. package/extensions/ai-ml/skills/web-extraction.md +114 -114
  18. package/extensions/analytics/PACK.md +92 -92
  19. package/extensions/analytics/skills/ab-testing.md +72 -72
  20. package/extensions/analytics/skills/dashboard-patterns.md +83 -83
  21. package/extensions/analytics/skills/data-validation.md +68 -68
  22. package/extensions/analytics/skills/funnel-analysis.md +81 -81
  23. package/extensions/analytics/skills/sql-patterns.md +57 -57
  24. package/extensions/analytics/skills/statistical-analysis.md +79 -79
  25. package/extensions/analytics/skills/tracking-setup.md +71 -71
  26. package/extensions/backend/PACK.md +104 -104
  27. package/extensions/backend/skills/api-patterns.md +84 -84
  28. package/extensions/backend/skills/async-pipeline.md +193 -193
  29. package/extensions/backend/skills/auth-patterns.md +97 -97
  30. package/extensions/backend/skills/background-jobs.md +133 -133
  31. package/extensions/backend/skills/caching-patterns.md +108 -108
  32. package/extensions/backend/skills/cli-generation.md +133 -133
  33. package/extensions/backend/skills/database-patterns.md +87 -87
  34. package/extensions/backend/skills/middleware-patterns.md +104 -104
  35. package/extensions/chrome-ext/PACK.md +93 -93
  36. package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
  37. package/extensions/chrome-ext/skills/cws-publish.md +104 -104
  38. package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
  39. package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
  40. package/extensions/chrome-ext/skills/ext-storage.md +133 -133
  41. package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
  42. package/extensions/content/PACK.md +96 -96
  43. package/extensions/content/skills/blog-patterns.md +88 -88
  44. package/extensions/content/skills/cms-integration.md +131 -131
  45. package/extensions/content/skills/content-scoring.md +107 -107
  46. package/extensions/content/skills/i18n.md +83 -83
  47. package/extensions/content/skills/mdx-authoring.md +137 -137
  48. package/extensions/content/skills/reference.md +1014 -1014
  49. package/extensions/content/skills/seo-patterns.md +67 -67
  50. package/extensions/content/skills/video-repurpose.md +153 -153
  51. package/extensions/devops/PACK.md +101 -101
  52. package/extensions/devops/skills/chaos-testing.md +67 -67
  53. package/extensions/devops/skills/ci-cd.md +75 -75
  54. package/extensions/devops/skills/docker.md +58 -58
  55. package/extensions/devops/skills/edge-serverless.md +163 -163
  56. package/extensions/devops/skills/infra-as-code.md +158 -158
  57. package/extensions/devops/skills/kubernetes.md +110 -110
  58. package/extensions/devops/skills/monitoring.md +57 -57
  59. package/extensions/devops/skills/server-setup.md +64 -64
  60. package/extensions/devops/skills/ssl-domain.md +42 -42
  61. package/extensions/ecommerce/PACK.md +116 -116
  62. package/extensions/ecommerce/skills/cart-system.md +79 -79
  63. package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
  64. package/extensions/ecommerce/skills/order-management.md +126 -126
  65. package/extensions/ecommerce/skills/payment-integration.md +472 -472
  66. package/extensions/ecommerce/skills/shopify-dev.md +69 -69
  67. package/extensions/ecommerce/skills/subscription-billing.md +93 -93
  68. package/extensions/ecommerce/skills/tax-compliance.md +117 -117
  69. package/extensions/gamedev/PACK.md +142 -142
  70. package/extensions/gamedev/skills/asset-pipeline.md +74 -74
  71. package/extensions/gamedev/skills/audio-system.md +129 -129
  72. package/extensions/gamedev/skills/camera-system.md +87 -87
  73. package/extensions/gamedev/skills/ecs.md +98 -98
  74. package/extensions/gamedev/skills/game-loops.md +72 -72
  75. package/extensions/gamedev/skills/input-system.md +199 -199
  76. package/extensions/gamedev/skills/multiplayer.md +180 -180
  77. package/extensions/gamedev/skills/particles.md +105 -105
  78. package/extensions/gamedev/skills/physics-engine.md +89 -89
  79. package/extensions/gamedev/skills/scene-management.md +146 -146
  80. package/extensions/gamedev/skills/threejs-patterns.md +90 -90
  81. package/extensions/gamedev/skills/webgl.md +71 -71
  82. package/extensions/mobile/PACK.md +106 -106
  83. package/extensions/mobile/skills/app-store-connect.md +152 -152
  84. package/extensions/mobile/skills/app-store-prep.md +66 -66
  85. package/extensions/mobile/skills/deep-linking.md +109 -109
  86. package/extensions/mobile/skills/flutter.md +60 -60
  87. package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
  88. package/extensions/mobile/skills/native-bridge.md +66 -66
  89. package/extensions/mobile/skills/ota-updates.md +97 -97
  90. package/extensions/mobile/skills/push-notifications.md +111 -111
  91. package/extensions/mobile/skills/react-native.md +82 -82
  92. package/extensions/saas/PACK.md +116 -116
  93. package/extensions/saas/skills/billing-integration.md +200 -200
  94. package/extensions/saas/skills/feature-flags.md +130 -130
  95. package/extensions/saas/skills/multi-tenant.md +103 -103
  96. package/extensions/saas/skills/onboarding-flow.md +139 -139
  97. package/extensions/saas/skills/subscription-flow.md +95 -95
  98. package/extensions/saas/skills/team-management.md +144 -144
  99. package/extensions/security/PACK.md +99 -99
  100. package/extensions/security/skills/api-security.md +140 -140
  101. package/extensions/security/skills/compliance.md +68 -68
  102. package/extensions/security/skills/owasp-audit.md +64 -64
  103. package/extensions/security/skills/pentest-patterns.md +77 -77
  104. package/extensions/security/skills/secret-mgmt.md +65 -65
  105. package/extensions/security/skills/supply-chain.md +65 -65
  106. package/extensions/trading/PACK.md +80 -80
  107. package/extensions/trading/skills/chart-components.md +55 -55
  108. package/extensions/trading/skills/experiment-loop.md +125 -125
  109. package/extensions/trading/skills/fintech-patterns.md +47 -47
  110. package/extensions/trading/skills/indicator-library.md +58 -58
  111. package/extensions/trading/skills/quant-analysis.md +111 -111
  112. package/extensions/trading/skills/realtime-data.md +58 -58
  113. package/extensions/trading/skills/trade-logic.md +104 -104
  114. package/extensions/ui/PACK.md +130 -130
  115. package/extensions/ui/skills/a11y-audit.md +91 -91
  116. package/extensions/ui/skills/animation-patterns.md +127 -127
  117. package/extensions/ui/skills/component-patterns.md +100 -100
  118. package/extensions/ui/skills/design-decision.md +108 -108
  119. package/extensions/ui/skills/design-system.md +68 -68
  120. package/extensions/ui/skills/landing-patterns.md +155 -155
  121. package/extensions/ui/skills/palette-picker.md +173 -173
  122. package/extensions/ui/skills/react-health.md +90 -90
  123. package/extensions/ui/skills/type-system.md +125 -125
  124. package/extensions/ui/skills/web-vitals.md +153 -153
  125. package/extensions/zalo/PACK.md +145 -145
  126. package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
  127. package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
  128. package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
  129. package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
  130. package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
  131. package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
  132. package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
  133. package/hooks/auto-format/index.cjs +48 -48
  134. package/hooks/hooks.json +111 -111
  135. package/hooks/post-session-reflect/index.cjs +189 -189
  136. package/hooks/pre-compact/index.cjs +95 -95
  137. package/hooks/run-hook.cmd +1 -1
  138. package/hooks/secrets-scan/index.cjs +100 -100
  139. package/hooks/session-start/index.cjs +71 -71
  140. package/hooks/typecheck/index.cjs +65 -65
  141. package/package.json +63 -63
  142. package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
  143. package/references/ui-pro-max-data/charts.csv +26 -26
  144. package/references/ui-pro-max-data/colors.csv +161 -161
  145. package/references/ui-pro-max-data/styles.csv +68 -68
  146. package/references/ui-pro-max-data/typography.csv +74 -74
  147. package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
  148. package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
  149. package/skills/adversary/SKILL.md +283 -283
  150. package/skills/asset-creator/SKILL.md +157 -157
  151. package/skills/audit/SKILL.md +147 -2
  152. package/skills/autopsy/SKILL.md +335 -335
  153. package/skills/brainstorm/SKILL.md +342 -342
  154. package/skills/browser-pilot/SKILL.md +168 -168
  155. package/skills/constraint-check/SKILL.md +165 -165
  156. package/skills/context-engine/SKILL.md +404 -404
  157. package/skills/cook/SKILL.md +917 -863
  158. package/skills/db/SKILL.md +273 -273
  159. package/skills/debug/SKILL.md +465 -465
  160. package/skills/dependency-doctor/SKILL.md +265 -235
  161. package/skills/deploy/SKILL.md +274 -231
  162. package/skills/design/DESIGN-REFERENCE.md +365 -365
  163. package/skills/design/SKILL.md +589 -589
  164. package/skills/doc-processor/SKILL.md +254 -254
  165. package/skills/docs/SKILL.md +374 -374
  166. package/skills/docs-seeker/SKILL.md +177 -177
  167. package/skills/fix/SKILL.md +330 -330
  168. package/skills/git/SKILL.md +339 -339
  169. package/skills/hallucination-guard/SKILL.md +219 -219
  170. package/skills/incident/SKILL.md +254 -253
  171. package/skills/integrity-check/SKILL.md +169 -169
  172. package/skills/journal/SKILL.md +240 -240
  173. package/skills/launch/SKILL.md +344 -344
  174. package/skills/logic-guardian/SKILL.md +251 -251
  175. package/skills/marketing/SKILL.md +290 -289
  176. package/skills/mcp-builder/SKILL.md +425 -425
  177. package/skills/neural-memory/SKILL.md +362 -362
  178. package/skills/onboard/SKILL.md +404 -403
  179. package/skills/perf/SKILL.md +346 -346
  180. package/skills/plan/SKILL.md +433 -428
  181. package/skills/preflight/SKILL.md +415 -415
  182. package/skills/problem-solver/SKILL.md +380 -284
  183. package/skills/rescue/SKILL.md +474 -474
  184. package/skills/retro/SKILL.md +3 -1
  185. package/skills/review/SKILL.md +612 -588
  186. package/skills/review-intake/SKILL.md +249 -249
  187. package/skills/safeguard/SKILL.md +200 -200
  188. package/skills/sast/SKILL.md +190 -190
  189. package/skills/scaffold/SKILL.md +328 -287
  190. package/skills/scope-guard/SKILL.md +180 -180
  191. package/skills/scout/SKILL.md +263 -263
  192. package/skills/sentinel/SKILL.md +382 -381
  193. package/skills/sentinel-env/SKILL.md +254 -254
  194. package/skills/sequential-thinking/SKILL.md +234 -234
  195. package/skills/session-bridge/SKILL.md +543 -543
  196. package/skills/skill-forge/SKILL.md +581 -581
  197. package/skills/skill-router/SKILL.md +3 -0
  198. package/skills/surgeon/SKILL.md +215 -215
  199. package/skills/team/SKILL.md +556 -537
  200. package/skills/test/SKILL.md +614 -614
  201. package/skills/trend-scout/SKILL.md +145 -145
  202. package/skills/verification/SKILL.md +326 -326
  203. package/skills/video-creator/SKILL.md +201 -201
  204. package/skills/watchdog/SKILL.md +168 -168
  205. package/skills/worktree/SKILL.md +140 -140
@@ -1,240 +1,240 @@
1
- ---
2
- name: journal
3
- description: Persistent state tracking and Architecture Decision Records across sessions. Manages progress state, module health, dependency graphs, and ADRs for any workflow.
4
- metadata:
5
- author: runedev
6
- version: "0.3.0"
7
- layer: L3
8
- model: haiku
9
- group: state
10
- tools: "Read, Write, Edit, Glob, Grep"
11
- listen: graft.complete
12
- ---
13
-
14
- # journal
15
-
16
- ## Purpose
17
-
18
- Persistent state tracking and Architecture Decision Records across sessions. Journal manages the state files that allow any workflow to span multiple sessions without losing progress — rescue operations, feature development, deploy decisions, or audit findings. Separate from session-bridge which handles general context injection — journal writes durable, human-readable state that survives compaction.
19
-
20
- ## Triggers
21
-
22
- - Called by any skill needing decision persistence or progress tracking
23
- - Auto-trigger: after surgeon completes a module, after deploy, after audit phases
24
-
25
- ## Calls (outbound)
26
-
27
- None — pure L3 state management utility.
28
-
29
- ## Called By (inbound)
30
-
31
- - `surgeon` (L2): update progress after each surgery session
32
- - `rescue` (L1): read state for rescue dashboard
33
- - `autopsy` (L2): save initial health assessment
34
- - `cook` (L1): record key architectural decisions made during feature development
35
- - `deploy` (L2): record deploy decision, rollback plan, and post-deploy status
36
- - `audit` (L2): save AUDIT-REPORT.md and record health trend entry
37
- - `incident` (L2): record incident timeline and postmortem
38
- - `skill-forge` (L2): record skill creation decisions and rationale
39
- - `graft` (L2): auto-log graft operations — source URL, mode, challenge score, files changed
40
-
41
- ## Files Managed
42
-
43
- ```
44
- .rune/RESCUE-STATE.md — Human-readable rescue progress (loaded into context)
45
- .rune/module-status.json — Machine-readable module states
46
- .rune/dependency-graph.mmd — Mermaid diagram, color-coded by health
47
- .rune/adr/ — Architecture Decision Records (one per decision)
48
- .rune/risks/ — Risk Register entries (one per identified risk)
49
- ```
50
-
51
- ## Execution
52
-
53
- ### Step 1 — Load state
54
-
55
- Use `Read` to load current rescue state:
56
-
57
- ```
58
- Read: .rune/RESCUE-STATE.md
59
- Read: .rune/module-status.json
60
- ```
61
-
62
- If either file does not exist, initialize it with an empty template:
63
-
64
- - `RESCUE-STATE.md`: create with header `# Rescue State\n\n**Started**: [date]\n**Phase**: 1\n`
65
- - `module-status.json`: create with `{ "modules": [], "lastUpdated": "[iso-date]" }`
66
-
67
- Parse `module-status.json` to extract current module states and health scores.
68
-
69
- ### Step 2 — Update progress
70
-
71
- For each module that was completed during this session:
72
-
73
- 1. Locate the module entry in the parsed `module-status.json`
74
- 2. Update its fields:
75
- - `status`: set to `"complete"` (or `"in-progress"` / `"blocked"` as appropriate)
76
- - `healthScore`: set to the post-surgery score (0-100)
77
- - `completedAt`: set to current ISO timestamp
78
- 3. Mark the active module pointer in `RESCUE-STATE.md` — update the `**Current Module**` line to the next pending module
79
-
80
- Use `Write` to save the updated `module-status.json`.
81
-
82
- Use `Edit` to update the relevant lines in `RESCUE-STATE.md` (current phase, current module, counts of completed vs pending).
83
-
84
- ### Step 3 — Record decisions
85
-
86
- For each architectural decision or trade-off made during this session (applies to any workflow — feature development, deploy, rescue, audit):
87
-
88
- 1. Generate an ADR filename: `.rune/adr/ADR-[NNN]-[slug].md` where NNN is the next sequential number
89
- 2. Use `Write` to create the ADR file with this format:
90
-
91
- ```markdown
92
- # ADR-[NNN]: [Decision Title]
93
-
94
- **Date**: [YYYY-MM-DD]
95
- **Status**: Accepted
96
- **Workflow**: [rescue | cook | deploy | audit | other]
97
- **Scope**: [affected module, feature, or system area]
98
-
99
- ## Context
100
- [Why this decision was needed — what problem or trade-off prompted it]
101
-
102
- ## Decision
103
- [What was decided — be specific, not "we chose X" but "we chose X over Y"]
104
-
105
- ## Rationale
106
- [Why this approach over alternatives — cite specific constraints or evidence]
107
-
108
- ## Consequences
109
- [Impact on files/modules/future work — include rollback path if relevant]
110
-
111
- ## Rejected Alternatives
112
- [List what was considered but NOT chosen, and why. This prevents future sessions from re-visiting dead ends.]
113
- - **[Alternative A]**: Rejected because [specific reason — constraint, performance, complexity]
114
- - **[Alternative B]**: Rejected because [specific reason]. May reconsider if [condition changes].
115
- ```
116
-
117
- ### Step 3.5 — Record risks
118
-
119
- For each risk identified during the session (technical, schedule, dependency, security):
120
-
121
- 1. Generate a risk filename: `.rune/risks/RISK-[NNN]-[slug].md` where NNN is next sequential number
122
- 2. Use `Write` to create the risk file:
123
-
124
- ```markdown
125
- # RISK-[NNN]: [Risk Title]
126
-
127
- **Date Identified**: [YYYY-MM-DD]
128
- **Identified By**: [workflow — cook | plan | deploy | audit | adversary]
129
- **Severity**: Critical | High | Medium | Low
130
- **Likelihood**: High | Medium | Low
131
- **Status**: Open | Mitigated | Accepted | Closed
132
-
133
- ## Description
134
- [What could go wrong — specific scenario, not vague "things might break"]
135
-
136
- ## Impact
137
- [What happens if this risk materializes — quantify if possible]
138
-
139
- ## Mitigation
140
- [Actions to reduce likelihood or impact]
141
- - [ ] [Action 1 — owner, deadline]
142
- - [ ] [Action 2]
143
-
144
- ## Trigger Conditions
145
- [How to detect this risk is materializing — monitoring, alerts, symptoms]
146
-
147
- ## Contingency
148
- [What to do if risk materializes despite mitigation — the Plan B]
149
- ```
150
-
151
- 3. **Risk classification matrix**:
152
-
153
- | Likelihood \ Severity | Critical | High | Medium | Low |
154
- |----------------------|----------|------|--------|-----|
155
- | **High** | 🔴 Immediate action | 🔴 This sprint | 🟡 This quarter | ⚪ Backlog |
156
- | **Medium** | 🔴 This sprint | 🟡 This quarter | ⚪ Backlog | ⚪ Accept |
157
- | **Low** | 🟡 This quarter | ⚪ Backlog | ⚪ Accept | ⚪ Accept |
158
-
159
- 4. Risks marked 🔴 MUST have mitigation actions with deadlines. ⚪ Accept = documented acknowledgment, no action required.
160
-
161
- ### Step 4 — Update dependency graph
162
-
163
- If any module dependencies changed during this session (new imports, removed dependencies, refactored interfaces):
164
-
165
- Use `Read` on `.rune/dependency-graph.mmd` to load the current Mermaid diagram.
166
-
167
- Use `Edit` to update the affected node entries:
168
- - Change node color/style to reflect new health status (e.g., `style ModuleName fill:#00d084` for healthy, `fill:#ff6b6b` for broken)
169
- - Add or remove edges as dependencies changed
170
-
171
- Use `Write` to save the updated `.rune/dependency-graph.mmd`.
172
-
173
- ### Step 5 — Save state
174
-
175
- Use `Write` to finalize any remaining state file changes not already saved in Steps 2-4.
176
-
177
- Confirm all four managed files are consistent:
178
- - `RESCUE-STATE.md` reflects current phase and module
179
- - `module-status.json` has updated scores and timestamps
180
- - ADR files exist for all decisions made
181
- - `dependency-graph.mmd` reflects current module relationships
182
-
183
- ### Step 6 — Report
184
-
185
- Emit the journal update summary to the calling skill.
186
-
187
- ## Output Format
188
-
189
- ```
190
- ## Journal Update
191
- - **Phase**: [current rescue phase]
192
- - **Module**: [current module]
193
- - **Health**: [before] → [after]
194
- - **ADRs Written**: [count]
195
- - **Risks Logged**: [count] ([severity breakdown])
196
- - **Files Updated**: [list of .rune/ files modified]
197
- - **Next Module**: [next in queue, or "rescue complete"]
198
- ```
199
-
200
- ## Context Recovery (new session)
201
-
202
- ```
203
- 1. Read .rune/RESCUE-STATE.md → full rescue history
204
- 2. Read .rune/module-status.json → module states and health scores
205
- 3. Read .rune/risks/ → open risks and their status
206
- 4. Read git log → latest changes since last session
207
- 5. Read CLAUDE.md → project conventions
208
- → Result: Zero context loss across rescue sessions
209
- ```
210
-
211
- ## Constraints
212
-
213
- 1. MUST record decisions with rationale — not just "decided to use X"
214
- 2. MUST timestamp all entries
215
- 3. MUST NOT log sensitive data (secrets, tokens, credentials)
216
- 4. MUST work for any workflow — never require rescue-specific fields to be present
217
-
218
- ## Sharp Edges
219
-
220
- Known failure modes for this skill. Check these before declaring done.
221
-
222
- | Failure Mode | Severity | Mitigation |
223
- |---|---|---|
224
- | ADR written from memory instead of actual session events | HIGH | Only record decisions that were explicitly made in this session — don't reconstruct |
225
- | RESCUE-STATE.md initialized without content when called from non-rescue workflows | MEDIUM | If caller is not rescue/surgeon, skip RESCUE-STATE.md initialization — use progress.md instead |
226
- | Overwriting human-written ADR content on re-run | CRITICAL | MUST check if ADR-[NNN].md exists before writing — never overwrite, increment NNN |
227
- | Empty ADR Rationale field ("decided to use X") | MEDIUM | Constraint 1 blocks this — re-prompt for rationale before writing |
228
-
229
- ## Done When
230
-
231
- - All decisions from the session recorded as ADR files with rationale
232
- - All identified risks recorded as RISK files with severity, mitigation, and trigger conditions
233
- - Progress state updated (module status, phase, or deploy event as appropriate)
234
- - Dependency graph updated if module relationships changed
235
- - Journal Update summary emitted to calling skill
236
- - No existing ADR files overwritten
237
-
238
- ## Cost Profile
239
-
240
- ~200-500 tokens input, ~100-300 tokens output. Haiku. Pure file management.
1
+ ---
2
+ name: journal
3
+ description: Persistent state tracking and Architecture Decision Records across sessions. Manages progress state, module health, dependency graphs, and ADRs for any workflow.
4
+ metadata:
5
+ author: runedev
6
+ version: "0.3.0"
7
+ layer: L3
8
+ model: haiku
9
+ group: state
10
+ tools: "Read, Write, Edit, Glob, Grep"
11
+ listen: graft.complete
12
+ ---
13
+
14
+ # journal
15
+
16
+ ## Purpose
17
+
18
+ Persistent state tracking and Architecture Decision Records across sessions. Journal manages the state files that allow any workflow to span multiple sessions without losing progress — rescue operations, feature development, deploy decisions, or audit findings. Separate from session-bridge which handles general context injection — journal writes durable, human-readable state that survives compaction.
19
+
20
+ ## Triggers
21
+
22
+ - Called by any skill needing decision persistence or progress tracking
23
+ - Auto-trigger: after surgeon completes a module, after deploy, after audit phases
24
+
25
+ ## Calls (outbound)
26
+
27
+ None — pure L3 state management utility.
28
+
29
+ ## Called By (inbound)
30
+
31
+ - `surgeon` (L2): update progress after each surgery session
32
+ - `rescue` (L1): read state for rescue dashboard
33
+ - `autopsy` (L2): save initial health assessment
34
+ - `cook` (L1): record key architectural decisions made during feature development
35
+ - `deploy` (L2): record deploy decision, rollback plan, and post-deploy status
36
+ - `audit` (L2): save AUDIT-REPORT.md and record health trend entry
37
+ - `incident` (L2): record incident timeline and postmortem
38
+ - `skill-forge` (L2): record skill creation decisions and rationale
39
+ - `graft` (L2): auto-log graft operations — source URL, mode, challenge score, files changed
40
+
41
+ ## Files Managed
42
+
43
+ ```
44
+ .rune/RESCUE-STATE.md — Human-readable rescue progress (loaded into context)
45
+ .rune/module-status.json — Machine-readable module states
46
+ .rune/dependency-graph.mmd — Mermaid diagram, color-coded by health
47
+ .rune/adr/ — Architecture Decision Records (one per decision)
48
+ .rune/risks/ — Risk Register entries (one per identified risk)
49
+ ```
50
+
51
+ ## Execution
52
+
53
+ ### Step 1 — Load state
54
+
55
+ Use `Read` to load current rescue state:
56
+
57
+ ```
58
+ Read: .rune/RESCUE-STATE.md
59
+ Read: .rune/module-status.json
60
+ ```
61
+
62
+ If either file does not exist, initialize it with an empty template:
63
+
64
+ - `RESCUE-STATE.md`: create with header `# Rescue State\n\n**Started**: [date]\n**Phase**: 1\n`
65
+ - `module-status.json`: create with `{ "modules": [], "lastUpdated": "[iso-date]" }`
66
+
67
+ Parse `module-status.json` to extract current module states and health scores.
68
+
69
+ ### Step 2 — Update progress
70
+
71
+ For each module that was completed during this session:
72
+
73
+ 1. Locate the module entry in the parsed `module-status.json`
74
+ 2. Update its fields:
75
+ - `status`: set to `"complete"` (or `"in-progress"` / `"blocked"` as appropriate)
76
+ - `healthScore`: set to the post-surgery score (0-100)
77
+ - `completedAt`: set to current ISO timestamp
78
+ 3. Mark the active module pointer in `RESCUE-STATE.md` — update the `**Current Module**` line to the next pending module
79
+
80
+ Use `Write` to save the updated `module-status.json`.
81
+
82
+ Use `Edit` to update the relevant lines in `RESCUE-STATE.md` (current phase, current module, counts of completed vs pending).
83
+
84
+ ### Step 3 — Record decisions
85
+
86
+ For each architectural decision or trade-off made during this session (applies to any workflow — feature development, deploy, rescue, audit):
87
+
88
+ 1. Generate an ADR filename: `.rune/adr/ADR-[NNN]-[slug].md` where NNN is the next sequential number
89
+ 2. Use `Write` to create the ADR file with this format:
90
+
91
+ ```markdown
92
+ # ADR-[NNN]: [Decision Title]
93
+
94
+ **Date**: [YYYY-MM-DD]
95
+ **Status**: Accepted
96
+ **Workflow**: [rescue | cook | deploy | audit | other]
97
+ **Scope**: [affected module, feature, or system area]
98
+
99
+ ## Context
100
+ [Why this decision was needed — what problem or trade-off prompted it]
101
+
102
+ ## Decision
103
+ [What was decided — be specific, not "we chose X" but "we chose X over Y"]
104
+
105
+ ## Rationale
106
+ [Why this approach over alternatives — cite specific constraints or evidence]
107
+
108
+ ## Consequences
109
+ [Impact on files/modules/future work — include rollback path if relevant]
110
+
111
+ ## Rejected Alternatives
112
+ [List what was considered but NOT chosen, and why. This prevents future sessions from re-visiting dead ends.]
113
+ - **[Alternative A]**: Rejected because [specific reason — constraint, performance, complexity]
114
+ - **[Alternative B]**: Rejected because [specific reason]. May reconsider if [condition changes].
115
+ ```
116
+
117
+ ### Step 3.5 — Record risks
118
+
119
+ For each risk identified during the session (technical, schedule, dependency, security):
120
+
121
+ 1. Generate a risk filename: `.rune/risks/RISK-[NNN]-[slug].md` where NNN is next sequential number
122
+ 2. Use `Write` to create the risk file:
123
+
124
+ ```markdown
125
+ # RISK-[NNN]: [Risk Title]
126
+
127
+ **Date Identified**: [YYYY-MM-DD]
128
+ **Identified By**: [workflow — cook | plan | deploy | audit | adversary]
129
+ **Severity**: Critical | High | Medium | Low
130
+ **Likelihood**: High | Medium | Low
131
+ **Status**: Open | Mitigated | Accepted | Closed
132
+
133
+ ## Description
134
+ [What could go wrong — specific scenario, not vague "things might break"]
135
+
136
+ ## Impact
137
+ [What happens if this risk materializes — quantify if possible]
138
+
139
+ ## Mitigation
140
+ [Actions to reduce likelihood or impact]
141
+ - [ ] [Action 1 — owner, deadline]
142
+ - [ ] [Action 2]
143
+
144
+ ## Trigger Conditions
145
+ [How to detect this risk is materializing — monitoring, alerts, symptoms]
146
+
147
+ ## Contingency
148
+ [What to do if risk materializes despite mitigation — the Plan B]
149
+ ```
150
+
151
+ 3. **Risk classification matrix**:
152
+
153
+ | Likelihood \ Severity | Critical | High | Medium | Low |
154
+ |----------------------|----------|------|--------|-----|
155
+ | **High** | 🔴 Immediate action | 🔴 This sprint | 🟡 This quarter | ⚪ Backlog |
156
+ | **Medium** | 🔴 This sprint | 🟡 This quarter | ⚪ Backlog | ⚪ Accept |
157
+ | **Low** | 🟡 This quarter | ⚪ Backlog | ⚪ Accept | ⚪ Accept |
158
+
159
+ 4. Risks marked 🔴 MUST have mitigation actions with deadlines. ⚪ Accept = documented acknowledgment, no action required.
160
+
161
+ ### Step 4 — Update dependency graph
162
+
163
+ If any module dependencies changed during this session (new imports, removed dependencies, refactored interfaces):
164
+
165
+ Use `Read` on `.rune/dependency-graph.mmd` to load the current Mermaid diagram.
166
+
167
+ Use `Edit` to update the affected node entries:
168
+ - Change node color/style to reflect new health status (e.g., `style ModuleName fill:#00d084` for healthy, `fill:#ff6b6b` for broken)
169
+ - Add or remove edges as dependencies changed
170
+
171
+ Use `Write` to save the updated `.rune/dependency-graph.mmd`.
172
+
173
+ ### Step 5 — Save state
174
+
175
+ Use `Write` to finalize any remaining state file changes not already saved in Steps 2-4.
176
+
177
+ Confirm all four managed files are consistent:
178
+ - `RESCUE-STATE.md` reflects current phase and module
179
+ - `module-status.json` has updated scores and timestamps
180
+ - ADR files exist for all decisions made
181
+ - `dependency-graph.mmd` reflects current module relationships
182
+
183
+ ### Step 6 — Report
184
+
185
+ Emit the journal update summary to the calling skill.
186
+
187
+ ## Output Format
188
+
189
+ ```
190
+ ## Journal Update
191
+ - **Phase**: [current rescue phase]
192
+ - **Module**: [current module]
193
+ - **Health**: [before] → [after]
194
+ - **ADRs Written**: [count]
195
+ - **Risks Logged**: [count] ([severity breakdown])
196
+ - **Files Updated**: [list of .rune/ files modified]
197
+ - **Next Module**: [next in queue, or "rescue complete"]
198
+ ```
199
+
200
+ ## Context Recovery (new session)
201
+
202
+ ```
203
+ 1. Read .rune/RESCUE-STATE.md → full rescue history
204
+ 2. Read .rune/module-status.json → module states and health scores
205
+ 3. Read .rune/risks/ → open risks and their status
206
+ 4. Read git log → latest changes since last session
207
+ 5. Read CLAUDE.md → project conventions
208
+ → Result: Zero context loss across rescue sessions
209
+ ```
210
+
211
+ ## Constraints
212
+
213
+ 1. MUST record decisions with rationale — not just "decided to use X"
214
+ 2. MUST timestamp all entries
215
+ 3. MUST NOT log sensitive data (secrets, tokens, credentials)
216
+ 4. MUST work for any workflow — never require rescue-specific fields to be present
217
+
218
+ ## Sharp Edges
219
+
220
+ Known failure modes for this skill. Check these before declaring done.
221
+
222
+ | Failure Mode | Severity | Mitigation |
223
+ |---|---|---|
224
+ | ADR written from memory instead of actual session events | HIGH | Only record decisions that were explicitly made in this session — don't reconstruct |
225
+ | RESCUE-STATE.md initialized without content when called from non-rescue workflows | MEDIUM | If caller is not rescue/surgeon, skip RESCUE-STATE.md initialization — use progress.md instead |
226
+ | Overwriting human-written ADR content on re-run | CRITICAL | MUST check if ADR-[NNN].md exists before writing — never overwrite, increment NNN |
227
+ | Empty ADR Rationale field ("decided to use X") | MEDIUM | Constraint 1 blocks this — re-prompt for rationale before writing |
228
+
229
+ ## Done When
230
+
231
+ - All decisions from the session recorded as ADR files with rationale
232
+ - All identified risks recorded as RISK files with severity, mitigation, and trigger conditions
233
+ - Progress state updated (module status, phase, or deploy event as appropriate)
234
+ - Dependency graph updated if module relationships changed
235
+ - Journal Update summary emitted to calling skill
236
+ - No existing ADR files overwritten
237
+
238
+ ## Cost Profile
239
+
240
+ ~200-500 tokens input, ~100-300 tokens output. Haiku. Pure file management.