@rune-kit/rune 2.8.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 (287) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +68 -34
  3. package/agents/adversary.md +27 -0
  4. package/agents/architect.md +19 -29
  5. package/agents/asset-creator.md +18 -4
  6. package/agents/audit.md +25 -4
  7. package/agents/autopsy.md +19 -4
  8. package/agents/ba.md +35 -0
  9. package/agents/brainstorm.md +31 -4
  10. package/agents/browser-pilot.md +21 -4
  11. package/agents/coder.md +21 -29
  12. package/agents/completion-gate.md +20 -4
  13. package/agents/constraint-check.md +18 -4
  14. package/agents/context-engine.md +22 -4
  15. package/agents/context-pack.md +32 -0
  16. package/agents/cook.md +41 -4
  17. package/agents/db.md +19 -4
  18. package/agents/debug.md +33 -4
  19. package/agents/dependency-doctor.md +20 -4
  20. package/agents/deploy.md +27 -4
  21. package/agents/design.md +22 -4
  22. package/agents/doc-processor.md +27 -0
  23. package/agents/docs-seeker.md +19 -4
  24. package/agents/docs.md +31 -0
  25. package/agents/fix.md +37 -4
  26. package/agents/git.md +29 -0
  27. package/agents/hallucination-guard.md +20 -4
  28. package/agents/incident.md +21 -4
  29. package/agents/integrity-check.md +18 -4
  30. package/agents/journal.md +19 -4
  31. package/agents/launch.md +32 -4
  32. package/agents/logic-guardian.md +26 -11
  33. package/agents/marketing.md +23 -4
  34. package/agents/mcp-builder.md +26 -0
  35. package/agents/neural-memory.md +30 -0
  36. package/agents/onboard.md +22 -4
  37. package/agents/perf.md +21 -4
  38. package/agents/plan.md +29 -4
  39. package/agents/preflight.md +22 -4
  40. package/agents/problem-solver.md +20 -4
  41. package/agents/rescue.md +23 -4
  42. package/agents/research.md +19 -4
  43. package/agents/researcher.md +19 -29
  44. package/agents/retro.md +32 -0
  45. package/agents/review-intake.md +20 -4
  46. package/agents/review.md +32 -4
  47. package/agents/reviewer.md +20 -28
  48. package/agents/safeguard.md +19 -4
  49. package/agents/sast.md +18 -4
  50. package/agents/scaffold.md +41 -0
  51. package/agents/scanner.md +19 -28
  52. package/agents/scope-guard.md +18 -4
  53. package/agents/scout.md +23 -4
  54. package/agents/sentinel-env.md +26 -0
  55. package/agents/sentinel.md +33 -4
  56. package/agents/sequential-thinking.md +20 -4
  57. package/agents/session-bridge.md +24 -4
  58. package/agents/skill-forge.md +22 -4
  59. package/agents/skill-router.md +26 -4
  60. package/agents/slides.md +24 -0
  61. package/agents/surgeon.md +19 -4
  62. package/agents/team.md +30 -4
  63. package/agents/test.md +36 -4
  64. package/agents/trend-scout.md +17 -4
  65. package/agents/verification.md +20 -4
  66. package/agents/video-creator.md +20 -4
  67. package/agents/watchdog.md +19 -4
  68. package/agents/worktree.md +17 -4
  69. package/commands/rune.md +168 -168
  70. package/compiler/__tests__/analytics.test.js +370 -0
  71. package/compiler/adapters/openclaw.js +2 -2
  72. package/compiler/analytics.js +385 -0
  73. package/compiler/bin/rune.js +68 -2
  74. package/compiler/dashboard.js +883 -0
  75. package/compiler/transforms/branding.js +1 -1
  76. package/contexts/dev.md +34 -34
  77. package/contexts/research.md +43 -43
  78. package/contexts/review.md +55 -55
  79. package/extensions/ai-ml/PACK.md +88 -88
  80. package/extensions/ai-ml/skills/ai-agents.md +172 -172
  81. package/extensions/ai-ml/skills/code-sandbox.md +187 -187
  82. package/extensions/ai-ml/skills/deep-research.md +146 -146
  83. package/extensions/ai-ml/skills/embedding-search.md +66 -66
  84. package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
  85. package/extensions/ai-ml/skills/llm-architect.md +125 -125
  86. package/extensions/ai-ml/skills/llm-integration.md +64 -64
  87. package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
  88. package/extensions/ai-ml/skills/rag-patterns.md +66 -66
  89. package/extensions/ai-ml/skills/web-extraction.md +114 -114
  90. package/extensions/analytics/PACK.md +92 -92
  91. package/extensions/analytics/skills/ab-testing.md +72 -72
  92. package/extensions/analytics/skills/dashboard-patterns.md +83 -83
  93. package/extensions/analytics/skills/data-validation.md +68 -68
  94. package/extensions/analytics/skills/funnel-analysis.md +81 -81
  95. package/extensions/analytics/skills/sql-patterns.md +57 -57
  96. package/extensions/analytics/skills/statistical-analysis.md +79 -79
  97. package/extensions/analytics/skills/tracking-setup.md +71 -71
  98. package/extensions/backend/PACK.md +104 -104
  99. package/extensions/backend/skills/api-patterns.md +84 -84
  100. package/extensions/backend/skills/async-pipeline.md +193 -193
  101. package/extensions/backend/skills/auth-patterns.md +97 -97
  102. package/extensions/backend/skills/background-jobs.md +133 -133
  103. package/extensions/backend/skills/caching-patterns.md +108 -108
  104. package/extensions/backend/skills/cli-generation.md +133 -133
  105. package/extensions/backend/skills/database-patterns.md +87 -87
  106. package/extensions/backend/skills/middleware-patterns.md +104 -104
  107. package/extensions/chrome-ext/PACK.md +93 -93
  108. package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
  109. package/extensions/chrome-ext/skills/cws-publish.md +104 -104
  110. package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
  111. package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
  112. package/extensions/chrome-ext/skills/ext-storage.md +133 -133
  113. package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
  114. package/extensions/content/PACK.md +96 -96
  115. package/extensions/content/skills/blog-patterns.md +88 -88
  116. package/extensions/content/skills/cms-integration.md +131 -131
  117. package/extensions/content/skills/content-scoring.md +107 -107
  118. package/extensions/content/skills/i18n.md +83 -83
  119. package/extensions/content/skills/mdx-authoring.md +137 -137
  120. package/extensions/content/skills/reference.md +1014 -1014
  121. package/extensions/content/skills/seo-patterns.md +67 -67
  122. package/extensions/content/skills/video-repurpose.md +153 -153
  123. package/extensions/devops/PACK.md +101 -101
  124. package/extensions/devops/skills/chaos-testing.md +67 -67
  125. package/extensions/devops/skills/ci-cd.md +75 -75
  126. package/extensions/devops/skills/docker.md +58 -58
  127. package/extensions/devops/skills/edge-serverless.md +163 -163
  128. package/extensions/devops/skills/infra-as-code.md +158 -158
  129. package/extensions/devops/skills/kubernetes.md +110 -110
  130. package/extensions/devops/skills/monitoring.md +57 -57
  131. package/extensions/devops/skills/server-setup.md +64 -64
  132. package/extensions/devops/skills/ssl-domain.md +42 -42
  133. package/extensions/ecommerce/PACK.md +116 -116
  134. package/extensions/ecommerce/skills/cart-system.md +79 -79
  135. package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
  136. package/extensions/ecommerce/skills/order-management.md +126 -126
  137. package/extensions/ecommerce/skills/payment-integration.md +472 -472
  138. package/extensions/ecommerce/skills/shopify-dev.md +69 -69
  139. package/extensions/ecommerce/skills/subscription-billing.md +93 -93
  140. package/extensions/ecommerce/skills/tax-compliance.md +117 -117
  141. package/extensions/gamedev/PACK.md +142 -142
  142. package/extensions/gamedev/skills/asset-pipeline.md +74 -74
  143. package/extensions/gamedev/skills/audio-system.md +129 -129
  144. package/extensions/gamedev/skills/camera-system.md +87 -87
  145. package/extensions/gamedev/skills/ecs.md +98 -98
  146. package/extensions/gamedev/skills/game-loops.md +72 -72
  147. package/extensions/gamedev/skills/input-system.md +199 -199
  148. package/extensions/gamedev/skills/multiplayer.md +180 -180
  149. package/extensions/gamedev/skills/particles.md +105 -105
  150. package/extensions/gamedev/skills/physics-engine.md +89 -89
  151. package/extensions/gamedev/skills/scene-management.md +146 -146
  152. package/extensions/gamedev/skills/threejs-patterns.md +90 -90
  153. package/extensions/gamedev/skills/webgl.md +71 -71
  154. package/extensions/mobile/PACK.md +106 -106
  155. package/extensions/mobile/skills/app-store-connect.md +152 -152
  156. package/extensions/mobile/skills/app-store-prep.md +66 -66
  157. package/extensions/mobile/skills/deep-linking.md +109 -109
  158. package/extensions/mobile/skills/flutter.md +60 -60
  159. package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
  160. package/extensions/mobile/skills/native-bridge.md +66 -66
  161. package/extensions/mobile/skills/ota-updates.md +97 -97
  162. package/extensions/mobile/skills/push-notifications.md +111 -111
  163. package/extensions/mobile/skills/react-native.md +82 -82
  164. package/extensions/saas/PACK.md +116 -116
  165. package/extensions/saas/skills/billing-integration.md +200 -200
  166. package/extensions/saas/skills/feature-flags.md +130 -130
  167. package/extensions/saas/skills/multi-tenant.md +103 -103
  168. package/extensions/saas/skills/onboarding-flow.md +139 -139
  169. package/extensions/saas/skills/subscription-flow.md +95 -95
  170. package/extensions/saas/skills/team-management.md +144 -144
  171. package/extensions/security/PACK.md +99 -99
  172. package/extensions/security/skills/api-security.md +140 -140
  173. package/extensions/security/skills/compliance.md +68 -68
  174. package/extensions/security/skills/owasp-audit.md +64 -64
  175. package/extensions/security/skills/pentest-patterns.md +77 -77
  176. package/extensions/security/skills/secret-mgmt.md +65 -65
  177. package/extensions/security/skills/supply-chain.md +65 -65
  178. package/extensions/trading/PACK.md +80 -80
  179. package/extensions/trading/skills/chart-components.md +55 -55
  180. package/extensions/trading/skills/experiment-loop.md +125 -125
  181. package/extensions/trading/skills/fintech-patterns.md +47 -47
  182. package/extensions/trading/skills/indicator-library.md +58 -58
  183. package/extensions/trading/skills/quant-analysis.md +111 -111
  184. package/extensions/trading/skills/realtime-data.md +58 -58
  185. package/extensions/trading/skills/trade-logic.md +104 -104
  186. package/extensions/ui/PACK.md +130 -130
  187. package/extensions/ui/skills/a11y-audit.md +91 -91
  188. package/extensions/ui/skills/animation-patterns.md +127 -106
  189. package/extensions/ui/skills/component-patterns.md +100 -75
  190. package/extensions/ui/skills/design-decision.md +108 -108
  191. package/extensions/ui/skills/design-system.md +68 -68
  192. package/extensions/ui/skills/landing-patterns.md +155 -155
  193. package/extensions/ui/skills/palette-picker.md +173 -173
  194. package/extensions/ui/skills/react-health.md +90 -90
  195. package/extensions/ui/skills/type-system.md +125 -125
  196. package/extensions/ui/skills/web-vitals.md +153 -153
  197. package/extensions/zalo/PACK.md +145 -145
  198. package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
  199. package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
  200. package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
  201. package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
  202. package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
  203. package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
  204. package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
  205. package/hooks/auto-format/index.cjs +48 -48
  206. package/hooks/context-watch/index.cjs +95 -68
  207. package/hooks/hooks.json +111 -111
  208. package/hooks/metrics-collector/index.cjs +86 -42
  209. package/hooks/post-session-reflect/index.cjs +189 -153
  210. package/hooks/pre-compact/index.cjs +95 -95
  211. package/hooks/run-hook.cmd +1 -1
  212. package/hooks/secrets-scan/index.cjs +100 -100
  213. package/hooks/session-start/index.cjs +71 -65
  214. package/hooks/typecheck/index.cjs +65 -65
  215. package/package.json +63 -63
  216. package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
  217. package/references/ui-pro-max-data/charts.csv +26 -26
  218. package/references/ui-pro-max-data/colors.csv +161 -161
  219. package/references/ui-pro-max-data/styles.csv +68 -68
  220. package/references/ui-pro-max-data/typography.csv +74 -74
  221. package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
  222. package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
  223. package/skills/adversary/SKILL.md +283 -283
  224. package/skills/asset-creator/SKILL.md +157 -157
  225. package/skills/audit/SKILL.md +148 -2
  226. package/skills/autopsy/SKILL.md +335 -259
  227. package/skills/autopsy/references/repo-analysis-patterns.md +113 -0
  228. package/skills/ba/SKILL.md +72 -2
  229. package/skills/brainstorm/SKILL.md +342 -341
  230. package/skills/browser-pilot/SKILL.md +168 -168
  231. package/skills/constraint-check/SKILL.md +165 -165
  232. package/skills/context-engine/SKILL.md +404 -404
  233. package/skills/cook/SKILL.md +917 -834
  234. package/skills/cook/references/output-format.md +33 -0
  235. package/skills/db/SKILL.md +273 -272
  236. package/skills/debug/SKILL.md +465 -443
  237. package/skills/dependency-doctor/SKILL.md +265 -235
  238. package/skills/deploy/SKILL.md +274 -231
  239. package/skills/design/DESIGN-REFERENCE.md +365 -365
  240. package/skills/design/SKILL.md +589 -482
  241. package/skills/doc-processor/SKILL.md +254 -254
  242. package/skills/docs/SKILL.md +374 -373
  243. package/skills/docs-seeker/SKILL.md +177 -177
  244. package/skills/fix/SKILL.md +330 -308
  245. package/skills/git/SKILL.md +339 -339
  246. package/skills/graft/SKILL.md +352 -0
  247. package/skills/graft/references/challenge-framework.md +98 -0
  248. package/skills/graft/references/mode-decision.md +44 -0
  249. package/skills/hallucination-guard/SKILL.md +219 -219
  250. package/skills/incident/SKILL.md +254 -251
  251. package/skills/integrity-check/SKILL.md +169 -169
  252. package/skills/journal/SKILL.md +240 -238
  253. package/skills/launch/SKILL.md +344 -342
  254. package/skills/logic-guardian/SKILL.md +251 -251
  255. package/skills/marketing/SKILL.md +290 -245
  256. package/skills/mcp-builder/SKILL.md +425 -423
  257. package/skills/mcp-builder/references/auto-discovery-pattern.md +169 -0
  258. package/skills/neural-memory/SKILL.md +362 -362
  259. package/skills/onboard/SKILL.md +404 -403
  260. package/skills/perf/SKILL.md +346 -346
  261. package/skills/plan/SKILL.md +433 -370
  262. package/skills/plan/references/feature-map.md +84 -0
  263. package/skills/preflight/SKILL.md +415 -396
  264. package/skills/problem-solver/SKILL.md +380 -284
  265. package/skills/rescue/SKILL.md +474 -450
  266. package/skills/retro/SKILL.md +5 -1
  267. package/skills/review/SKILL.md +612 -535
  268. package/skills/review-intake/SKILL.md +249 -249
  269. package/skills/safeguard/SKILL.md +200 -200
  270. package/skills/sast/SKILL.md +190 -190
  271. package/skills/scaffold/SKILL.md +328 -286
  272. package/skills/scope-guard/SKILL.md +180 -162
  273. package/skills/scout/SKILL.md +263 -263
  274. package/skills/sentinel/SKILL.md +382 -353
  275. package/skills/sentinel-env/SKILL.md +254 -254
  276. package/skills/sequential-thinking/SKILL.md +234 -234
  277. package/skills/session-bridge/SKILL.md +543 -397
  278. package/skills/skill-forge/SKILL.md +581 -539
  279. package/skills/skill-router/{skill.md → SKILL.md} +30 -2
  280. package/skills/surgeon/SKILL.md +215 -215
  281. package/skills/team/SKILL.md +556 -514
  282. package/skills/test/SKILL.md +614 -587
  283. package/skills/trend-scout/SKILL.md +145 -145
  284. package/skills/verification/SKILL.md +326 -325
  285. package/skills/video-creator/SKILL.md +201 -201
  286. package/skills/watchdog/SKILL.md +168 -168
  287. package/skills/worktree/SKILL.md +140 -140
@@ -1,251 +1,251 @@
1
- ---
2
- name: logic-guardian
3
- description: Protects complex business logic from accidental deletion or overwrite. Maintains a logic manifest, enforces pre-edit gates, and validates post-edit diffs.
4
- metadata:
5
- author: runedev
6
- version: "0.1.0"
7
- layer: L2
8
- model: sonnet
9
- group: quality
10
- tools: "Read, Write, Edit, Glob, Grep"
11
- ---
12
-
13
- # logic-guardian
14
-
15
- ## Purpose
16
-
17
- Complex projects (trading bots, payment systems, game engines, state machines) contain interconnected logic that AI agents routinely destroy by accident. The pattern is always the same: new session starts, agent doesn't know existing logic, rewrites or deletes working code, project regresses. `logic-guardian` breaks this cycle by maintaining a machine-readable logic manifest, enforcing a pre-edit gate on logic files, and validating that edits don't silently remove existing logic. It is the "institutional memory" for business logic.
18
-
19
- ## Triggers
20
-
21
- - `/rune logic-guardian` — manual invocation (scan project, generate/update manifest)
22
- - Auto-trigger: when `cook` or `fix` targets a file listed in `.rune/logic-manifest.json`
23
- - Auto-trigger: when `surgeon` plans refactoring on logic-heavy modules
24
- - Auto-trigger: when `.rune/logic-manifest.json` exists in project root
25
-
26
- ## Calls (outbound connections)
27
-
28
- - `scout` (L2): scan project to discover logic files and extract function signatures
29
- - `verification` (L3): run tests after logic edits to confirm no regression
30
- - `hallucination-guard` (L3): verify that referenced functions/imports actually exist after edit
31
- - `journal` (L3): record logic changes as ADRs for cross-session persistence
32
- - `session-bridge` (L3): save manifest state so next session loads it immediately
33
-
34
- ## Called By (inbound connections)
35
-
36
- - `cook` (L1): Phase 1.5 — when complex logic project detected, load manifest before planning
37
- - `fix` (L2): pre-edit gate — before modifying any file in the manifest
38
- - `surgeon` (L2): pre-refactor — before restructuring logic modules
39
- - `team` (L1): validate logic integrity across parallel workstreams
40
- - `review` (L2): check if reviewed diff removes or modifies manifested logic
41
-
42
- ## Workflow
43
-
44
- ### Phase 0 — Load or Initialize Manifest
45
-
46
- 1. Use `Read` on `.rune/logic-manifest.json`
47
- 2. If file exists:
48
- - Parse manifest, display summary: "Loaded logic manifest: N components, M functions, K parameters"
49
- - Proceed to Phase 1 (Validate)
50
- 3. If file does NOT exist:
51
- - Announce: "No logic manifest found. Scanning project to generate one."
52
- - Proceed to Phase 3 (Generate)
53
-
54
- ### Phase 1 — Validate Manifest Against Codebase
55
-
56
- Ensure the manifest matches the actual code (detect drift):
57
-
58
- 1. For each component in the manifest:
59
- - Use `Read` on the component's `file_path`
60
- - Verify each listed function exists (by name + signature match)
61
- - Check if any NEW functions exist in the file that aren't in the manifest
62
- 2. Report:
63
- - `SYNCED` — manifest matches code perfectly
64
- - `DRIFT_DETECTED` — list specific discrepancies (missing functions, new unlisted functions, changed signatures)
65
- 3. If drift detected: ask user whether to update manifest or investigate changes
66
-
67
- ### Phase 2 — Pre-Edit Gate (called by fix/surgeon/cook)
68
-
69
- Before ANY edit to a manifested file:
70
-
71
- 1. Load the manifest (Phase 0)
72
- 2. Display the affected component's current spec:
73
- ```
74
- COMPONENT: [name]
75
- STATUS: ACTIVE | TESTING | DEPRECATED
76
- FUNCTIONS: [list with one-line descriptions]
77
- PARAMETERS: [configurable values with current settings]
78
- DEPENDENCIES: [what other components depend on this]
79
- LAST_MODIFIED: [date]
80
- ```
81
- 3. Require the agent to explicitly state:
82
- - What it intends to change
83
- - What it will NOT change
84
- - Which existing functions/logic will be preserved
85
- 4. If the agent cannot list the existing functions → BLOCK the edit. Force a `Read` of the file first.
86
-
87
- ### Phase 3 — Generate Manifest (first-time or rescan)
88
-
89
- Scan the project and build the manifest:
90
-
91
- 1. Use `scout` to find logic-heavy files:
92
- - Search for files with complex conditionals, state machines, strategy patterns
93
- - Look for files matching: `**/logic/**`, `**/strategy/**`, `**/engine/**`, `**/core/**`, `**/scenarios/**`, `**/rules/**`, `**/pipeline/**`, `**/trailing/**`, `**/signals/**`
94
- - Also search for files with high cyclomatic complexity (many if/else/switch branches)
95
- 2. For each discovered file:
96
- - `Read` the file
97
- - Extract: functions/methods, their parameters, return types, key conditionals
98
- - Classify the component's role: ENTRY_LOGIC, EXIT_LOGIC, FILTER, VALIDATOR, STATE_MACHINE, PIPELINE, CALCULATOR, etc.
99
- - Determine status: ACTIVE (has callers + tests), TESTING (no production callers), DEPRECATED (commented out or unused)
100
- 3. Map dependencies between components:
101
- - Which component calls which
102
- - Which share state or config
103
- - Which must be modified together (co-change groups)
104
- 4. Write manifest to `.rune/logic-manifest.json`
105
- 5. Save summary to neural memory via `session-bridge`
106
-
107
- ### Phase 4 — Post-Edit Validation
108
-
109
- After any edit to a manifested file:
110
-
111
- 1. Re-read the edited file
112
- 2. Compare against the manifest's function list:
113
- - Any function REMOVED? → ALERT: "Function [name] was removed. Was this intentional?"
114
- - Any function SIGNATURE changed? → WARN: "Signature of [name] changed. Check callers."
115
- - Any PARAMETERS changed? → WARN: "Parameter [name] changed from [old] to [new]. Verify downstream."
116
- 3. Run `verification` to execute tests
117
- 4. If all checks pass: update the manifest with new state
118
- 5. If function was removed unintentionally: offer to restore from git
119
-
120
- ### Phase 5 — Cross-Session Handoff
121
-
122
- Ensure the next session can pick up where this one left off:
123
-
124
- 1. Update `.rune/logic-manifest.json` with:
125
- - Current component states
126
- - Last validation timestamp
127
- - Any pending changes or known issues
128
- 2. Save key decisions to `journal` as ADRs
129
- 3. Save manifest summary to neural memory:
130
- - "Project X has N active logic components: [list]. Last validated [date]."
131
- - "Component Y was modified: [what changed and why]"
132
-
133
- ## Output Format
134
-
135
- ### Manifest Schema (`.rune/logic-manifest.json`)
136
-
137
- ```json
138
- {
139
- "version": "1.0",
140
- "project": "project-name",
141
- "last_validated": "2026-03-05T10:00:00Z",
142
- "components": [
143
- {
144
- "name": "rsi-entry-detector",
145
- "file_path": "src/scenarios/rsi_entry/detect.py",
146
- "role": "ENTRY_LOGIC",
147
- "status": "ACTIVE",
148
- "functions": [
149
- {
150
- "name": "detect_entry_signal",
151
- "signature": "(df: DataFrame, ticket: Ticket, config: Settings) -> Signal | None",
152
- "description": "3-step RSI entry detection: challenge -> zone check -> entry point",
153
- "critical": true
154
- }
155
- ],
156
- "parameters": [
157
- { "name": "rsi_period", "value": 7, "source": "settings.py" },
158
- { "name": "challenge_threshold_long", "value": 65, "source": "settings.py" }
159
- ],
160
- "dependencies": ["trend-pass-tracker", "indicator-calculator"],
161
- "dependents": ["production-worker", "backtest-engine"],
162
- "last_modified": "2026-03-01",
163
- "last_modifier": "human",
164
- "checksum": "sha256:abc123..."
165
- }
166
- ],
167
- "co_change_groups": [
168
- {
169
- "name": "entry-pipeline",
170
- "components": ["trend-pass-tracker", "rsi-entry-detector", "indicator-calculator"],
171
- "reason": "These components share RSI parameters and must be modified together"
172
- }
173
- ]
174
- }
175
- ```
176
-
177
- ### Validation Report
178
-
179
- ```
180
- ## Logic Guardian Report
181
-
182
- ### Manifest Status: SYNCED | DRIFT_DETECTED
183
- - Components: N active, M testing, K deprecated
184
- - Last validated: [timestamp]
185
-
186
- ### Pre-Edit Gate
187
- - File: [path]
188
- - Component: [name] (ACTIVE)
189
- - Functions preserved: [list]
190
- - Intended change: [description]
191
- - Impact: [downstream effects]
192
-
193
- ### Post-Edit Validation
194
- - Functions removed: [none | list]
195
- - Signatures changed: [none | list]
196
- - Parameters changed: [none | list]
197
- - Tests: PASS | FAIL
198
- - Manifest: UPDATED | NEEDS_REVIEW
199
- ```
200
-
201
- ## Constraints
202
-
203
- 1. MUST load manifest before ANY edit to a manifested file — the entire point is pre-edit awareness
204
- 2. MUST NOT allow edits to ACTIVE logic without the agent explicitly listing what will be preserved — prevents silent overwrites
205
- 3. MUST alert on function removal — the #1 failure mode is deleting working logic
206
- 4. MUST run tests after editing manifested files — logic changes without test verification are blind
207
- 5. MUST update manifest after validated edits — stale manifests provide false confidence
208
- 6. MUST NOT auto-generate manifest for files the agent hasn't read — manifest must reflect actual understanding
209
-
210
- ## Mesh Gates
211
-
212
- | Gate | Requires | If Missing |
213
- |------|----------|------------|
214
- | PRE_EDIT | `.rune/logic-manifest.json` loaded + component spec displayed | BLOCK edit. Run Phase 0 + Phase 2 first. |
215
- | POST_EDIT | All manifest functions still present OR removal explicitly acknowledged | ALERT + offer git restore |
216
- | CROSS_SESSION | Manifest updated + summary saved to journal/nmem | WARN: next session will lack context |
217
-
218
- ## Sharp Edges
219
-
220
- | Failure Mode | Severity | Mitigation |
221
- |---|---|---|
222
- | Agent edits manifested file without loading manifest first | CRITICAL | Phase 2 gate: cook/fix MUST call logic-guardian before editing manifested files |
223
- | Manifest drifts from actual code (manual edits not tracked) | HIGH | Phase 1 validation on every load — detect and reconcile drift |
224
- | Agent acknowledges existing logic but still overwrites it | HIGH | Post-edit Phase 4 diff check catches removed functions regardless of agent claims |
225
- | Manifest becomes too large (100+ components) | MEDIUM | Group related functions into composite components; track at module level not function level |
226
- | False sense of security — manifest exists but is outdated | MEDIUM | Checksum comparison on every load; warn if file hash doesn't match manifest |
227
- | Agent treats manifest generation as a one-time task | LOW | Phase 5 cross-session handoff ensures manifest stays alive across sessions |
228
-
229
- ## Done When
230
-
231
- - `.rune/logic-manifest.json` exists and passes Phase 1 validation (SYNCED)
232
- - All manifested components have status (ACTIVE/TESTING/DEPRECATED) and function listings
233
- - Pre-edit gate blocks edits without manifest awareness (Phase 2 enforced)
234
- - Post-edit validation confirms no unintended function removal (Phase 4 passed)
235
- - Manifest summary saved to journal + neural memory for cross-session handoff
236
- - Tests pass after any logic edit
237
-
238
- ## Returns
239
-
240
- | Artifact | Format | Location |
241
- |----------|--------|----------|
242
- | Logic manifest | JSON | `.rune/logic-manifest.json` |
243
- | Validation report (SYNCED / DRIFT) | Markdown | inline |
244
- | Pre-edit gate summary | Structured text | inline |
245
- | ADR entries for logic changes | Markdown | via `journal` L3 |
246
-
247
- ## Cost Profile
248
-
249
- ~1,000-2,000 tokens for manifest load + pre-edit gate. ~3,000-5,000 tokens for full project scan (Phase 3). Sonnet for code analysis; haiku for file scanning via scout.
250
-
251
- **Scope guardrail:** logic-guardian protects existing logic — it does not implement new features or refactor code.
1
+ ---
2
+ name: logic-guardian
3
+ description: Protects complex business logic from accidental deletion or overwrite. Maintains a logic manifest, enforces pre-edit gates, and validates post-edit diffs.
4
+ metadata:
5
+ author: runedev
6
+ version: "0.1.0"
7
+ layer: L2
8
+ model: sonnet
9
+ group: quality
10
+ tools: "Read, Write, Edit, Glob, Grep"
11
+ ---
12
+
13
+ # logic-guardian
14
+
15
+ ## Purpose
16
+
17
+ Complex projects (trading bots, payment systems, game engines, state machines) contain interconnected logic that AI agents routinely destroy by accident. The pattern is always the same: new session starts, agent doesn't know existing logic, rewrites or deletes working code, project regresses. `logic-guardian` breaks this cycle by maintaining a machine-readable logic manifest, enforcing a pre-edit gate on logic files, and validating that edits don't silently remove existing logic. It is the "institutional memory" for business logic.
18
+
19
+ ## Triggers
20
+
21
+ - `/rune logic-guardian` — manual invocation (scan project, generate/update manifest)
22
+ - Auto-trigger: when `cook` or `fix` targets a file listed in `.rune/logic-manifest.json`
23
+ - Auto-trigger: when `surgeon` plans refactoring on logic-heavy modules
24
+ - Auto-trigger: when `.rune/logic-manifest.json` exists in project root
25
+
26
+ ## Calls (outbound connections)
27
+
28
+ - `scout` (L2): scan project to discover logic files and extract function signatures
29
+ - `verification` (L3): run tests after logic edits to confirm no regression
30
+ - `hallucination-guard` (L3): verify that referenced functions/imports actually exist after edit
31
+ - `journal` (L3): record logic changes as ADRs for cross-session persistence
32
+ - `session-bridge` (L3): save manifest state so next session loads it immediately
33
+
34
+ ## Called By (inbound connections)
35
+
36
+ - `cook` (L1): Phase 1.5 — when complex logic project detected, load manifest before planning
37
+ - `fix` (L2): pre-edit gate — before modifying any file in the manifest
38
+ - `surgeon` (L2): pre-refactor — before restructuring logic modules
39
+ - `team` (L1): validate logic integrity across parallel workstreams
40
+ - `review` (L2): check if reviewed diff removes or modifies manifested logic
41
+
42
+ ## Workflow
43
+
44
+ ### Phase 0 — Load or Initialize Manifest
45
+
46
+ 1. Use `Read` on `.rune/logic-manifest.json`
47
+ 2. If file exists:
48
+ - Parse manifest, display summary: "Loaded logic manifest: N components, M functions, K parameters"
49
+ - Proceed to Phase 1 (Validate)
50
+ 3. If file does NOT exist:
51
+ - Announce: "No logic manifest found. Scanning project to generate one."
52
+ - Proceed to Phase 3 (Generate)
53
+
54
+ ### Phase 1 — Validate Manifest Against Codebase
55
+
56
+ Ensure the manifest matches the actual code (detect drift):
57
+
58
+ 1. For each component in the manifest:
59
+ - Use `Read` on the component's `file_path`
60
+ - Verify each listed function exists (by name + signature match)
61
+ - Check if any NEW functions exist in the file that aren't in the manifest
62
+ 2. Report:
63
+ - `SYNCED` — manifest matches code perfectly
64
+ - `DRIFT_DETECTED` — list specific discrepancies (missing functions, new unlisted functions, changed signatures)
65
+ 3. If drift detected: ask user whether to update manifest or investigate changes
66
+
67
+ ### Phase 2 — Pre-Edit Gate (called by fix/surgeon/cook)
68
+
69
+ Before ANY edit to a manifested file:
70
+
71
+ 1. Load the manifest (Phase 0)
72
+ 2. Display the affected component's current spec:
73
+ ```
74
+ COMPONENT: [name]
75
+ STATUS: ACTIVE | TESTING | DEPRECATED
76
+ FUNCTIONS: [list with one-line descriptions]
77
+ PARAMETERS: [configurable values with current settings]
78
+ DEPENDENCIES: [what other components depend on this]
79
+ LAST_MODIFIED: [date]
80
+ ```
81
+ 3. Require the agent to explicitly state:
82
+ - What it intends to change
83
+ - What it will NOT change
84
+ - Which existing functions/logic will be preserved
85
+ 4. If the agent cannot list the existing functions → BLOCK the edit. Force a `Read` of the file first.
86
+
87
+ ### Phase 3 — Generate Manifest (first-time or rescan)
88
+
89
+ Scan the project and build the manifest:
90
+
91
+ 1. Use `scout` to find logic-heavy files:
92
+ - Search for files with complex conditionals, state machines, strategy patterns
93
+ - Look for files matching: `**/logic/**`, `**/strategy/**`, `**/engine/**`, `**/core/**`, `**/scenarios/**`, `**/rules/**`, `**/pipeline/**`, `**/trailing/**`, `**/signals/**`
94
+ - Also search for files with high cyclomatic complexity (many if/else/switch branches)
95
+ 2. For each discovered file:
96
+ - `Read` the file
97
+ - Extract: functions/methods, their parameters, return types, key conditionals
98
+ - Classify the component's role: ENTRY_LOGIC, EXIT_LOGIC, FILTER, VALIDATOR, STATE_MACHINE, PIPELINE, CALCULATOR, etc.
99
+ - Determine status: ACTIVE (has callers + tests), TESTING (no production callers), DEPRECATED (commented out or unused)
100
+ 3. Map dependencies between components:
101
+ - Which component calls which
102
+ - Which share state or config
103
+ - Which must be modified together (co-change groups)
104
+ 4. Write manifest to `.rune/logic-manifest.json`
105
+ 5. Save summary to neural memory via `session-bridge`
106
+
107
+ ### Phase 4 — Post-Edit Validation
108
+
109
+ After any edit to a manifested file:
110
+
111
+ 1. Re-read the edited file
112
+ 2. Compare against the manifest's function list:
113
+ - Any function REMOVED? → ALERT: "Function [name] was removed. Was this intentional?"
114
+ - Any function SIGNATURE changed? → WARN: "Signature of [name] changed. Check callers."
115
+ - Any PARAMETERS changed? → WARN: "Parameter [name] changed from [old] to [new]. Verify downstream."
116
+ 3. Run `verification` to execute tests
117
+ 4. If all checks pass: update the manifest with new state
118
+ 5. If function was removed unintentionally: offer to restore from git
119
+
120
+ ### Phase 5 — Cross-Session Handoff
121
+
122
+ Ensure the next session can pick up where this one left off:
123
+
124
+ 1. Update `.rune/logic-manifest.json` with:
125
+ - Current component states
126
+ - Last validation timestamp
127
+ - Any pending changes or known issues
128
+ 2. Save key decisions to `journal` as ADRs
129
+ 3. Save manifest summary to neural memory:
130
+ - "Project X has N active logic components: [list]. Last validated [date]."
131
+ - "Component Y was modified: [what changed and why]"
132
+
133
+ ## Output Format
134
+
135
+ ### Manifest Schema (`.rune/logic-manifest.json`)
136
+
137
+ ```json
138
+ {
139
+ "version": "1.0",
140
+ "project": "project-name",
141
+ "last_validated": "2026-03-05T10:00:00Z",
142
+ "components": [
143
+ {
144
+ "name": "rsi-entry-detector",
145
+ "file_path": "src/scenarios/rsi_entry/detect.py",
146
+ "role": "ENTRY_LOGIC",
147
+ "status": "ACTIVE",
148
+ "functions": [
149
+ {
150
+ "name": "detect_entry_signal",
151
+ "signature": "(df: DataFrame, ticket: Ticket, config: Settings) -> Signal | None",
152
+ "description": "3-step RSI entry detection: challenge -> zone check -> entry point",
153
+ "critical": true
154
+ }
155
+ ],
156
+ "parameters": [
157
+ { "name": "rsi_period", "value": 7, "source": "settings.py" },
158
+ { "name": "challenge_threshold_long", "value": 65, "source": "settings.py" }
159
+ ],
160
+ "dependencies": ["trend-pass-tracker", "indicator-calculator"],
161
+ "dependents": ["production-worker", "backtest-engine"],
162
+ "last_modified": "2026-03-01",
163
+ "last_modifier": "human",
164
+ "checksum": "sha256:abc123..."
165
+ }
166
+ ],
167
+ "co_change_groups": [
168
+ {
169
+ "name": "entry-pipeline",
170
+ "components": ["trend-pass-tracker", "rsi-entry-detector", "indicator-calculator"],
171
+ "reason": "These components share RSI parameters and must be modified together"
172
+ }
173
+ ]
174
+ }
175
+ ```
176
+
177
+ ### Validation Report
178
+
179
+ ```
180
+ ## Logic Guardian Report
181
+
182
+ ### Manifest Status: SYNCED | DRIFT_DETECTED
183
+ - Components: N active, M testing, K deprecated
184
+ - Last validated: [timestamp]
185
+
186
+ ### Pre-Edit Gate
187
+ - File: [path]
188
+ - Component: [name] (ACTIVE)
189
+ - Functions preserved: [list]
190
+ - Intended change: [description]
191
+ - Impact: [downstream effects]
192
+
193
+ ### Post-Edit Validation
194
+ - Functions removed: [none | list]
195
+ - Signatures changed: [none | list]
196
+ - Parameters changed: [none | list]
197
+ - Tests: PASS | FAIL
198
+ - Manifest: UPDATED | NEEDS_REVIEW
199
+ ```
200
+
201
+ ## Constraints
202
+
203
+ 1. MUST load manifest before ANY edit to a manifested file — the entire point is pre-edit awareness
204
+ 2. MUST NOT allow edits to ACTIVE logic without the agent explicitly listing what will be preserved — prevents silent overwrites
205
+ 3. MUST alert on function removal — the #1 failure mode is deleting working logic
206
+ 4. MUST run tests after editing manifested files — logic changes without test verification are blind
207
+ 5. MUST update manifest after validated edits — stale manifests provide false confidence
208
+ 6. MUST NOT auto-generate manifest for files the agent hasn't read — manifest must reflect actual understanding
209
+
210
+ ## Mesh Gates
211
+
212
+ | Gate | Requires | If Missing |
213
+ |------|----------|------------|
214
+ | PRE_EDIT | `.rune/logic-manifest.json` loaded + component spec displayed | BLOCK edit. Run Phase 0 + Phase 2 first. |
215
+ | POST_EDIT | All manifest functions still present OR removal explicitly acknowledged | ALERT + offer git restore |
216
+ | CROSS_SESSION | Manifest updated + summary saved to journal/nmem | WARN: next session will lack context |
217
+
218
+ ## Sharp Edges
219
+
220
+ | Failure Mode | Severity | Mitigation |
221
+ |---|---|---|
222
+ | Agent edits manifested file without loading manifest first | CRITICAL | Phase 2 gate: cook/fix MUST call logic-guardian before editing manifested files |
223
+ | Manifest drifts from actual code (manual edits not tracked) | HIGH | Phase 1 validation on every load — detect and reconcile drift |
224
+ | Agent acknowledges existing logic but still overwrites it | HIGH | Post-edit Phase 4 diff check catches removed functions regardless of agent claims |
225
+ | Manifest becomes too large (100+ components) | MEDIUM | Group related functions into composite components; track at module level not function level |
226
+ | False sense of security — manifest exists but is outdated | MEDIUM | Checksum comparison on every load; warn if file hash doesn't match manifest |
227
+ | Agent treats manifest generation as a one-time task | LOW | Phase 5 cross-session handoff ensures manifest stays alive across sessions |
228
+
229
+ ## Done When
230
+
231
+ - `.rune/logic-manifest.json` exists and passes Phase 1 validation (SYNCED)
232
+ - All manifested components have status (ACTIVE/TESTING/DEPRECATED) and function listings
233
+ - Pre-edit gate blocks edits without manifest awareness (Phase 2 enforced)
234
+ - Post-edit validation confirms no unintended function removal (Phase 4 passed)
235
+ - Manifest summary saved to journal + neural memory for cross-session handoff
236
+ - Tests pass after any logic edit
237
+
238
+ ## Returns
239
+
240
+ | Artifact | Format | Location |
241
+ |----------|--------|----------|
242
+ | Logic manifest | JSON | `.rune/logic-manifest.json` |
243
+ | Validation report (SYNCED / DRIFT) | Markdown | inline |
244
+ | Pre-edit gate summary | Structured text | inline |
245
+ | ADR entries for logic changes | Markdown | via `journal` L3 |
246
+
247
+ ## Cost Profile
248
+
249
+ ~1,000-2,000 tokens for manifest load + pre-edit gate. ~3,000-5,000 tokens for full project scan (Phase 3). Sonnet for code analysis; haiku for file scanning via scout.
250
+
251
+ **Scope guardrail:** logic-guardian protects existing logic — it does not implement new features or refactor code.