screenhand 0.2.0 → 0.3.1

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 (212) hide show
  1. package/README.md +165 -446
  2. package/bin/darwin-arm64/macos-bridge +0 -0
  3. package/dist/mcp-desktop.js +3615 -400
  4. package/dist/scripts/export-help-center.js +112 -0
  5. package/dist/scripts/marketing-loop.js +117 -0
  6. package/dist/scripts/observer-daemon.js +288 -0
  7. package/dist/scripts/orchestrator-daemon.js +399 -0
  8. package/dist/scripts/threads-campaign.js +208 -0
  9. package/dist/src/community/fetcher.js +109 -0
  10. package/dist/src/community/index.js +6 -0
  11. package/dist/src/community/publisher.js +191 -0
  12. package/dist/src/community/remote-api.js +121 -0
  13. package/dist/src/community/types.js +3 -0
  14. package/dist/src/community/validator.js +95 -0
  15. package/dist/src/context-tracker.js +489 -0
  16. package/dist/src/ingestion/coverage-auditor.js +233 -0
  17. package/dist/src/ingestion/doc-parser.js +164 -0
  18. package/dist/src/ingestion/index.js +8 -0
  19. package/dist/src/ingestion/menu-scanner.js +152 -0
  20. package/dist/src/ingestion/reference-merger.js +186 -0
  21. package/dist/src/ingestion/shortcut-extractor.js +180 -0
  22. package/dist/src/ingestion/tutorial-extractor.js +170 -0
  23. package/dist/src/ingestion/types.js +3 -0
  24. package/dist/src/jobs/manager.js +82 -14
  25. package/dist/src/jobs/runner.js +138 -15
  26. package/dist/src/learning/engine.js +356 -0
  27. package/dist/src/learning/index.js +9 -0
  28. package/dist/src/learning/locator-policy.js +120 -0
  29. package/dist/src/learning/pattern-policy.js +89 -0
  30. package/dist/src/learning/recovery-policy.js +116 -0
  31. package/dist/src/learning/sensor-policy.js +115 -0
  32. package/dist/src/learning/timing-model.js +204 -0
  33. package/dist/src/learning/topology-policy.js +90 -0
  34. package/dist/src/learning/types.js +9 -0
  35. package/dist/src/logging/timeline-logger.js +4 -1
  36. package/dist/src/memory/playbook-seeds.js +200 -0
  37. package/dist/src/memory/recall.js +60 -8
  38. package/dist/src/memory/service.js +30 -5
  39. package/dist/src/memory/store.js +34 -5
  40. package/dist/src/native/bridge-client.js +253 -31
  41. package/dist/src/observer/state.js +199 -0
  42. package/dist/src/observer/types.js +43 -0
  43. package/dist/src/orchestrator/state.js +68 -0
  44. package/dist/src/orchestrator/types.js +22 -0
  45. package/dist/src/perception/ax-source.js +162 -0
  46. package/dist/src/perception/cdp-source.js +162 -0
  47. package/dist/src/perception/coordinator.js +771 -0
  48. package/dist/src/perception/frame-differ.js +287 -0
  49. package/dist/src/perception/index.js +22 -0
  50. package/dist/src/perception/manager.js +199 -0
  51. package/dist/src/perception/types.js +47 -0
  52. package/dist/src/perception/vision-source.js +399 -0
  53. package/dist/src/planner/deterministic.js +298 -0
  54. package/dist/src/planner/executor.js +870 -0
  55. package/dist/src/planner/goal-store.js +92 -0
  56. package/dist/src/planner/index.js +21 -0
  57. package/dist/src/planner/planner.js +520 -0
  58. package/dist/src/planner/tool-registry.js +71 -0
  59. package/dist/src/planner/types.js +22 -0
  60. package/dist/src/platform/explorer.js +213 -0
  61. package/dist/src/platform/help-center-markdown.js +527 -0
  62. package/dist/src/platform/learner.js +257 -0
  63. package/dist/src/playbook/engine.js +296 -11
  64. package/dist/src/playbook/mcp-recorder.js +204 -0
  65. package/dist/src/playbook/recorder.js +3 -2
  66. package/dist/src/playbook/runner.js +1 -1
  67. package/dist/src/playbook/store.js +139 -10
  68. package/dist/src/recovery/detectors.js +156 -0
  69. package/dist/src/recovery/engine.js +327 -0
  70. package/dist/src/recovery/index.js +20 -0
  71. package/dist/src/recovery/strategies.js +274 -0
  72. package/dist/src/recovery/types.js +20 -0
  73. package/dist/src/runtime/accessibility-adapter.js +55 -18
  74. package/dist/src/runtime/applescript-adapter.js +8 -2
  75. package/dist/src/runtime/cdp-chrome-adapter.js +1 -1
  76. package/dist/src/runtime/executor.js +23 -3
  77. package/dist/src/runtime/locator-cache.js +24 -2
  78. package/dist/src/runtime/service.js +59 -15
  79. package/dist/src/runtime/session-manager.js +4 -1
  80. package/dist/src/runtime/vision-adapter.js +2 -1
  81. package/dist/src/state/app-map-types.js +72 -0
  82. package/dist/src/state/app-map.js +1974 -0
  83. package/dist/src/state/entity-tracker.js +108 -0
  84. package/dist/src/state/fusion.js +96 -0
  85. package/dist/src/state/index.js +21 -0
  86. package/dist/src/state/ladder-generator.js +236 -0
  87. package/dist/src/state/persistence.js +156 -0
  88. package/dist/src/state/types.js +17 -0
  89. package/dist/src/state/world-model.js +1456 -0
  90. package/dist/src/util/atomic-write.js +19 -4
  91. package/dist/src/util/sanitize.js +146 -0
  92. package/dist-app-maps/com.figma.Desktop.json +959 -0
  93. package/dist-app-maps/com.hnc.Discord.json +1146 -0
  94. package/dist-app-maps/notion.id.json +2831 -0
  95. package/dist-playbooks/canva-screenhand-carousel.json +445 -0
  96. package/dist-playbooks/codex-desktop.json +76 -0
  97. package/dist-playbooks/competitor-research-stack.json +122 -0
  98. package/dist-playbooks/davinci-color-grade.json +153 -0
  99. package/dist-playbooks/davinci-edit-timeline.json +162 -0
  100. package/dist-playbooks/davinci-render.json +114 -0
  101. package/dist-playbooks/devto.json +52 -0
  102. package/dist-playbooks/discord.json +41 -0
  103. package/dist-playbooks/google-flow-create-project.json +59 -0
  104. package/dist-playbooks/google-flow-edit-image.json +90 -0
  105. package/dist-playbooks/google-flow-edit-video.json +90 -0
  106. package/dist-playbooks/google-flow-generate-image.json +68 -0
  107. package/dist-playbooks/google-flow-generate-video.json +191 -0
  108. package/dist-playbooks/google-flow-open-project.json +48 -0
  109. package/dist-playbooks/google-flow-open-scenebuilder.json +64 -0
  110. package/dist-playbooks/google-flow-search-assets.json +64 -0
  111. package/dist-playbooks/instagram.json +57 -0
  112. package/dist-playbooks/linkedin.json +52 -0
  113. package/dist-playbooks/n8n.json +43 -0
  114. package/dist-playbooks/reddit.json +52 -0
  115. package/dist-playbooks/threads.json +59 -0
  116. package/dist-playbooks/x-twitter.json +59 -0
  117. package/dist-playbooks/youtube.json +59 -0
  118. package/dist-references/canva.json +646 -0
  119. package/dist-references/codex-desktop.json +305 -0
  120. package/dist-references/davinci-resolve-keyboard.json +594 -0
  121. package/dist-references/davinci-resolve-menu-map.json +1139 -0
  122. package/dist-references/davinci-resolve-menus-batch1.json +116 -0
  123. package/dist-references/davinci-resolve-menus-batch2.json +372 -0
  124. package/dist-references/davinci-resolve-menus-batch3.json +330 -0
  125. package/dist-references/davinci-resolve-menus-batch4.json +297 -0
  126. package/dist-references/davinci-resolve-shortcuts.json +333 -0
  127. package/dist-references/devpost.json +186 -0
  128. package/dist-references/devto.json +317 -0
  129. package/dist-references/discord.json +549 -0
  130. package/dist-references/figma.json +1186 -0
  131. package/dist-references/finder.json +146 -0
  132. package/dist-references/google-ads-transparency.json +95 -0
  133. package/dist-references/google-flow.json +649 -0
  134. package/dist-references/instagram.json +341 -0
  135. package/dist-references/linkedin.json +324 -0
  136. package/dist-references/meta-ad-library.json +86 -0
  137. package/dist-references/n8n.json +387 -0
  138. package/dist-references/notes.json +27 -0
  139. package/dist-references/notion.json +163 -0
  140. package/dist-references/reddit.json +341 -0
  141. package/dist-references/threads.json +337 -0
  142. package/dist-references/x-twitter.json +403 -0
  143. package/dist-references/youtube.json +373 -0
  144. package/native/macos-bridge/Package.swift +22 -0
  145. package/native/macos-bridge/Sources/AccessibilityBridge.swift +482 -0
  146. package/native/macos-bridge/Sources/AppManagement.swift +339 -0
  147. package/native/macos-bridge/Sources/CoreGraphicsBridge.swift +537 -0
  148. package/native/macos-bridge/Sources/ObserverBridge.swift +120 -0
  149. package/native/macos-bridge/Sources/StreamCapture.swift +136 -0
  150. package/native/macos-bridge/Sources/VisionBridge.swift +238 -0
  151. package/native/macos-bridge/Sources/main.swift +498 -0
  152. package/native/windows-bridge/AppManagement.cs +234 -0
  153. package/native/windows-bridge/InputBridge.cs +436 -0
  154. package/native/windows-bridge/Program.cs +270 -0
  155. package/native/windows-bridge/ScreenCapture.cs +453 -0
  156. package/native/windows-bridge/UIAutomationBridge.cs +571 -0
  157. package/native/windows-bridge/WindowsBridge.csproj +17 -0
  158. package/package.json +12 -1
  159. package/scripts/postinstall.cjs +127 -0
  160. package/dist/.audit-log.jsonl +0 -55
  161. package/dist/.screenhand/memory/.lock +0 -1
  162. package/dist/.screenhand/memory/actions.jsonl +0 -85
  163. package/dist/.screenhand/memory/errors.jsonl +0 -5
  164. package/dist/.screenhand/memory/errors.jsonl.bak +0 -4
  165. package/dist/.screenhand/memory/state.json +0 -35
  166. package/dist/.screenhand/memory/state.json.bak +0 -35
  167. package/dist/.screenhand/memory/strategies.jsonl +0 -12
  168. package/dist/agent/cli.js +0 -73
  169. package/dist/agent/loop.js +0 -258
  170. package/dist/config.js +0 -9
  171. package/dist/index.js +0 -56
  172. package/dist/logging/timeline-logger.js +0 -29
  173. package/dist/mcp/mcp-stdio-server.js +0 -448
  174. package/dist/mcp/server.js +0 -347
  175. package/dist/mcp-entry.js +0 -59
  176. package/dist/memory/recall.js +0 -160
  177. package/dist/memory/research.js +0 -98
  178. package/dist/memory/seeds.js +0 -89
  179. package/dist/memory/session.js +0 -161
  180. package/dist/memory/store.js +0 -391
  181. package/dist/memory/types.js +0 -4
  182. package/dist/monitor/codex-monitor.js +0 -377
  183. package/dist/monitor/task-queue.js +0 -84
  184. package/dist/monitor/types.js +0 -49
  185. package/dist/native/bridge-client.js +0 -174
  186. package/dist/native/macos-bridge-client.js +0 -5
  187. package/dist/npm-publish-helper.js +0 -117
  188. package/dist/npm-token-cdp.js +0 -113
  189. package/dist/npm-token-create.js +0 -135
  190. package/dist/npm-token-finish.js +0 -126
  191. package/dist/playbook/engine.js +0 -193
  192. package/dist/playbook/index.js +0 -4
  193. package/dist/playbook/recorder.js +0 -519
  194. package/dist/playbook/runner.js +0 -392
  195. package/dist/playbook/store.js +0 -166
  196. package/dist/playbook/types.js +0 -4
  197. package/dist/runtime/accessibility-adapter.js +0 -377
  198. package/dist/runtime/app-adapter.js +0 -48
  199. package/dist/runtime/applescript-adapter.js +0 -283
  200. package/dist/runtime/ax-role-map.js +0 -80
  201. package/dist/runtime/browser-adapter.js +0 -36
  202. package/dist/runtime/cdp-chrome-adapter.js +0 -505
  203. package/dist/runtime/composite-adapter.js +0 -205
  204. package/dist/runtime/executor.js +0 -250
  205. package/dist/runtime/locator-cache.js +0 -12
  206. package/dist/runtime/planning-loop.js +0 -47
  207. package/dist/runtime/service.js +0 -372
  208. package/dist/runtime/session-manager.js +0 -28
  209. package/dist/runtime/state-observer.js +0 -105
  210. package/dist/runtime/vision-adapter.js +0 -208
  211. package/dist/test-mcp-protocol.js +0 -138
  212. package/dist/types.js +0 -1
@@ -0,0 +1,1146 @@
1
+ {
2
+ "app": "com.hnc.Discord",
3
+ "appName": "Discord",
4
+ "version": "unknown",
5
+ "masteryLevel": "pro",
6
+ "confidence": 0.469390243902439,
7
+ "lastValidated": "2026-03-20T08:45:35.845Z",
8
+ "mapVersion": 1,
9
+ "uiArchitecture": {
10
+ "type": "other",
11
+ "rendering": "native",
12
+ "axSupport": "partial",
13
+ "bestMethod": "ax",
14
+ "menuStyle": "standard",
15
+ "dragDropHeavy": false,
16
+ "hasCanvas": false
17
+ },
18
+ "zones": {
19
+ "auto_discovered": {
20
+ "relativePosition": {
21
+ "top": 0,
22
+ "left": 0,
23
+ "width": 1,
24
+ "height": 1
25
+ },
26
+ "type": "other",
27
+ "elements": [
28
+ {
29
+ "label": "Friends",
30
+ "relativeX": 0.1123076923076923,
31
+ "relativeY": 0.148,
32
+ "anchor": "top-left",
33
+ "ocrBackup": "Friends",
34
+ "successCount": 2,
35
+ "failCount": 0,
36
+ "lastInteracted": "2026-03-20T07:09:57.493Z",
37
+ "sessionsSinceUse": 4
38
+ },
39
+ {
40
+ "label": "Notifications",
41
+ "relativeX": 0.1078125,
42
+ "relativeY": 0.7138888888888889,
43
+ "anchor": "top-left",
44
+ "ocrBackup": "Notifications",
45
+ "successCount": 1,
46
+ "failCount": 0,
47
+ "lastInteracted": "2026-03-20T02:23:14.276Z",
48
+ "sessionsSinceUse": 8
49
+ },
50
+ {
51
+ "label": "Add Friend",
52
+ "relativeX": 0.43203125,
53
+ "relativeY": 0.13333333333333333,
54
+ "anchor": "top-left",
55
+ "ocrBackup": "Add Friend",
56
+ "successCount": 1,
57
+ "failCount": 0,
58
+ "lastInteracted": "2026-03-20T02:24:08.599Z",
59
+ "sessionsSinceUse": 8
60
+ },
61
+ {
62
+ "label": "screenhand",
63
+ "relativeX": 0.07692307692307693,
64
+ "relativeY": 0.94,
65
+ "anchor": "top-left",
66
+ "ocrBackup": "screenhand",
67
+ "successCount": 2,
68
+ "failCount": 0,
69
+ "lastInteracted": "2026-03-20T07:45:45.966Z",
70
+ "sessionsSinceUse": 3
71
+ },
72
+ {
73
+ "label": "Explore Discoverable Servers",
74
+ "relativeX": 0,
75
+ "relativeY": 0,
76
+ "anchor": "top-left",
77
+ "ocrBackup": "Explore Discoverable Servers",
78
+ "successCount": 1,
79
+ "failCount": 0,
80
+ "lastInteracted": "2026-03-20T02:36:46.971Z",
81
+ "sessionsSinceUse": 7
82
+ },
83
+ {
84
+ "label": "Explore",
85
+ "relativeX": 0.41015625,
86
+ "relativeY": 0.5944444444444444,
87
+ "anchor": "top-left",
88
+ "ocrBackup": "Explore",
89
+ "successCount": 1,
90
+ "failCount": 0,
91
+ "lastInteracted": "2026-03-20T02:36:51.025Z",
92
+ "sessionsSinceUse": 7
93
+ },
94
+ {
95
+ "label": "Science & Tech",
96
+ "relativeX": 0.6140625,
97
+ "relativeY": 0.13333333333333333,
98
+ "anchor": "top-left",
99
+ "ocrBackup": "Science & Tech",
100
+ "successCount": 1,
101
+ "failCount": 0,
102
+ "lastInteracted": "2026-03-20T02:36:59.163Z",
103
+ "sessionsSinceUse": 7
104
+ },
105
+ {
106
+ "label": "discord.js",
107
+ "relativeX": 0.74453125,
108
+ "relativeY": 0.325,
109
+ "anchor": "top-left",
110
+ "ocrBackup": "discord.js",
111
+ "successCount": 1,
112
+ "failCount": 0,
113
+ "lastInteracted": "2026-03-20T02:37:19.641Z",
114
+ "sessionsSinceUse": 7
115
+ },
116
+ {
117
+ "label": "Join discord.js - Imagine an app",
118
+ "relativeX": 0.69140625,
119
+ "relativeY": 0.07777777777777778,
120
+ "anchor": "top-left",
121
+ "ocrBackup": "Join discord.js - Imagine an app",
122
+ "successCount": 1,
123
+ "failCount": 0,
124
+ "lastInteracted": "2026-03-20T02:37:28.902Z",
125
+ "sessionsSinceUse": 7
126
+ },
127
+ {
128
+ "label": "I am human",
129
+ "relativeX": 0.45859375,
130
+ "relativeY": 0.6958333333333333,
131
+ "anchor": "top-left",
132
+ "ocrBackup": "I am human",
133
+ "successCount": 1,
134
+ "failCount": 0,
135
+ "lastInteracted": "2026-03-20T02:37:37.376Z",
136
+ "sessionsSinceUse": 7
137
+ },
138
+ {
139
+ "label": "Start Onboarding",
140
+ "relativeX": 0,
141
+ "relativeY": 0,
142
+ "anchor": "top-left",
143
+ "ocrBackup": "Start Onboarding",
144
+ "successCount": 1,
145
+ "failCount": 0,
146
+ "lastInteracted": "2026-03-20T02:37:45.080Z",
147
+ "sessionsSinceUse": 7
148
+ },
149
+ {
150
+ "label": "v14.x.y",
151
+ "relativeX": 0.35078125,
152
+ "relativeY": 0.37222222222222223,
153
+ "anchor": "top-left",
154
+ "ocrBackup": "v14.x.y",
155
+ "successCount": 1,
156
+ "failCount": 0,
157
+ "lastInteracted": "2026-03-20T02:37:49.586Z",
158
+ "sessionsSinceUse": 7
159
+ },
160
+ {
161
+ "label": "Next",
162
+ "relativeX": 0.78515625,
163
+ "relativeY": 0.9388888888888889,
164
+ "anchor": "top-left",
165
+ "ocrBackup": "Next",
166
+ "successCount": 1,
167
+ "failCount": 0,
168
+ "lastInteracted": "2026-03-20T02:37:58.462Z",
169
+ "sessionsSinceUse": 7
170
+ },
171
+ {
172
+ "label": "Finish",
173
+ "relativeX": 0.61875,
174
+ "relativeY": 0.9291666666666667,
175
+ "anchor": "top-left",
176
+ "ocrBackup": "Finish",
177
+ "successCount": 1,
178
+ "failCount": 0,
179
+ "lastInteracted": "2026-03-20T02:38:06.455Z",
180
+ "sessionsSinceUse": 7
181
+ },
182
+ {
183
+ "label": "Channels & Roles",
184
+ "relativeX": 0.1646153846153846,
185
+ "relativeY": 0.308,
186
+ "anchor": "top-left",
187
+ "ocrBackup": "Channels & Roles",
188
+ "successCount": 6,
189
+ "failCount": 0,
190
+ "lastInteracted": "2026-03-20T08:28:46.199Z",
191
+ "sessionsSinceUse": 1
192
+ },
193
+ {
194
+ "label": "Server Guide",
195
+ "relativeX": 0.11153846153846154,
196
+ "relativeY": 0.384,
197
+ "anchor": "top-left",
198
+ "ocrBackup": "Server Guide",
199
+ "successCount": 2,
200
+ "failCount": 0,
201
+ "lastInteracted": "2026-03-20T07:04:09.418Z",
202
+ "sessionsSinceUse": 5
203
+ },
204
+ {
205
+ "label": "announcements",
206
+ "relativeX": 0.17615384615384616,
207
+ "relativeY": 0.5893333333333334,
208
+ "anchor": "top-left",
209
+ "ocrBackup": "announcements",
210
+ "successCount": 3,
211
+ "failCount": 0,
212
+ "lastInteracted": "2026-03-20T07:04:22.576Z",
213
+ "sessionsSinceUse": 5
214
+ },
215
+ {
216
+ "label": "1 Event",
217
+ "relativeX": 0.1076923076923077,
218
+ "relativeY": 0.428,
219
+ "anchor": "top-left",
220
+ "ocrBackup": "1 Event",
221
+ "successCount": 2,
222
+ "failCount": 0,
223
+ "lastInteracted": "2026-03-20T07:04:13.823Z",
224
+ "sessionsSinceUse": 5
225
+ },
226
+ {
227
+ "label": "study room 2",
228
+ "relativeX": 0,
229
+ "relativeY": 0,
230
+ "anchor": "top-left",
231
+ "ocrBackup": "study room 2",
232
+ "successCount": 1,
233
+ "failCount": 0,
234
+ "lastInteracted": "2026-03-20T06:56:34.891Z",
235
+ "sessionsSinceUse": 6
236
+ },
237
+ {
238
+ "label": "Listen In",
239
+ "relativeX": 0.1723076923076923,
240
+ "relativeY": 0.30266666666666664,
241
+ "anchor": "top-left",
242
+ "ocrBackup": "Listen In",
243
+ "successCount": 3,
244
+ "failCount": 0,
245
+ "lastInteracted": "2026-03-20T07:03:24.830Z",
246
+ "sessionsSinceUse": 5
247
+ },
248
+ {
249
+ "label": "chill room 1",
250
+ "relativeX": 0.13307692307692306,
251
+ "relativeY": 0.6773333333333333,
252
+ "anchor": "top-left",
253
+ "ocrBackup": "chill room 1",
254
+ "successCount": 1,
255
+ "failCount": 0,
256
+ "lastInteracted": "2026-03-20T07:03:39.427Z",
257
+ "sessionsSinceUse": 5
258
+ },
259
+ {
260
+ "label": "Lofi Girl",
261
+ "relativeX": 0.11692307692307692,
262
+ "relativeY": 0.07866666666666666,
263
+ "anchor": "top-left",
264
+ "ocrBackup": "Lofi Girl",
265
+ "successCount": 1,
266
+ "failCount": 0,
267
+ "lastInteracted": "2026-03-20T07:03:43.531Z",
268
+ "sessionsSinceUse": 5
269
+ },
270
+ {
271
+ "label": "check-your-rank",
272
+ "relativeX": 0.15846153846153846,
273
+ "relativeY": 0.7053333333333334,
274
+ "anchor": "top-left",
275
+ "ocrBackup": "check-your-rank",
276
+ "successCount": 1,
277
+ "failCount": 0,
278
+ "lastInteracted": "2026-03-20T07:04:27.408Z",
279
+ "sessionsSinceUse": 5
280
+ },
281
+ {
282
+ "label": "Message #",
283
+ "relativeX": 0.37,
284
+ "relativeY": 0.952,
285
+ "anchor": "top-left",
286
+ "ocrBackup": "Message #",
287
+ "successCount": 1,
288
+ "failCount": 0,
289
+ "lastInteracted": "2026-03-20T07:04:53.411Z",
290
+ "sessionsSinceUse": 5
291
+ },
292
+ {
293
+ "label": "MEE6",
294
+ "relativeX": 0.35846153846153844,
295
+ "relativeY": 0.164,
296
+ "anchor": "top-left",
297
+ "ocrBackup": "MEE6",
298
+ "successCount": 1,
299
+ "failCount": 0,
300
+ "lastInteracted": "2026-03-20T07:05:53.026Z",
301
+ "sessionsSinceUse": 5
302
+ },
303
+ {
304
+ "label": "APP",
305
+ "relativeX": 0.45384615384615384,
306
+ "relativeY": 0.36533333333333334,
307
+ "anchor": "top-left",
308
+ "ocrBackup": "APP",
309
+ "successCount": 1,
310
+ "failCount": 0,
311
+ "lastInteracted": "2026-03-20T07:05:58.884Z",
312
+ "sessionsSinceUse": 5
313
+ },
314
+ {
315
+ "label": "Add App",
316
+ "relativeX": 0.6807692307692308,
317
+ "relativeY": 0.3626666666666667,
318
+ "anchor": "top-left",
319
+ "ocrBackup": "Add App",
320
+ "successCount": 1,
321
+ "failCount": 0,
322
+ "lastInteracted": "2026-03-20T07:06:14.549Z",
323
+ "sessionsSinceUse": 5
324
+ },
325
+ {
326
+ "label": "/imagine",
327
+ "relativeX": 0,
328
+ "relativeY": 0,
329
+ "anchor": "top-left",
330
+ "ocrBackup": "/imagine",
331
+ "successCount": 1,
332
+ "failCount": 0,
333
+ "lastInteracted": "2026-03-20T07:06:20.011Z",
334
+ "sessionsSinceUse": 5
335
+ },
336
+ {
337
+ "label": "Direct Messages",
338
+ "relativeX": 0.1076923076923077,
339
+ "relativeY": 0.3293333333333333,
340
+ "anchor": "top-left",
341
+ "ocrBackup": "Direct Messages",
342
+ "successCount": 1,
343
+ "failCount": 0,
344
+ "lastInteracted": "2026-03-20T07:10:04.608Z",
345
+ "sessionsSinceUse": 4
346
+ },
347
+ {
348
+ "label": "SEARCHING SERVERS",
349
+ "relativeX": 0.31,
350
+ "relativeY": 0.44266666666666665,
351
+ "anchor": "top-left",
352
+ "ocrBackup": "SEARCHING SERVERS",
353
+ "successCount": 1,
354
+ "failCount": 0,
355
+ "lastInteracted": "2026-03-20T07:10:32.076Z",
356
+ "sessionsSinceUse": 4
357
+ },
358
+ {
359
+ "label": "ai-discussions",
360
+ "relativeX": 0.13923076923076924,
361
+ "relativeY": 0.652,
362
+ "anchor": "top-left",
363
+ "ocrBackup": "ai-discussions",
364
+ "successCount": 2,
365
+ "failCount": 0,
366
+ "lastInteracted": "2026-03-20T08:31:30.356Z",
367
+ "sessionsSinceUse": 1
368
+ },
369
+ {
370
+ "label": "safety-n-help",
371
+ "relativeX": 0.11461538461538462,
372
+ "relativeY": 0.8706666666666667,
373
+ "anchor": "top-left",
374
+ "ocrBackup": "safety-n-help",
375
+ "successCount": 1,
376
+ "failCount": 0,
377
+ "lastInteracted": "2026-03-20T07:11:01.108Z",
378
+ "sessionsSinceUse": 4
379
+ },
380
+ {
381
+ "label": "server-rules",
382
+ "relativeX": 0.11153846153846154,
383
+ "relativeY": 0.7786666666666666,
384
+ "anchor": "top-left",
385
+ "ocrBackup": "server-rules",
386
+ "successCount": 1,
387
+ "failCount": 0,
388
+ "lastInteracted": "2026-03-20T07:11:11.615Z",
389
+ "sessionsSinceUse": 4
390
+ },
391
+ {
392
+ "label": "Automod",
393
+ "relativeX": 0.46615384615384614,
394
+ "relativeY": 0.21066666666666667,
395
+ "anchor": "top-left",
396
+ "ocrBackup": "Automod",
397
+ "successCount": 1,
398
+ "failCount": 0,
399
+ "lastInteracted": "2026-03-20T07:11:33.028Z",
400
+ "sessionsSinceUse": 4
401
+ },
402
+ {
403
+ "label": "sora-discussions",
404
+ "relativeX": 0.33615384615384614,
405
+ "relativeY": 0.44533333333333336,
406
+ "anchor": "top-left",
407
+ "ocrBackup": "sora-discussions",
408
+ "successCount": 3,
409
+ "failCount": 0,
410
+ "lastInteracted": "2026-03-20T07:52:47.840Z",
411
+ "sessionsSinceUse": 3
412
+ },
413
+ {
414
+ "label": "Message #sora-discussions",
415
+ "relativeX": 0.4146153846153846,
416
+ "relativeY": 0.9506666666666667,
417
+ "anchor": "top-left",
418
+ "ocrBackup": "Message #sora-discussions",
419
+ "successCount": 2,
420
+ "failCount": 0,
421
+ "lastInteracted": "2026-03-20T07:52:54.141Z",
422
+ "sessionsSinceUse": 3
423
+ },
424
+ {
425
+ "label": "bug-reports",
426
+ "relativeX": 0.12230769230769231,
427
+ "relativeY": 0.6346666666666667,
428
+ "anchor": "top-left",
429
+ "ocrBackup": "bug-reports",
430
+ "successCount": 2,
431
+ "failCount": 0,
432
+ "lastInteracted": "2026-03-20T07:48:36.245Z",
433
+ "sessionsSinceUse": 3
434
+ },
435
+ {
436
+ "label": "OpenAl",
437
+ "relativeX": 0.12230769230769231,
438
+ "relativeY": 0.376,
439
+ "anchor": "top-left",
440
+ "ocrBackup": "OpenAl",
441
+ "successCount": 3,
442
+ "failCount": 0,
443
+ "lastInteracted": "2026-03-20T07:51:34.366Z",
444
+ "sessionsSinceUse": 3
445
+ },
446
+ {
447
+ "label": "Notification Settings",
448
+ "relativeX": 0.14923076923076922,
449
+ "relativeY": 0.43333333333333335,
450
+ "anchor": "top-left",
451
+ "ocrBackup": "Notification Settings",
452
+ "successCount": 2,
453
+ "failCount": 0,
454
+ "lastInteracted": "2026-03-20T08:15:27.326Z",
455
+ "sessionsSinceUse": 2
456
+ },
457
+ {
458
+ "label": "Only @mentions",
459
+ "relativeX": 0.4023076923076923,
460
+ "relativeY": 0.504,
461
+ "anchor": "top-left",
462
+ "ocrBackup": "Only @mentions",
463
+ "successCount": 1,
464
+ "failCount": 0,
465
+ "lastInteracted": "2026-03-20T07:47:18.708Z",
466
+ "sessionsSinceUse": 3
467
+ },
468
+ {
469
+ "label": "Done",
470
+ "relativeX": 0.5007692307692307,
471
+ "relativeY": 0.8653333333333333,
472
+ "anchor": "top-left",
473
+ "ocrBackup": "Done",
474
+ "successCount": 2,
475
+ "failCount": 0,
476
+ "lastInteracted": "2026-03-20T08:15:48.246Z",
477
+ "sessionsSinceUse": 2
478
+ },
479
+ {
480
+ "label": "community-help",
481
+ "relativeX": 0.34,
482
+ "relativeY": 0.6266666666666667,
483
+ "anchor": "top-left",
484
+ "ocrBackup": "community-help",
485
+ "successCount": 1,
486
+ "failCount": 0,
487
+ "lastInteracted": "2026-03-20T07:47:54.168Z",
488
+ "sessionsSinceUse": 3
489
+ },
490
+ {
491
+ "label": "Search OpenAl",
492
+ "relativeX": 0.8453846153846154,
493
+ "relativeY": 0.07866666666666666,
494
+ "anchor": "top-left",
495
+ "ocrBackup": "Search OpenAl",
496
+ "successCount": 1,
497
+ "failCount": 0,
498
+ "lastInteracted": "2026-03-20T07:48:04.525Z",
499
+ "sessionsSinceUse": 3
500
+ },
501
+ {
502
+ "label": "Sora Extend Not Working",
503
+ "relativeX": 0.3930769230769231,
504
+ "relativeY": 0.5306666666666666,
505
+ "anchor": "top-left",
506
+ "ocrBackup": "Sora Extend Not Working",
507
+ "successCount": 1,
508
+ "failCount": 0,
509
+ "lastInteracted": "2026-03-20T07:48:46.592Z",
510
+ "sessionsSinceUse": 3
511
+ },
512
+ {
513
+ "label": "Follow",
514
+ "relativeX": 0.9192307692307692,
515
+ "relativeY": 0.8973333333333333,
516
+ "anchor": "top-left",
517
+ "ocrBackup": "Follow",
518
+ "successCount": 1,
519
+ "failCount": 0,
520
+ "lastInteracted": "2026-03-20T07:48:58.085Z",
521
+ "sessionsSinceUse": 3
522
+ },
523
+ {
524
+ "label": "React to Post",
525
+ "relativeX": 0.7,
526
+ "relativeY": 0.9,
527
+ "anchor": "top-left",
528
+ "ocrBackup": "React to Post",
529
+ "successCount": 1,
530
+ "failCount": 0,
531
+ "lastInteracted": "2026-03-20T07:49:02.238Z",
532
+ "sessionsSinceUse": 3
533
+ },
534
+ {
535
+ "label": "100",
536
+ "relativeX": 0.31,
537
+ "relativeY": 0.9453333333333334,
538
+ "anchor": "top-left",
539
+ "ocrBackup": "100",
540
+ "successCount": 1,
541
+ "failCount": 0,
542
+ "lastInteracted": "2026-03-20T07:49:11.252Z",
543
+ "sessionsSinceUse": 3
544
+ },
545
+ {
546
+ "label": "Asia",
547
+ "relativeX": 0.6915384615384615,
548
+ "relativeY": 0.4866666666666667,
549
+ "anchor": "top-left",
550
+ "ocrBackup": "Asia",
551
+ "successCount": 1,
552
+ "failCount": 0,
553
+ "lastInteracted": "2026-03-20T07:49:40.990Z",
554
+ "sessionsSinceUse": 3
555
+ },
556
+ {
557
+ "label": "He/Him",
558
+ "relativeX": 0.3861538461538462,
559
+ "relativeY": 0.8346666666666667,
560
+ "anchor": "top-left",
561
+ "ocrBackup": "He/Him",
562
+ "successCount": 1,
563
+ "failCount": 0,
564
+ "lastInteracted": "2026-03-20T07:49:44.396Z",
565
+ "sessionsSinceUse": 3
566
+ },
567
+ {
568
+ "label": "I work in the Al industry",
569
+ "relativeX": 0.7430769230769231,
570
+ "relativeY": 0.24666666666666667,
571
+ "anchor": "top-left",
572
+ "ocrBackup": "I work in the Al industry",
573
+ "successCount": 1,
574
+ "failCount": 0,
575
+ "lastInteracted": "2026-03-20T07:49:57.986Z",
576
+ "sessionsSinceUse": 3
577
+ },
578
+ {
579
+ "label": "Server events",
580
+ "relativeX": 0.7169230769230769,
581
+ "relativeY": 0.6013333333333334,
582
+ "anchor": "top-left",
583
+ "ocrBackup": "Server events",
584
+ "successCount": 1,
585
+ "failCount": 0,
586
+ "lastInteracted": "2026-03-20T07:50:02.402Z",
587
+ "sessionsSinceUse": 3
588
+ },
589
+ {
590
+ "label": "All OpenAl announcements",
591
+ "relativeX": 0.4376923076923077,
592
+ "relativeY": 0.6013333333333334,
593
+ "anchor": "top-left",
594
+ "ocrBackup": "All OpenAl announcements",
595
+ "successCount": 1,
596
+ "failCount": 0,
597
+ "lastInteracted": "2026-03-20T07:50:06.033Z",
598
+ "sessionsSinceUse": 3
599
+ },
600
+ {
601
+ "label": "Browse Channels",
602
+ "relativeX": 0.44461538461538463,
603
+ "relativeY": 0.18533333333333332,
604
+ "anchor": "top-left",
605
+ "ocrBackup": "Browse Channels",
606
+ "successCount": 3,
607
+ "failCount": 0,
608
+ "lastInteracted": "2026-03-20T08:28:56.789Z",
609
+ "sessionsSinceUse": 1
610
+ },
611
+ {
612
+ "label": "Quests",
613
+ "relativeX": 0.1123076923076923,
614
+ "relativeY": 0.25466666666666665,
615
+ "anchor": "top-left",
616
+ "ocrBackup": "Quests",
617
+ "successCount": 1,
618
+ "failCount": 0,
619
+ "lastInteracted": "2026-03-20T07:51:16.186Z",
620
+ "sessionsSinceUse": 3
621
+ },
622
+ {
623
+ "label": "Shop",
624
+ "relativeX": 0.10615384615384615,
625
+ "relativeY": 0.20266666666666666,
626
+ "anchor": "top-left",
627
+ "ocrBackup": "Shop",
628
+ "successCount": 1,
629
+ "failCount": 0,
630
+ "lastInteracted": "2026-03-20T07:51:20.285Z",
631
+ "sessionsSinceUse": 3
632
+ },
633
+ {
634
+ "label": "Message #introductions",
635
+ "relativeX": 0.40615384615384614,
636
+ "relativeY": 0.9506666666666667,
637
+ "anchor": "top-left",
638
+ "ocrBackup": "Message #introductions",
639
+ "successCount": 1,
640
+ "failCount": 0,
641
+ "lastInteracted": "2026-03-20T07:53:39.141Z",
642
+ "sessionsSinceUse": 3
643
+ },
644
+ {
645
+ "label": "Customize",
646
+ "relativeX": 0.34923076923076923,
647
+ "relativeY": 0.18666666666666668,
648
+ "anchor": "top-left",
649
+ "ocrBackup": "Customize",
650
+ "successCount": 2,
651
+ "failCount": 0,
652
+ "lastInteracted": "2026-03-20T08:29:06.596Z",
653
+ "sessionsSinceUse": 1
654
+ },
655
+ {
656
+ "label": "OpenAl v",
657
+ "relativeX": 0.14615384615384616,
658
+ "relativeY": 0.112,
659
+ "anchor": "top-left",
660
+ "ocrBackup": "OpenAl v",
661
+ "successCount": 5,
662
+ "failCount": 0,
663
+ "lastInteracted": "2026-03-20T08:31:00.094Z",
664
+ "sessionsSinceUse": 1
665
+ },
666
+ {
667
+ "label": "Suppress @everyone and @here",
668
+ "relativeX": 0.4207692307692308,
669
+ "relativeY": 0.6506666666666666,
670
+ "anchor": "top-left",
671
+ "ocrBackup": "Suppress @everyone and @here",
672
+ "successCount": 1,
673
+ "failCount": 0,
674
+ "lastInteracted": "2026-03-20T08:15:37.570Z",
675
+ "sessionsSinceUse": 2
676
+ },
677
+ {
678
+ "label": "Suppress All Role @mentions",
679
+ "relativeX": 0.41307692307692306,
680
+ "relativeY": 0.7293333333333333,
681
+ "anchor": "top-left",
682
+ "ocrBackup": "Suppress All Role @mentions",
683
+ "successCount": 1,
684
+ "failCount": 0,
685
+ "lastInteracted": "2026-03-20T08:15:42.448Z",
686
+ "sessionsSinceUse": 2
687
+ },
688
+ {
689
+ "label": "App Directory",
690
+ "relativeX": 0.13384615384615384,
691
+ "relativeY": 0.31466666666666665,
692
+ "anchor": "top-left",
693
+ "ocrBackup": "App Directory",
694
+ "successCount": 1,
695
+ "failCount": 0,
696
+ "lastInteracted": "2026-03-20T08:15:58.917Z",
697
+ "sessionsSinceUse": 2
698
+ },
699
+ {
700
+ "label": "Moderation and Tools",
701
+ "relativeX": 0.5853846153846154,
702
+ "relativeY": 0.07866666666666666,
703
+ "anchor": "top-left",
704
+ "ocrBackup": "Moderation and Tools",
705
+ "successCount": 1,
706
+ "failCount": 0,
707
+ "lastInteracted": "2026-03-20T08:16:08.272Z",
708
+ "sessionsSinceUse": 2
709
+ },
710
+ {
711
+ "label": "carl-bot",
712
+ "relativeX": 0.5723076923076923,
713
+ "relativeY": 0.7933333333333333,
714
+ "anchor": "top-left",
715
+ "ocrBackup": "carl-bot",
716
+ "successCount": 1,
717
+ "failCount": 0,
718
+ "lastInteracted": "2026-03-20T08:16:18.088Z",
719
+ "sessionsSinceUse": 2
720
+ },
721
+ {
722
+ "label": "Discover",
723
+ "relativeX": 0.5092307692307693,
724
+ "relativeY": 0.05333333333333334,
725
+ "anchor": "top-left",
726
+ "ocrBackup": "Discover",
727
+ "successCount": 1,
728
+ "failCount": 0,
729
+ "lastInteracted": "2026-03-20T08:25:10.120Z",
730
+ "sessionsSinceUse": 1
731
+ },
732
+ {
733
+ "label": "DJS",
734
+ "relativeX": 0.052307692307692305,
735
+ "relativeY": 0.3453333333333333,
736
+ "anchor": "top-left",
737
+ "ocrBackup": "DJS",
738
+ "successCount": 1,
739
+ "failCount": 0,
740
+ "lastInteracted": "2026-03-20T08:25:20.399Z",
741
+ "sessionsSinceUse": 1
742
+ },
743
+ {
744
+ "label": "Servers",
745
+ "relativeX": 0.13615384615384615,
746
+ "relativeY": 0.232,
747
+ "anchor": "top-left",
748
+ "ocrBackup": "Servers",
749
+ "successCount": 1,
750
+ "failCount": 0,
751
+ "lastInteracted": "2026-03-20T08:27:42.037Z",
752
+ "sessionsSinceUse": 1
753
+ },
754
+ {
755
+ "label": "introductions",
756
+ "relativeX": 0.34615384615384615,
757
+ "relativeY": 0.432,
758
+ "anchor": "top-left",
759
+ "ocrBackup": "introductions",
760
+ "successCount": 1,
761
+ "failCount": 0,
762
+ "lastInteracted": "2026-03-20T08:28:34.340Z",
763
+ "sessionsSinceUse": 1
764
+ },
765
+ {
766
+ "label": "openai-chatter",
767
+ "relativeX": 0.1423076923076923,
768
+ "relativeY": 0.6133333333333333,
769
+ "anchor": "top-left",
770
+ "ocrBackup": "openai-chatter",
771
+ "successCount": 2,
772
+ "failCount": 0,
773
+ "lastInteracted": "2026-03-20T08:29:38.479Z",
774
+ "sessionsSinceUse": 1
775
+ },
776
+ {
777
+ "label": "Message #openai-chatter",
778
+ "relativeX": 0.41846153846153844,
779
+ "relativeY": 0.8733333333333333,
780
+ "anchor": "top-left",
781
+ "ocrBackup": "Message #openai-chatter",
782
+ "successCount": 1,
783
+ "failCount": 0,
784
+ "lastInteracted": "2026-03-20T08:30:23.042Z",
785
+ "sessionsSinceUse": 1
786
+ },
787
+ {
788
+ "label": "OpenAl ^",
789
+ "relativeX": 0,
790
+ "relativeY": 0,
791
+ "anchor": "top-left",
792
+ "ocrBackup": "OpenAl ^",
793
+ "successCount": 1,
794
+ "failCount": 0,
795
+ "lastInteracted": "2026-03-20T08:30:53.927Z",
796
+ "sessionsSinceUse": 1
797
+ },
798
+ {
799
+ "label": "OpenAl y",
800
+ "relativeX": 0.14615384615384616,
801
+ "relativeY": 0.112,
802
+ "anchor": "top-left",
803
+ "ocrBackup": "OpenAl y",
804
+ "successCount": 1,
805
+ "failCount": 0,
806
+ "lastInteracted": "2026-03-20T08:31:05.276Z",
807
+ "sessionsSinceUse": 1
808
+ }
809
+ ],
810
+ "verified": false,
811
+ "lastSeen": "2026-03-20T02:22:36.236Z"
812
+ }
813
+ },
814
+ "navigationGraph": {
815
+ "nodes": {
816
+ "Discord": {
817
+ "type": "window",
818
+ "description": "Discord"
819
+ },
820
+ "Apps": {
821
+ "type": "window",
822
+ "description": "Apps"
823
+ }
824
+ },
825
+ "edges": [
826
+ {
827
+ "from": "Discord",
828
+ "action": "key",
829
+ "to": "Apps",
830
+ "verified": false,
831
+ "successCount": 1,
832
+ "failCount": 0,
833
+ "lastUsed": "2026-03-20T08:25:28.756Z"
834
+ }
835
+ ]
836
+ },
837
+ "masteryHistory": [
838
+ {
839
+ "date": "2026-03-20",
840
+ "level": "beginner",
841
+ "confidence": 0,
842
+ "zonesKnown": 0,
843
+ "edgesVerified": 0
844
+ }
845
+ ],
846
+ "totalTasksCompleted": 10,
847
+ "sessionCount": 8,
848
+ "featureLadder": [
849
+ {
850
+ "id": "browse_channels",
851
+ "description": "Join servers and browse channels",
852
+ "level": "beginner",
853
+ "weight": 1,
854
+ "critical": false
855
+ },
856
+ {
857
+ "id": "send_message",
858
+ "description": "Send messages, replies, emojis, and reactions",
859
+ "level": "beginner",
860
+ "weight": 1,
861
+ "critical": false
862
+ },
863
+ {
864
+ "id": "direct_messages",
865
+ "description": "Direct messages and group chats",
866
+ "level": "beginner",
867
+ "weight": 1,
868
+ "critical": false
869
+ },
870
+ {
871
+ "id": "voice_video",
872
+ "description": "Voice channels, video calls, and screen share",
873
+ "level": "beginner",
874
+ "weight": 1,
875
+ "critical": false
876
+ },
877
+ {
878
+ "id": "threads_forums",
879
+ "description": "Threads and forum channels",
880
+ "level": "pro",
881
+ "weight": 2,
882
+ "critical": false
883
+ },
884
+ {
885
+ "id": "roles_permissions",
886
+ "description": "Configure roles, overrides, inheritance, hidden channels",
887
+ "level": "pro",
888
+ "weight": 2,
889
+ "critical": true
890
+ },
891
+ {
892
+ "id": "events_stage",
893
+ "description": "Events and Stage channels",
894
+ "level": "pro",
895
+ "weight": 2,
896
+ "critical": false
897
+ },
898
+ {
899
+ "id": "onboarding_funnel",
900
+ "description": "Build join flows: rules screening, role assignment, starter channels",
901
+ "level": "pro",
902
+ "weight": 2,
903
+ "critical": true
904
+ },
905
+ {
906
+ "id": "notification_control",
907
+ "description": "Channel overrides, mention control, suppression settings",
908
+ "level": "pro",
909
+ "weight": 1,
910
+ "critical": false
911
+ },
912
+ {
913
+ "id": "moderation_system",
914
+ "description": "Configure AutoMod, mod bots, alert flows, ban appeals, raid defense",
915
+ "level": "expert",
916
+ "weight": 3,
917
+ "critical": true
918
+ },
919
+ {
920
+ "id": "bot_ecosystem",
921
+ "description": "Combine bots, slash commands, webhooks into coherent server OS",
922
+ "level": "expert",
923
+ "weight": 3,
924
+ "critical": true
925
+ },
926
+ {
927
+ "id": "server_architecture",
928
+ "description": "Design categories, channel taxonomy, permissions, escalation paths",
929
+ "level": "expert",
930
+ "weight": 3,
931
+ "critical": true
932
+ },
933
+ {
934
+ "id": "community_growth",
935
+ "description": "Events, role rewards, content loops, announcements, retention mechanics",
936
+ "level": "expert",
937
+ "weight": 2,
938
+ "critical": false
939
+ },
940
+ {
941
+ "id": "analytics_health",
942
+ "description": "Track activity patterns, onboarding drop-off, channel usage, retention",
943
+ "level": "expert",
944
+ "weight": 2,
945
+ "critical": true
946
+ },
947
+ {
948
+ "id": "monetization_membership",
949
+ "description": "Premium roles, gated channels, supporter tiers, creator monetization",
950
+ "level": "grandmaster",
951
+ "weight": 2,
952
+ "critical": false
953
+ },
954
+ {
955
+ "id": "crisis_handling",
956
+ "description": "Handle raids, harassment, spam, leaks, impersonation, conflicts",
957
+ "level": "grandmaster",
958
+ "weight": 3,
959
+ "critical": true
960
+ },
961
+ {
962
+ "id": "cross_platform",
963
+ "description": "Connect Discord with GitHub, Notion, Twitch, Stripe, Zapier, tools",
964
+ "level": "grandmaster",
965
+ "weight": 2,
966
+ "critical": false
967
+ },
968
+ {
969
+ "id": "staff_system",
970
+ "description": "Structure mod roles, escalation, internal channels, review processes",
971
+ "level": "grandmaster",
972
+ "weight": 3,
973
+ "critical": true
974
+ },
975
+ {
976
+ "id": "brand_culture",
977
+ "description": "Shape tone, rituals, norms, recognition systems, community identity",
978
+ "level": "grandmaster",
979
+ "weight": 2,
980
+ "critical": false
981
+ },
982
+ {
983
+ "id": "governance_policy",
984
+ "description": "Define rules, enforcement, appeals, social boundaries that hold up",
985
+ "level": "grandmaster",
986
+ "weight": 3,
987
+ "critical": true
988
+ }
989
+ ],
990
+ "completedFeatures": [],
991
+ "actionSuccessCount": 89,
992
+ "actionFailCount": 0,
993
+ "featureMastery": {
994
+ "voice_video": {
995
+ "depth": 2,
996
+ "confidence": 0.56,
997
+ "repeatCount": 2,
998
+ "workflowCount": 0,
999
+ "healingCount": 0,
1000
+ "failCount": 0,
1001
+ "lastSeen": "2026-03-20T07:52:20.334Z",
1002
+ "lastVerified": null
1003
+ },
1004
+ "browse_channels": {
1005
+ "depth": 4,
1006
+ "confidence": 1,
1007
+ "repeatCount": 61,
1008
+ "workflowCount": 56,
1009
+ "healingCount": 0,
1010
+ "failCount": 0,
1011
+ "lastSeen": "2026-03-20T08:30:11.323Z",
1012
+ "lastVerified": "2026-03-20T08:30:03.816Z"
1013
+ },
1014
+ "events_stage": {
1015
+ "depth": 2,
1016
+ "confidence": 0.56,
1017
+ "repeatCount": 2,
1018
+ "workflowCount": 0,
1019
+ "healingCount": 0,
1020
+ "failCount": 0,
1021
+ "lastSeen": "2026-03-20T07:50:02.402Z",
1022
+ "lastVerified": null
1023
+ },
1024
+ "send_message": {
1025
+ "depth": 4,
1026
+ "confidence": 1,
1027
+ "repeatCount": 31,
1028
+ "workflowCount": 27,
1029
+ "healingCount": 0,
1030
+ "failCount": 0,
1031
+ "lastSeen": "2026-03-20T08:32:24.496Z",
1032
+ "lastVerified": "2026-03-20T08:32:16.941Z"
1033
+ },
1034
+ "direct_messages": {
1035
+ "depth": 2,
1036
+ "confidence": 0.59,
1037
+ "repeatCount": 3,
1038
+ "workflowCount": 0,
1039
+ "healingCount": 0,
1040
+ "failCount": 0,
1041
+ "lastSeen": "2026-03-20T07:51:16.186Z",
1042
+ "lastVerified": null
1043
+ },
1044
+ "threads_forums": {
1045
+ "depth": 4,
1046
+ "confidence": 1,
1047
+ "repeatCount": 29,
1048
+ "workflowCount": 26,
1049
+ "healingCount": 0,
1050
+ "failCount": 0,
1051
+ "lastSeen": "2026-03-20T08:31:30.356Z",
1052
+ "lastVerified": "2026-03-20T07:50:59.849Z"
1053
+ },
1054
+ "roles_permissions": {
1055
+ "depth": 4,
1056
+ "confidence": 1,
1057
+ "repeatCount": 34,
1058
+ "workflowCount": 31,
1059
+ "healingCount": 0,
1060
+ "failCount": 0,
1061
+ "lastSeen": "2026-03-20T08:30:11.323Z",
1062
+ "lastVerified": "2026-03-20T08:30:03.816Z"
1063
+ },
1064
+ "community_growth": {
1065
+ "depth": 1,
1066
+ "confidence": 0.3,
1067
+ "repeatCount": 1,
1068
+ "workflowCount": 0,
1069
+ "healingCount": 0,
1070
+ "failCount": 0,
1071
+ "lastSeen": "2026-03-20T07:14:13.251Z",
1072
+ "lastVerified": null
1073
+ },
1074
+ "moderation_system": {
1075
+ "depth": 2,
1076
+ "confidence": 0.59,
1077
+ "repeatCount": 3,
1078
+ "workflowCount": 0,
1079
+ "healingCount": 0,
1080
+ "failCount": 0,
1081
+ "lastSeen": "2026-03-20T08:16:56.665Z",
1082
+ "lastVerified": null
1083
+ },
1084
+ "bot_ecosystem": {
1085
+ "depth": 2,
1086
+ "confidence": 0.59,
1087
+ "repeatCount": 3,
1088
+ "workflowCount": 0,
1089
+ "healingCount": 0,
1090
+ "failCount": 0,
1091
+ "lastSeen": "2026-03-20T08:16:18.088Z",
1092
+ "lastVerified": null
1093
+ },
1094
+ "server_architecture": {
1095
+ "depth": 4,
1096
+ "confidence": 1,
1097
+ "repeatCount": 33,
1098
+ "workflowCount": 30,
1099
+ "healingCount": 0,
1100
+ "failCount": 0,
1101
+ "lastSeen": "2026-03-20T08:30:11.323Z",
1102
+ "lastVerified": "2026-03-20T08:30:03.816Z"
1103
+ },
1104
+ "notification_control": {
1105
+ "depth": 2,
1106
+ "confidence": 0.59,
1107
+ "repeatCount": 3,
1108
+ "workflowCount": 0,
1109
+ "healingCount": 0,
1110
+ "failCount": 0,
1111
+ "lastSeen": "2026-03-20T08:15:42.448Z",
1112
+ "lastVerified": null
1113
+ },
1114
+ "governance_policy": {
1115
+ "depth": 2,
1116
+ "confidence": 0.53,
1117
+ "repeatCount": 1,
1118
+ "workflowCount": 0,
1119
+ "healingCount": 0,
1120
+ "failCount": 0,
1121
+ "lastSeen": "2026-03-20T08:16:56.666Z",
1122
+ "lastVerified": null
1123
+ },
1124
+ "onboarding_funnel": {
1125
+ "depth": 4,
1126
+ "confidence": 1,
1127
+ "repeatCount": 17,
1128
+ "workflowCount": 14,
1129
+ "healingCount": 0,
1130
+ "failCount": 0,
1131
+ "lastSeen": "2026-03-20T08:30:11.323Z",
1132
+ "lastVerified": "2026-03-20T08:30:03.816Z"
1133
+ }
1134
+ },
1135
+ "masteryMetrics": {
1136
+ "breadth": 0.6097560975609756,
1137
+ "workflowBreadth": 0.2682926829268293,
1138
+ "outcomeBreadth": 0.2682926829268293,
1139
+ "reliability": 1,
1140
+ "healingRate": 0,
1141
+ "crossFeatureWorkflows": 5,
1142
+ "criticalFloor": 0,
1143
+ "weightedScore": 15.145
1144
+ },
1145
+ "crossFeatureWorkflows": 5
1146
+ }