@bitcobblers/wod-wiki-tools 0.53.2204 → 0.55.2206

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 (647) hide show
  1. package/dist/agentCommands-O6WPIGLW.mjs +586 -0
  2. package/dist/agentCommands-O6WPIGLW.mjs.map +1 -0
  3. package/dist/bin/wod.cjs +1071 -29
  4. package/dist/bin/wod.cjs.map +1 -1
  5. package/dist/bin/wod.mjs +2 -2
  6. package/dist/chunk-67JAEWEF.mjs +144 -0
  7. package/dist/chunk-67JAEWEF.mjs.map +1 -0
  8. package/dist/{chunk-SLCRIGUR.mjs → chunk-76CB4MGO.mjs} +168 -28
  9. package/dist/chunk-76CB4MGO.mjs.map +1 -0
  10. package/dist/{chunk-2EWCEE6N.mjs → chunk-FNEN33GQ.mjs} +106 -6
  11. package/dist/chunk-FNEN33GQ.mjs.map +1 -0
  12. package/dist/{chunk-LNBKPHEP.mjs → chunk-RVQB3DYE.mjs} +9 -4
  13. package/dist/chunk-RVQB3DYE.mjs.map +1 -0
  14. package/dist/{chunk-5NNSHRMZ.mjs → chunk-WKU3MRQI.mjs} +3 -3
  15. package/dist/chunk-WKU3MRQI.mjs.map +1 -0
  16. package/dist/index.cjs +1075 -29
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +68 -3
  19. package/dist/index.d.ts +68 -3
  20. package/dist/index.mjs +5 -4
  21. package/dist/mcp-XCK6B5JA.mjs +73 -0
  22. package/dist/mcp-XCK6B5JA.mjs.map +1 -0
  23. package/dist/{scaffoldFeed-TCRNXYQU.mjs → scaffoldFeed-MC4UX4CO.mjs} +3 -3
  24. package/dist/{scaffoldFeed-TCRNXYQU.mjs.map → scaffoldFeed-MC4UX4CO.mjs.map} +1 -1
  25. package/dist/server/app.cjs +239 -2
  26. package/dist/server/app.cjs.map +1 -1
  27. package/dist/server/app.d.cts +2 -0
  28. package/dist/server/app.d.ts +2 -0
  29. package/dist/server/app.mjs +3 -1
  30. package/dist/server-HQJMA7BU.mjs +13 -0
  31. package/dist/{server-SHNWCIIM.mjs.map → server-HQJMA7BU.mjs.map} +1 -1
  32. package/dist/skills/README.md +3 -0
  33. package/dist/skills/wod-agent-parity/SKILL.md +41 -0
  34. package/dist/skills/wod-cli/SKILL.md +127 -0
  35. package/dist/skills/wod-wql/SKILL.md +63 -0
  36. package/dist/web/playground/ai-skills/agent-parity.md +41 -0
  37. package/dist/web/playground/ai-skills/cli.md +127 -0
  38. package/dist/web/playground/ai-skills/wql.md +63 -0
  39. package/dist/web/{server/assets/feedSync.worker-O4TGLEj3.js → playground/assets/feedSync.worker-CJyLPLAX.js} +2 -2
  40. package/dist/web/playground/assets/main-CmNfdWYO.js +1160 -0
  41. package/dist/web/playground/assets/main-DedlsEjf.css +2 -0
  42. package/dist/web/playground/assets/{statementBuilderFlow-CQWO7k9W.js → statementBuilderFlow-CtEe1EOX.js} +2 -2
  43. package/dist/web/playground/assets/vendor-BUlwHBNF.js +255 -0
  44. package/dist/web/{server/assets/vendor-codemirror-B4BeZarI.js → playground/assets/vendor-codemirror-Bh6hyz5v.js} +11 -11
  45. package/dist/web/playground/index.html +4 -4
  46. package/dist/web/playground/llms-full.txt +1444 -0
  47. package/dist/web/playground/llms.txt +67 -0
  48. package/dist/web/{server/seed/core/chunks/canvas.deac64e3.json → playground/seed/core/chunks/canvas.6cf875a1.json} +1 -1
  49. package/dist/web/playground/seed/core/chunks/{dashboards.08301ab4.json → dashboards.277192c5.json} +1 -1
  50. package/dist/web/playground/seed/core/chunks/{efforts.47f650fe.json → efforts.b943edc6.json} +1 -1
  51. package/dist/web/playground/seed/core/chunks/{equipment.79146d31.json → equipment.3cc3e02c.json} +1 -1
  52. package/dist/web/playground/seed/core/indexes/notebooks/canvas.json +180 -180
  53. package/dist/web/playground/seed/core/indexes/notebooks/dashboards.json +16 -16
  54. package/dist/web/playground/seed/core/indexes/notebooks/efforts.json +326 -326
  55. package/dist/web/playground/seed/core/indexes/notebooks/equipment.json +50 -50
  56. package/dist/web/playground/seed/core/manifest.json +27 -27
  57. package/dist/web/playground/seed/core/markdown/canvas/ai-first/README.json +1 -1
  58. package/dist/web/playground/seed/core/markdown/canvas/guide/README.json +4 -4
  59. package/dist/web/playground/seed/core/markdown/canvas/guide/clock.json +1 -1
  60. package/dist/web/playground/seed/core/markdown/canvas/guide/dashboards.json +1 -1
  61. package/dist/web/playground/seed/core/markdown/canvas/guide/metrics-summaries.json +2 -2
  62. package/dist/web/playground/seed/core/markdown/canvas/guide/metrics.json +12 -12
  63. package/dist/web/playground/seed/core/markdown/canvas/guide/protocols.json +20 -20
  64. package/dist/web/playground/seed/core/markdown/canvas/guide/sessions.json +33 -33
  65. package/dist/web/playground/seed/core/markdown/canvas/guide/start.json +11 -11
  66. package/dist/web/playground/seed/core/markdown/canvas/guide/structure.json +25 -25
  67. package/dist/web/playground/seed/core/markdown/canvas/guide/wql.json +5 -5
  68. package/dist/web/playground/seed/core/markdown/canvas/home/sample-script.json +4 -4
  69. package/dist/web/playground/seed/core/markdown/canvas/home/welcome-1.json +2 -2
  70. package/dist/web/playground/seed/core/markdown/canvas/syntax/actions-comments.json +4 -4
  71. package/dist/web/playground/seed/core/markdown/canvas/syntax/alternating-emom.json +5 -5
  72. package/dist/web/playground/seed/core/markdown/canvas/syntax/basic-emom.json +4 -4
  73. package/dist/web/playground/seed/core/markdown/canvas/syntax/calculated-metrics.json +4 -4
  74. package/dist/web/playground/seed/core/markdown/canvas/syntax/classic-amrap.json +6 -6
  75. package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-barbell-cycling.json +4 -4
  76. package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-full-session.json +10 -10
  77. package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-nested-protocols.json +7 -7
  78. package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-partner-workout.json +7 -7
  79. package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-swimming.json +5 -5
  80. package/dist/web/playground/seed/core/markdown/canvas/syntax/core-rules.json +4 -4
  81. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-and-calculated-metrics.json +4 -4
  82. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-intervals.json +4 -4
  83. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-1.json +4 -4
  84. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-2.json +5 -5
  85. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-3.json +3 -3
  86. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-4.json +4 -4
  87. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-5.json +4 -4
  88. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-climb-bouldering.json +2 -2
  89. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-climb-hangboard.json +2 -2
  90. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-climb-sport.json +2 -2
  91. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-log.json +4 -4
  92. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-plan.json +8 -8
  93. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-wod.json +5 -5
  94. package/dist/web/playground/seed/core/markdown/canvas/syntax/distance-intervals.json +3 -3
  95. package/dist/web/playground/seed/core/markdown/canvas/syntax/document-1.json +4 -4
  96. package/dist/web/playground/seed/core/markdown/canvas/syntax/document-2.json +5 -5
  97. package/dist/web/playground/seed/core/markdown/canvas/syntax/document-3.json +10 -10
  98. package/dist/web/playground/seed/core/markdown/canvas/syntax/document-4.json +5 -5
  99. package/dist/web/playground/seed/core/markdown/canvas/syntax/effort-notes.json +5 -5
  100. package/dist/web/playground/seed/core/markdown/canvas/syntax/frontmatter-summaries.json +4 -4
  101. package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-1.json +5 -5
  102. package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-2.json +6 -6
  103. package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-3.json +3 -3
  104. package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-4.json +3 -3
  105. package/dist/web/playground/seed/core/markdown/canvas/syntax/longer-duration.json +4 -4
  106. package/dist/web/playground/seed/core/markdown/canvas/syntax/longer-intervals.json +4 -4
  107. package/dist/web/playground/seed/core/markdown/canvas/syntax/measurements.json +7 -7
  108. package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-1.json +5 -5
  109. package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-2.json +7 -7
  110. package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-3.json +8 -8
  111. package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-4.json +6 -6
  112. package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-5.json +5 -5
  113. package/dist/web/playground/seed/core/markdown/canvas/syntax/mixed-sections.json +10 -10
  114. package/dist/web/playground/seed/core/markdown/canvas/syntax/mixed-timers.json +5 -5
  115. package/dist/web/playground/seed/core/markdown/canvas/syntax/multiple-amrap-windows.json +7 -7
  116. package/dist/web/playground/seed/core/markdown/canvas/syntax/multiple-sets.json +4 -4
  117. package/dist/web/playground/seed/core/markdown/canvas/syntax/named-groups.json +6 -6
  118. package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-1.json +6 -6
  119. package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-2.json +4 -4
  120. package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-3.json +6 -6
  121. package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-4.json +3 -3
  122. package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-5.json +4 -4
  123. package/dist/web/playground/seed/core/markdown/canvas/syntax/single-movement.json +3 -3
  124. package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-1.json +4 -4
  125. package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-2.json +5 -5
  126. package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-3.json +4 -4
  127. package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-4.json +4 -4
  128. package/dist/web/playground/seed/core/markdown/canvas/syntax/time-cap.json +6 -6
  129. package/dist/web/playground/seed/core/markdown/canvas/syntax/timer-modifiers.json +6 -6
  130. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-1.json +6 -6
  131. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-2.json +4 -4
  132. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-3.json +4 -4
  133. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-4.json +4 -4
  134. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-5.json +5 -5
  135. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-rest.json +4 -4
  136. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/aggregate-by-effort.json +2 -2
  137. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/aggregate-by-week.json +2 -2
  138. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/content-fran.json +2 -2
  139. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/filter-combos.json +2 -2
  140. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/pipes-limit.json +2 -2
  141. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/session-rpe.json +2 -2
  142. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/source-journal.json +2 -2
  143. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/tis-trend.json +2 -2
  144. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/where-join.json +2 -2
  145. package/dist/web/playground/seed/core/markdown/dashboards/benchmark-pr-board.json +6 -6
  146. package/dist/web/playground/seed/core/markdown/dashboards/finger-strength-v8.json +5 -5
  147. package/dist/web/playground/seed/core/markdown/dashboards/polarized-base-marathon.json +9 -9
  148. package/dist/web/playground/seed/core/markdown/dashboards/recovery-readiness.json +7 -7
  149. package/dist/web/playground/seed/core/markdown/dashboards/road-to-560-total.json +9 -9
  150. package/dist/web/playground/seed/core/markdown/dashboards/training-block-review.json +11 -11
  151. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/air-squat.json +1 -1
  152. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/box-jump.json +1 -1
  153. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/broad-jump.json +1 -1
  154. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/burpee-box-jump-over.json +1 -1
  155. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/burpee-over-dumbbell.json +1 -1
  156. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/burpee.json +1 -1
  157. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/dumbbell-squat-clean.json +1 -1
  158. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/ghd-sit-up.json +1 -1
  159. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/ground-kong.json +1 -1
  160. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/jumping-jack.json +1 -1
  161. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/kong-walk.json +1 -1
  162. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/lunge.json +1 -1
  163. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/overhead-squat.json +1 -1
  164. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/parkour-roll.json +1 -1
  165. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/parkour-squat.json +1 -1
  166. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/pistol-squat.json +1 -1
  167. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/plank.json +1 -1
  168. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/precision-burpee.json +1 -1
  169. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/precision-jump.json +1 -1
  170. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/quadrupedal-movement.json +1 -1
  171. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/russian-twist.json +1 -1
  172. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/sit-up.json +1 -1
  173. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/squat-clean.json +1 -1
  174. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/squat-hold.json +1 -1
  175. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/squat-snatch.json +1 -1
  176. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/tuck-jump.json +1 -1
  177. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/wall-ball.json +1 -1
  178. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/wall-burpee.json +1 -1
  179. package/dist/web/playground/seed/core/markdown/efforts/cycling/assault-bike.json +1 -1
  180. package/dist/web/playground/seed/core/markdown/efforts/cycling/cycling-moderate.json +1 -1
  181. package/dist/web/playground/seed/core/markdown/efforts/cycling/cycling-vigorous.json +1 -1
  182. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/assisted-pull-up.json +1 -1
  183. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/burpee-pull-up.json +1 -1
  184. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/chest-to-bar-pull-up.json +1 -1
  185. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/dip.json +1 -1
  186. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/double-under.json +1 -1
  187. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/handstand-hold.json +1 -1
  188. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/handstand-push-up.json +1 -1
  189. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/handstand-walk.json +1 -1
  190. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/jump-rope.json +1 -1
  191. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/jumping-pull-up.json +1 -1
  192. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/jumping-push-up.json +1 -1
  193. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/l-sit-pull-up.json +1 -1
  194. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/muscle-up.json +1 -1
  195. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/pull-up.json +1 -1
  196. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/push-up.json +1 -1
  197. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/reverse-wall-dip.json +1 -1
  198. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/rope-climb.json +1 -1
  199. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/toes-to-bar.json +1 -1
  200. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-arm-bar.json +1 -1
  201. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-around-the-world.json +1 -1
  202. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-bent-over-row.json +1 -1
  203. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-jerk.json +1 -1
  204. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-press.json +1 -1
  205. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-clean.json +1 -1
  206. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-deadlift.json +1 -1
  207. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-floor-press.json +1 -1
  208. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-front-squat.json +1 -1
  209. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-goblet-squat.json +1 -1
  210. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-gorilla-row.json +1 -1
  211. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-halo.json +1 -1
  212. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-jerk.json +1 -1
  213. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-overhead-squat.json +1 -1
  214. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-press.json +1 -1
  215. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-snatch.json +1 -1
  216. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-swing.json +1 -1
  217. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-windmill.json +1 -1
  218. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/turkish-get-up.json +1 -1
  219. package/dist/web/playground/seed/core/markdown/efforts/recovery/rest.json +1 -1
  220. package/dist/web/playground/seed/core/markdown/efforts/recovery/stretching.json +1 -1
  221. package/dist/web/playground/seed/core/markdown/efforts/rowing/rowing-sprint.json +1 -1
  222. package/dist/web/playground/seed/core/markdown/efforts/rowing/rowing.json +1 -1
  223. package/dist/web/playground/seed/core/markdown/efforts/rowing/ski-erg.json +1 -1
  224. package/dist/web/playground/seed/core/markdown/efforts/running/backward-running.json +1 -1
  225. package/dist/web/playground/seed/core/markdown/efforts/running/running-6-mph.json +1 -1
  226. package/dist/web/playground/seed/core/markdown/efforts/running/running-8-mph.json +1 -1
  227. package/dist/web/playground/seed/core/markdown/efforts/running/running-sprint.json +1 -1
  228. package/dist/web/playground/seed/core/markdown/efforts/snatch.json +2 -2
  229. package/dist/web/playground/seed/core/markdown/efforts/strength/back-squat.json +1 -1
  230. package/dist/web/playground/seed/core/markdown/efforts/strength/bench-press.json +1 -1
  231. package/dist/web/playground/seed/core/markdown/efforts/strength/box-step-up.json +1 -1
  232. package/dist/web/playground/seed/core/markdown/efforts/strength/carioca.json +1 -1
  233. package/dist/web/playground/seed/core/markdown/efforts/strength/clean-and-jerk.json +1 -1
  234. package/dist/web/playground/seed/core/markdown/efforts/strength/cluster.json +1 -1
  235. package/dist/web/playground/seed/core/markdown/efforts/strength/dead-hang.json +1 -1
  236. package/dist/web/playground/seed/core/markdown/efforts/strength/deadlift.json +1 -1
  237. package/dist/web/playground/seed/core/markdown/efforts/strength/devils-press.json +1 -1
  238. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-box-step-up.json +1 -1
  239. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-clean.json +1 -1
  240. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-fly.json +1 -1
  241. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-row.json +1 -1
  242. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-snatch.json +1 -1
  243. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-thruster.json +1 -1
  244. package/dist/web/playground/seed/core/markdown/efforts/strength/elbows-to-knees.json +1 -1
  245. package/dist/web/playground/seed/core/markdown/efforts/strength/farmer-carry.json +1 -1
  246. package/dist/web/playground/seed/core/markdown/efforts/strength/frog-stand.json +1 -1
  247. package/dist/web/playground/seed/core/markdown/efforts/strength/front-squat.json +1 -1
  248. package/dist/web/playground/seed/core/markdown/efforts/strength/good-morning.json +1 -1
  249. package/dist/web/playground/seed/core/markdown/efforts/strength/hanging-leg-raise.json +1 -1
  250. package/dist/web/playground/seed/core/markdown/efforts/strength/hollow-rock.json +1 -1
  251. package/dist/web/playground/seed/core/markdown/efforts/strength/knees-to-elbows.json +1 -1
  252. package/dist/web/playground/seed/core/markdown/efforts/strength/l-sit.json +1 -1
  253. package/dist/web/playground/seed/core/markdown/efforts/strength/man-maker.json +1 -1
  254. package/dist/web/playground/seed/core/markdown/efforts/strength/medicine-ball-clean.json +1 -1
  255. package/dist/web/playground/seed/core/markdown/efforts/strength/overhead-press.json +1 -1
  256. package/dist/web/playground/seed/core/markdown/efforts/strength/parkour-vault.json +1 -1
  257. package/dist/web/playground/seed/core/markdown/efforts/strength/pig-flip.json +1 -1
  258. package/dist/web/playground/seed/core/markdown/efforts/strength/power-clean.json +1 -1
  259. package/dist/web/playground/seed/core/markdown/efforts/strength/power-snatch.json +1 -1
  260. package/dist/web/playground/seed/core/markdown/efforts/strength/push-jerk.json +1 -1
  261. package/dist/web/playground/seed/core/markdown/efforts/strength/push-press.json +1 -1
  262. package/dist/web/playground/seed/core/markdown/efforts/strength/romanian-deadlift.json +1 -1
  263. package/dist/web/playground/seed/core/markdown/efforts/strength/single-leg-deadlift.json +1 -1
  264. package/dist/web/playground/seed/core/markdown/efforts/strength/skull-crusher.json +1 -1
  265. package/dist/web/playground/seed/core/markdown/efforts/strength/slam-ball.json +1 -1
  266. package/dist/web/playground/seed/core/markdown/efforts/strength/sled-pull.json +1 -1
  267. package/dist/web/playground/seed/core/markdown/efforts/strength/sled-push.json +1 -1
  268. package/dist/web/playground/seed/core/markdown/efforts/strength/sumo-deadlift.json +1 -1
  269. package/dist/web/playground/seed/core/markdown/efforts/strength/thruster.json +1 -1
  270. package/dist/web/playground/seed/core/markdown/efforts/strength/triceps-extension.json +1 -1
  271. package/dist/web/playground/seed/core/markdown/efforts/strength/v-sit-hold.json +1 -1
  272. package/dist/web/playground/seed/core/markdown/efforts/strength/wall-walk.json +1 -1
  273. package/dist/web/playground/seed/core/markdown/efforts/strength/yoga-sun-salutation.json +1 -1
  274. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-assisted-sprint.json +1 -1
  275. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-backstroke.json +1 -1
  276. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-breaststroke-kick.json +1 -1
  277. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-breaststroke.json +1 -1
  278. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-butterfly.json +1 -1
  279. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-catch-up-drill.json +1 -1
  280. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-choice-stroke.json +1 -1
  281. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-dive-start.json +1 -1
  282. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-dolphin-kick.json +1 -1
  283. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-drafting.json +1 -1
  284. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-fingertip-drag.json +1 -1
  285. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-freestyle.json +1 -1
  286. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-individual-medley.json +1 -1
  287. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-kick.json +1 -1
  288. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-pull.json +1 -1
  289. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-resisted-sprint.json +1 -1
  290. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-rotation-drill.json +1 -1
  291. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-sighting.json +1 -1
  292. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-single-arm-drill.json +1 -1
  293. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-stroke-transition.json +1 -1
  294. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-two-kick-one-pull.json +1 -1
  295. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-vigorous.json +1 -1
  296. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming.json +1 -1
  297. package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-arm-cast.json +1 -1
  298. package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-circles.json +1 -1
  299. package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-mill.json +1 -1
  300. package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-reverse-mill.json +1 -1
  301. package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-shield-cast.json +1 -1
  302. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-10-to-2-swing.json +1 -1
  303. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-360-swing.json +1 -1
  304. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-barbarian-squat.json +1 -1
  305. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-flow.json +1 -1
  306. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-gravedigger.json +1 -1
  307. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-touchdown.json +1 -1
  308. package/dist/web/playground/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-carry.json +1 -1
  309. package/dist/web/playground/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-extension.json +1 -1
  310. package/dist/web/playground/seed/core/markdown/efforts/unconventional/sandbag-over-shoulder.json +1 -1
  311. package/dist/web/playground/seed/core/markdown/efforts/walking/walking-3-mph.json +1 -1
  312. package/dist/web/playground/seed/core/markdown/equipment/air-bike.json +1 -1
  313. package/dist/web/playground/seed/core/markdown/equipment/barbell.json +1 -1
  314. package/dist/web/playground/seed/core/markdown/equipment/bench.json +1 -1
  315. package/dist/web/playground/seed/core/markdown/equipment/bike-erg.json +1 -1
  316. package/dist/web/playground/seed/core/markdown/equipment/climbing-rope.json +1 -1
  317. package/dist/web/playground/seed/core/markdown/equipment/clubs.json +1 -1
  318. package/dist/web/playground/seed/core/markdown/equipment/dumbbell.json +1 -1
  319. package/dist/web/playground/seed/core/markdown/equipment/ghd.json +1 -1
  320. package/dist/web/playground/seed/core/markdown/equipment/gymnastic-rings.json +1 -1
  321. package/dist/web/playground/seed/core/markdown/equipment/jump-rope.json +1 -1
  322. package/dist/web/playground/seed/core/markdown/equipment/kettlebell.json +1 -1
  323. package/dist/web/playground/seed/core/markdown/equipment/macebell.json +1 -1
  324. package/dist/web/playground/seed/core/markdown/equipment/medicine-ball.json +1 -1
  325. package/dist/web/playground/seed/core/markdown/equipment/parallettes.json +1 -1
  326. package/dist/web/playground/seed/core/markdown/equipment/plyo-box.json +1 -1
  327. package/dist/web/playground/seed/core/markdown/equipment/pull-up-bar.json +1 -1
  328. package/dist/web/playground/seed/core/markdown/equipment/rower.json +1 -1
  329. package/dist/web/playground/seed/core/markdown/equipment/sandbag.json +1 -1
  330. package/dist/web/playground/seed/core/markdown/equipment/ski-erg.json +1 -1
  331. package/dist/web/playground/seed/core/markdown/equipment/slam-ball.json +1 -1
  332. package/dist/web/playground/seed/core/markdown/equipment/sled.json +1 -1
  333. package/dist/web/playground/seed/core/markdown/equipment/sledgehammer.json +1 -1
  334. package/dist/web/playground/seed/core/markdown/equipment/weight-vest.json +1 -1
  335. package/dist/web/playground/seed/core/report.html +13 -13
  336. package/dist/web/server/ai-skills/agent-parity.md +41 -0
  337. package/dist/web/server/ai-skills/cli.md +127 -0
  338. package/dist/web/server/ai-skills/wql.md +63 -0
  339. package/dist/web/{playground/assets/feedSync.worker-O4TGLEj3.js → server/assets/feedSync.worker-CJyLPLAX.js} +2 -2
  340. package/dist/web/server/assets/main-DJQ7VwVX.js +1160 -0
  341. package/dist/web/server/assets/main-DedlsEjf.css +2 -0
  342. package/dist/web/server/assets/{statementBuilderFlow-C7x-7JGx.js → statementBuilderFlow-4p9d-7VX.js} +2 -2
  343. package/dist/web/server/assets/vendor-BUlwHBNF.js +255 -0
  344. package/dist/web/{playground/assets/vendor-codemirror-B4BeZarI.js → server/assets/vendor-codemirror-Bh6hyz5v.js} +11 -11
  345. package/dist/web/server/index.html +4 -4
  346. package/dist/web/server/llms-full.txt +1444 -0
  347. package/dist/web/server/llms.txt +67 -0
  348. package/dist/web/{playground/seed/core/chunks/canvas.deac64e3.json → server/seed/core/chunks/canvas.6cf875a1.json} +1 -1
  349. package/dist/web/server/seed/core/chunks/{dashboards.08301ab4.json → dashboards.277192c5.json} +1 -1
  350. package/dist/web/server/seed/core/chunks/{efforts.47f650fe.json → efforts.b943edc6.json} +1 -1
  351. package/dist/web/server/seed/core/chunks/{equipment.79146d31.json → equipment.3cc3e02c.json} +1 -1
  352. package/dist/web/server/seed/core/indexes/notebooks/canvas.json +180 -180
  353. package/dist/web/server/seed/core/indexes/notebooks/dashboards.json +16 -16
  354. package/dist/web/server/seed/core/indexes/notebooks/efforts.json +326 -326
  355. package/dist/web/server/seed/core/indexes/notebooks/equipment.json +50 -50
  356. package/dist/web/server/seed/core/manifest.json +27 -27
  357. package/dist/web/server/seed/core/markdown/canvas/ai-first/README.json +1 -1
  358. package/dist/web/server/seed/core/markdown/canvas/guide/README.json +4 -4
  359. package/dist/web/server/seed/core/markdown/canvas/guide/clock.json +1 -1
  360. package/dist/web/server/seed/core/markdown/canvas/guide/dashboards.json +1 -1
  361. package/dist/web/server/seed/core/markdown/canvas/guide/metrics-summaries.json +2 -2
  362. package/dist/web/server/seed/core/markdown/canvas/guide/metrics.json +12 -12
  363. package/dist/web/server/seed/core/markdown/canvas/guide/protocols.json +20 -20
  364. package/dist/web/server/seed/core/markdown/canvas/guide/sessions.json +33 -33
  365. package/dist/web/server/seed/core/markdown/canvas/guide/start.json +11 -11
  366. package/dist/web/server/seed/core/markdown/canvas/guide/structure.json +25 -25
  367. package/dist/web/server/seed/core/markdown/canvas/guide/wql.json +5 -5
  368. package/dist/web/server/seed/core/markdown/canvas/home/sample-script.json +4 -4
  369. package/dist/web/server/seed/core/markdown/canvas/home/welcome-1.json +2 -2
  370. package/dist/web/server/seed/core/markdown/canvas/syntax/actions-comments.json +4 -4
  371. package/dist/web/server/seed/core/markdown/canvas/syntax/alternating-emom.json +5 -5
  372. package/dist/web/server/seed/core/markdown/canvas/syntax/basic-emom.json +4 -4
  373. package/dist/web/server/seed/core/markdown/canvas/syntax/calculated-metrics.json +4 -4
  374. package/dist/web/server/seed/core/markdown/canvas/syntax/classic-amrap.json +6 -6
  375. package/dist/web/server/seed/core/markdown/canvas/syntax/complex-barbell-cycling.json +4 -4
  376. package/dist/web/server/seed/core/markdown/canvas/syntax/complex-full-session.json +10 -10
  377. package/dist/web/server/seed/core/markdown/canvas/syntax/complex-nested-protocols.json +7 -7
  378. package/dist/web/server/seed/core/markdown/canvas/syntax/complex-partner-workout.json +7 -7
  379. package/dist/web/server/seed/core/markdown/canvas/syntax/complex-swimming.json +5 -5
  380. package/dist/web/server/seed/core/markdown/canvas/syntax/core-rules.json +4 -4
  381. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-and-calculated-metrics.json +4 -4
  382. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-intervals.json +4 -4
  383. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-1.json +4 -4
  384. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-2.json +5 -5
  385. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-3.json +3 -3
  386. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-4.json +4 -4
  387. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-5.json +4 -4
  388. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-climb-bouldering.json +2 -2
  389. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-climb-hangboard.json +2 -2
  390. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-climb-sport.json +2 -2
  391. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-log.json +4 -4
  392. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-plan.json +8 -8
  393. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-wod.json +5 -5
  394. package/dist/web/server/seed/core/markdown/canvas/syntax/distance-intervals.json +3 -3
  395. package/dist/web/server/seed/core/markdown/canvas/syntax/document-1.json +4 -4
  396. package/dist/web/server/seed/core/markdown/canvas/syntax/document-2.json +5 -5
  397. package/dist/web/server/seed/core/markdown/canvas/syntax/document-3.json +10 -10
  398. package/dist/web/server/seed/core/markdown/canvas/syntax/document-4.json +5 -5
  399. package/dist/web/server/seed/core/markdown/canvas/syntax/effort-notes.json +5 -5
  400. package/dist/web/server/seed/core/markdown/canvas/syntax/frontmatter-summaries.json +4 -4
  401. package/dist/web/server/seed/core/markdown/canvas/syntax/groups-1.json +5 -5
  402. package/dist/web/server/seed/core/markdown/canvas/syntax/groups-2.json +6 -6
  403. package/dist/web/server/seed/core/markdown/canvas/syntax/groups-3.json +3 -3
  404. package/dist/web/server/seed/core/markdown/canvas/syntax/groups-4.json +3 -3
  405. package/dist/web/server/seed/core/markdown/canvas/syntax/longer-duration.json +4 -4
  406. package/dist/web/server/seed/core/markdown/canvas/syntax/longer-intervals.json +4 -4
  407. package/dist/web/server/seed/core/markdown/canvas/syntax/measurements.json +7 -7
  408. package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-1.json +5 -5
  409. package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-2.json +7 -7
  410. package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-3.json +8 -8
  411. package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-4.json +6 -6
  412. package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-5.json +5 -5
  413. package/dist/web/server/seed/core/markdown/canvas/syntax/mixed-sections.json +10 -10
  414. package/dist/web/server/seed/core/markdown/canvas/syntax/mixed-timers.json +5 -5
  415. package/dist/web/server/seed/core/markdown/canvas/syntax/multiple-amrap-windows.json +7 -7
  416. package/dist/web/server/seed/core/markdown/canvas/syntax/multiple-sets.json +4 -4
  417. package/dist/web/server/seed/core/markdown/canvas/syntax/named-groups.json +6 -6
  418. package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-1.json +6 -6
  419. package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-2.json +4 -4
  420. package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-3.json +6 -6
  421. package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-4.json +3 -3
  422. package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-5.json +4 -4
  423. package/dist/web/server/seed/core/markdown/canvas/syntax/single-movement.json +3 -3
  424. package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-1.json +4 -4
  425. package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-2.json +5 -5
  426. package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-3.json +4 -4
  427. package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-4.json +4 -4
  428. package/dist/web/server/seed/core/markdown/canvas/syntax/time-cap.json +6 -6
  429. package/dist/web/server/seed/core/markdown/canvas/syntax/timer-modifiers.json +6 -6
  430. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-1.json +6 -6
  431. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-2.json +4 -4
  432. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-3.json +4 -4
  433. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-4.json +4 -4
  434. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-5.json +5 -5
  435. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-rest.json +4 -4
  436. package/dist/web/server/seed/core/markdown/canvas/wql-presets/aggregate-by-effort.json +2 -2
  437. package/dist/web/server/seed/core/markdown/canvas/wql-presets/aggregate-by-week.json +2 -2
  438. package/dist/web/server/seed/core/markdown/canvas/wql-presets/content-fran.json +2 -2
  439. package/dist/web/server/seed/core/markdown/canvas/wql-presets/filter-combos.json +2 -2
  440. package/dist/web/server/seed/core/markdown/canvas/wql-presets/pipes-limit.json +2 -2
  441. package/dist/web/server/seed/core/markdown/canvas/wql-presets/session-rpe.json +2 -2
  442. package/dist/web/server/seed/core/markdown/canvas/wql-presets/source-journal.json +2 -2
  443. package/dist/web/server/seed/core/markdown/canvas/wql-presets/tis-trend.json +2 -2
  444. package/dist/web/server/seed/core/markdown/canvas/wql-presets/where-join.json +2 -2
  445. package/dist/web/server/seed/core/markdown/dashboards/benchmark-pr-board.json +6 -6
  446. package/dist/web/server/seed/core/markdown/dashboards/finger-strength-v8.json +5 -5
  447. package/dist/web/server/seed/core/markdown/dashboards/polarized-base-marathon.json +9 -9
  448. package/dist/web/server/seed/core/markdown/dashboards/recovery-readiness.json +7 -7
  449. package/dist/web/server/seed/core/markdown/dashboards/road-to-560-total.json +9 -9
  450. package/dist/web/server/seed/core/markdown/dashboards/training-block-review.json +11 -11
  451. package/dist/web/server/seed/core/markdown/efforts/bodyweight/air-squat.json +1 -1
  452. package/dist/web/server/seed/core/markdown/efforts/bodyweight/box-jump.json +1 -1
  453. package/dist/web/server/seed/core/markdown/efforts/bodyweight/broad-jump.json +1 -1
  454. package/dist/web/server/seed/core/markdown/efforts/bodyweight/burpee-box-jump-over.json +1 -1
  455. package/dist/web/server/seed/core/markdown/efforts/bodyweight/burpee-over-dumbbell.json +1 -1
  456. package/dist/web/server/seed/core/markdown/efforts/bodyweight/burpee.json +1 -1
  457. package/dist/web/server/seed/core/markdown/efforts/bodyweight/dumbbell-squat-clean.json +1 -1
  458. package/dist/web/server/seed/core/markdown/efforts/bodyweight/ghd-sit-up.json +1 -1
  459. package/dist/web/server/seed/core/markdown/efforts/bodyweight/ground-kong.json +1 -1
  460. package/dist/web/server/seed/core/markdown/efforts/bodyweight/jumping-jack.json +1 -1
  461. package/dist/web/server/seed/core/markdown/efforts/bodyweight/kong-walk.json +1 -1
  462. package/dist/web/server/seed/core/markdown/efforts/bodyweight/lunge.json +1 -1
  463. package/dist/web/server/seed/core/markdown/efforts/bodyweight/overhead-squat.json +1 -1
  464. package/dist/web/server/seed/core/markdown/efforts/bodyweight/parkour-roll.json +1 -1
  465. package/dist/web/server/seed/core/markdown/efforts/bodyweight/parkour-squat.json +1 -1
  466. package/dist/web/server/seed/core/markdown/efforts/bodyweight/pistol-squat.json +1 -1
  467. package/dist/web/server/seed/core/markdown/efforts/bodyweight/plank.json +1 -1
  468. package/dist/web/server/seed/core/markdown/efforts/bodyweight/precision-burpee.json +1 -1
  469. package/dist/web/server/seed/core/markdown/efforts/bodyweight/precision-jump.json +1 -1
  470. package/dist/web/server/seed/core/markdown/efforts/bodyweight/quadrupedal-movement.json +1 -1
  471. package/dist/web/server/seed/core/markdown/efforts/bodyweight/russian-twist.json +1 -1
  472. package/dist/web/server/seed/core/markdown/efforts/bodyweight/sit-up.json +1 -1
  473. package/dist/web/server/seed/core/markdown/efforts/bodyweight/squat-clean.json +1 -1
  474. package/dist/web/server/seed/core/markdown/efforts/bodyweight/squat-hold.json +1 -1
  475. package/dist/web/server/seed/core/markdown/efforts/bodyweight/squat-snatch.json +1 -1
  476. package/dist/web/server/seed/core/markdown/efforts/bodyweight/tuck-jump.json +1 -1
  477. package/dist/web/server/seed/core/markdown/efforts/bodyweight/wall-ball.json +1 -1
  478. package/dist/web/server/seed/core/markdown/efforts/bodyweight/wall-burpee.json +1 -1
  479. package/dist/web/server/seed/core/markdown/efforts/cycling/assault-bike.json +1 -1
  480. package/dist/web/server/seed/core/markdown/efforts/cycling/cycling-moderate.json +1 -1
  481. package/dist/web/server/seed/core/markdown/efforts/cycling/cycling-vigorous.json +1 -1
  482. package/dist/web/server/seed/core/markdown/efforts/gymnastics/assisted-pull-up.json +1 -1
  483. package/dist/web/server/seed/core/markdown/efforts/gymnastics/burpee-pull-up.json +1 -1
  484. package/dist/web/server/seed/core/markdown/efforts/gymnastics/chest-to-bar-pull-up.json +1 -1
  485. package/dist/web/server/seed/core/markdown/efforts/gymnastics/dip.json +1 -1
  486. package/dist/web/server/seed/core/markdown/efforts/gymnastics/double-under.json +1 -1
  487. package/dist/web/server/seed/core/markdown/efforts/gymnastics/handstand-hold.json +1 -1
  488. package/dist/web/server/seed/core/markdown/efforts/gymnastics/handstand-push-up.json +1 -1
  489. package/dist/web/server/seed/core/markdown/efforts/gymnastics/handstand-walk.json +1 -1
  490. package/dist/web/server/seed/core/markdown/efforts/gymnastics/jump-rope.json +1 -1
  491. package/dist/web/server/seed/core/markdown/efforts/gymnastics/jumping-pull-up.json +1 -1
  492. package/dist/web/server/seed/core/markdown/efforts/gymnastics/jumping-push-up.json +1 -1
  493. package/dist/web/server/seed/core/markdown/efforts/gymnastics/l-sit-pull-up.json +1 -1
  494. package/dist/web/server/seed/core/markdown/efforts/gymnastics/muscle-up.json +1 -1
  495. package/dist/web/server/seed/core/markdown/efforts/gymnastics/pull-up.json +1 -1
  496. package/dist/web/server/seed/core/markdown/efforts/gymnastics/push-up.json +1 -1
  497. package/dist/web/server/seed/core/markdown/efforts/gymnastics/reverse-wall-dip.json +1 -1
  498. package/dist/web/server/seed/core/markdown/efforts/gymnastics/rope-climb.json +1 -1
  499. package/dist/web/server/seed/core/markdown/efforts/gymnastics/toes-to-bar.json +1 -1
  500. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-arm-bar.json +1 -1
  501. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-around-the-world.json +1 -1
  502. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-bent-over-row.json +1 -1
  503. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-jerk.json +1 -1
  504. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-press.json +1 -1
  505. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-clean.json +1 -1
  506. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-deadlift.json +1 -1
  507. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-floor-press.json +1 -1
  508. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-front-squat.json +1 -1
  509. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-goblet-squat.json +1 -1
  510. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-gorilla-row.json +1 -1
  511. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-halo.json +1 -1
  512. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-jerk.json +1 -1
  513. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-overhead-squat.json +1 -1
  514. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-press.json +1 -1
  515. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-snatch.json +1 -1
  516. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-swing.json +1 -1
  517. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-windmill.json +1 -1
  518. package/dist/web/server/seed/core/markdown/efforts/kettlebell/turkish-get-up.json +1 -1
  519. package/dist/web/server/seed/core/markdown/efforts/recovery/rest.json +1 -1
  520. package/dist/web/server/seed/core/markdown/efforts/recovery/stretching.json +1 -1
  521. package/dist/web/server/seed/core/markdown/efforts/rowing/rowing-sprint.json +1 -1
  522. package/dist/web/server/seed/core/markdown/efforts/rowing/rowing.json +1 -1
  523. package/dist/web/server/seed/core/markdown/efforts/rowing/ski-erg.json +1 -1
  524. package/dist/web/server/seed/core/markdown/efforts/running/backward-running.json +1 -1
  525. package/dist/web/server/seed/core/markdown/efforts/running/running-6-mph.json +1 -1
  526. package/dist/web/server/seed/core/markdown/efforts/running/running-8-mph.json +1 -1
  527. package/dist/web/server/seed/core/markdown/efforts/running/running-sprint.json +1 -1
  528. package/dist/web/server/seed/core/markdown/efforts/snatch.json +2 -2
  529. package/dist/web/server/seed/core/markdown/efforts/strength/back-squat.json +1 -1
  530. package/dist/web/server/seed/core/markdown/efforts/strength/bench-press.json +1 -1
  531. package/dist/web/server/seed/core/markdown/efforts/strength/box-step-up.json +1 -1
  532. package/dist/web/server/seed/core/markdown/efforts/strength/carioca.json +1 -1
  533. package/dist/web/server/seed/core/markdown/efforts/strength/clean-and-jerk.json +1 -1
  534. package/dist/web/server/seed/core/markdown/efforts/strength/cluster.json +1 -1
  535. package/dist/web/server/seed/core/markdown/efforts/strength/dead-hang.json +1 -1
  536. package/dist/web/server/seed/core/markdown/efforts/strength/deadlift.json +1 -1
  537. package/dist/web/server/seed/core/markdown/efforts/strength/devils-press.json +1 -1
  538. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-box-step-up.json +1 -1
  539. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-clean.json +1 -1
  540. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-fly.json +1 -1
  541. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-row.json +1 -1
  542. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-snatch.json +1 -1
  543. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-thruster.json +1 -1
  544. package/dist/web/server/seed/core/markdown/efforts/strength/elbows-to-knees.json +1 -1
  545. package/dist/web/server/seed/core/markdown/efforts/strength/farmer-carry.json +1 -1
  546. package/dist/web/server/seed/core/markdown/efforts/strength/frog-stand.json +1 -1
  547. package/dist/web/server/seed/core/markdown/efforts/strength/front-squat.json +1 -1
  548. package/dist/web/server/seed/core/markdown/efforts/strength/good-morning.json +1 -1
  549. package/dist/web/server/seed/core/markdown/efforts/strength/hanging-leg-raise.json +1 -1
  550. package/dist/web/server/seed/core/markdown/efforts/strength/hollow-rock.json +1 -1
  551. package/dist/web/server/seed/core/markdown/efforts/strength/knees-to-elbows.json +1 -1
  552. package/dist/web/server/seed/core/markdown/efforts/strength/l-sit.json +1 -1
  553. package/dist/web/server/seed/core/markdown/efforts/strength/man-maker.json +1 -1
  554. package/dist/web/server/seed/core/markdown/efforts/strength/medicine-ball-clean.json +1 -1
  555. package/dist/web/server/seed/core/markdown/efforts/strength/overhead-press.json +1 -1
  556. package/dist/web/server/seed/core/markdown/efforts/strength/parkour-vault.json +1 -1
  557. package/dist/web/server/seed/core/markdown/efforts/strength/pig-flip.json +1 -1
  558. package/dist/web/server/seed/core/markdown/efforts/strength/power-clean.json +1 -1
  559. package/dist/web/server/seed/core/markdown/efforts/strength/power-snatch.json +1 -1
  560. package/dist/web/server/seed/core/markdown/efforts/strength/push-jerk.json +1 -1
  561. package/dist/web/server/seed/core/markdown/efforts/strength/push-press.json +1 -1
  562. package/dist/web/server/seed/core/markdown/efforts/strength/romanian-deadlift.json +1 -1
  563. package/dist/web/server/seed/core/markdown/efforts/strength/single-leg-deadlift.json +1 -1
  564. package/dist/web/server/seed/core/markdown/efforts/strength/skull-crusher.json +1 -1
  565. package/dist/web/server/seed/core/markdown/efforts/strength/slam-ball.json +1 -1
  566. package/dist/web/server/seed/core/markdown/efforts/strength/sled-pull.json +1 -1
  567. package/dist/web/server/seed/core/markdown/efforts/strength/sled-push.json +1 -1
  568. package/dist/web/server/seed/core/markdown/efforts/strength/sumo-deadlift.json +1 -1
  569. package/dist/web/server/seed/core/markdown/efforts/strength/thruster.json +1 -1
  570. package/dist/web/server/seed/core/markdown/efforts/strength/triceps-extension.json +1 -1
  571. package/dist/web/server/seed/core/markdown/efforts/strength/v-sit-hold.json +1 -1
  572. package/dist/web/server/seed/core/markdown/efforts/strength/wall-walk.json +1 -1
  573. package/dist/web/server/seed/core/markdown/efforts/strength/yoga-sun-salutation.json +1 -1
  574. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-assisted-sprint.json +1 -1
  575. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-backstroke.json +1 -1
  576. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-breaststroke-kick.json +1 -1
  577. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-breaststroke.json +1 -1
  578. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-butterfly.json +1 -1
  579. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-catch-up-drill.json +1 -1
  580. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-choice-stroke.json +1 -1
  581. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-dive-start.json +1 -1
  582. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-dolphin-kick.json +1 -1
  583. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-drafting.json +1 -1
  584. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-fingertip-drag.json +1 -1
  585. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-freestyle.json +1 -1
  586. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-individual-medley.json +1 -1
  587. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-kick.json +1 -1
  588. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-pull.json +1 -1
  589. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-resisted-sprint.json +1 -1
  590. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-rotation-drill.json +1 -1
  591. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-sighting.json +1 -1
  592. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-single-arm-drill.json +1 -1
  593. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-stroke-transition.json +1 -1
  594. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-two-kick-one-pull.json +1 -1
  595. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-vigorous.json +1 -1
  596. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming.json +1 -1
  597. package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-arm-cast.json +1 -1
  598. package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-circles.json +1 -1
  599. package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-mill.json +1 -1
  600. package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-reverse-mill.json +1 -1
  601. package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-shield-cast.json +1 -1
  602. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-10-to-2-swing.json +1 -1
  603. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-360-swing.json +1 -1
  604. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-barbarian-squat.json +1 -1
  605. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-flow.json +1 -1
  606. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-gravedigger.json +1 -1
  607. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-touchdown.json +1 -1
  608. package/dist/web/server/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-carry.json +1 -1
  609. package/dist/web/server/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-extension.json +1 -1
  610. package/dist/web/server/seed/core/markdown/efforts/unconventional/sandbag-over-shoulder.json +1 -1
  611. package/dist/web/server/seed/core/markdown/efforts/walking/walking-3-mph.json +1 -1
  612. package/dist/web/server/seed/core/markdown/equipment/air-bike.json +1 -1
  613. package/dist/web/server/seed/core/markdown/equipment/barbell.json +1 -1
  614. package/dist/web/server/seed/core/markdown/equipment/bench.json +1 -1
  615. package/dist/web/server/seed/core/markdown/equipment/bike-erg.json +1 -1
  616. package/dist/web/server/seed/core/markdown/equipment/climbing-rope.json +1 -1
  617. package/dist/web/server/seed/core/markdown/equipment/clubs.json +1 -1
  618. package/dist/web/server/seed/core/markdown/equipment/dumbbell.json +1 -1
  619. package/dist/web/server/seed/core/markdown/equipment/ghd.json +1 -1
  620. package/dist/web/server/seed/core/markdown/equipment/gymnastic-rings.json +1 -1
  621. package/dist/web/server/seed/core/markdown/equipment/jump-rope.json +1 -1
  622. package/dist/web/server/seed/core/markdown/equipment/kettlebell.json +1 -1
  623. package/dist/web/server/seed/core/markdown/equipment/macebell.json +1 -1
  624. package/dist/web/server/seed/core/markdown/equipment/medicine-ball.json +1 -1
  625. package/dist/web/server/seed/core/markdown/equipment/parallettes.json +1 -1
  626. package/dist/web/server/seed/core/markdown/equipment/plyo-box.json +1 -1
  627. package/dist/web/server/seed/core/markdown/equipment/pull-up-bar.json +1 -1
  628. package/dist/web/server/seed/core/markdown/equipment/rower.json +1 -1
  629. package/dist/web/server/seed/core/markdown/equipment/sandbag.json +1 -1
  630. package/dist/web/server/seed/core/markdown/equipment/ski-erg.json +1 -1
  631. package/dist/web/server/seed/core/markdown/equipment/slam-ball.json +1 -1
  632. package/dist/web/server/seed/core/markdown/equipment/sled.json +1 -1
  633. package/dist/web/server/seed/core/markdown/equipment/sledgehammer.json +1 -1
  634. package/dist/web/server/seed/core/markdown/equipment/weight-vest.json +1 -1
  635. package/dist/web/server/seed/core/report.html +13 -13
  636. package/package.json +10 -8
  637. package/dist/chunk-2EWCEE6N.mjs.map +0 -1
  638. package/dist/chunk-5NNSHRMZ.mjs.map +0 -1
  639. package/dist/chunk-LNBKPHEP.mjs.map +0 -1
  640. package/dist/chunk-SLCRIGUR.mjs.map +0 -1
  641. package/dist/server-SHNWCIIM.mjs +0 -11
  642. package/dist/web/playground/assets/main-DGz9PHS_.css +0 -2
  643. package/dist/web/playground/assets/main-DfHqNhwO.js +0 -1149
  644. package/dist/web/playground/assets/vendor-Dz-Azkoq.js +0 -198
  645. package/dist/web/server/assets/main-DGz9PHS_.css +0 -2
  646. package/dist/web/server/assets/main-VXFEU44Q.js +0 -1149
  647. package/dist/web/server/assets/vendor-Dz-Azkoq.js +0 -198
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: wod-wql
3
+ description: 'Write, validate, and execute WQL (Workout Query Language) find and aggregate queries against WOD Wiki notes, workout blocks, sessions, efforts, tags, and time windows.'
4
+ license: MIT
5
+ ---
6
+
7
+ # WQL (Workout Query Language) Agent Guide
8
+
9
+ ## Overview
10
+
11
+ WQL queries structured workout notes, immutable block revisions, movement efforts, tags, and recorded execution sessions across all three WOD Wiki surfaces:
12
+ - **CLI**: `wod query '<wql>' --format json` (dry-run syntax check: `wod query '<wql>' --validate-only --json`)
13
+ - **MCP / WebMCP**: `wod_query_wql` and `wod_validate_wql`
14
+ - **Browser Stream Views**: `ui_set_stream_query`
15
+
16
+ ---
17
+
18
+ ## Query Families
19
+
20
+ ### 1. Find Queries (`:<target>{...}`)
21
+ Select entities matching structured filters:
22
+
23
+ | Target | Purpose | Example |
24
+ |---|---|---|
25
+ | `:note` | Workout & journal notes | `:note{notebook:journal time:14d}` |
26
+ | `:block` | Individual `time` / `log` workout blocks | `:block{effort:thrusters}` |
27
+ | `:session` | Completed or logged workout sessions | `:session{time:30d}` |
28
+ | `:effort` | Canonical movement / exercise definitions | `:effort{discipline:weightlifting}` |
29
+ | `:notebook` | Local and subscribed notebooks | `:notebook{}` |
30
+ | `:tag` | Tags across categories | `:tag{}` |
31
+ | `:equipment` | Equipment definitions & tags | `:equipment{}` |
32
+
33
+ Common filters inside `{...}`:
34
+ - `notebook:<slug>` — filter notes in a notebook (`journal`, `benchmarks`, etc.)
35
+ - `tags:<slug>` — filter by tag
36
+ - `effort:<slug>` — filter notes/blocks/sessions involving a movement
37
+ - `time:<window>` — relative time window (`7d`, `14d`, `30d`, `90d`, `1y`) or ISO date range
38
+
39
+ ### 2. Aggregate Queries (`:<agg>{...} [by {<dim>}]`)
40
+ Roll up recorded workout metrics over time or movement dimensions:
41
+
42
+ - **Aggregators**: `:sum`, `:count`, `:max`, `:min`, `:avg`
43
+ - **Metric families**: `metric:reps`, `metric:weight`, `metric:distance`, `metric:time`, `metric:rounds`, `metric:volume`
44
+ - **Grouping dimensions (`by {...}`)**: `day`, `week`, `month`, `effort`, `notebook`
45
+
46
+ Examples:
47
+ ```wql
48
+ :sum{metric:reps time:30d} by {week}
49
+ :sum{metric:reps effort:pull-ups time:90d} by {week}
50
+ :max{metric:weight effort:back-squat time:1y}
51
+ :count{metric:rounds time:30d} by {effort}
52
+ ```
53
+
54
+ ---
55
+
56
+ ## Best Practices for Agents
57
+
58
+ 1. **Validate Before Running Unfamiliar Filters**:
59
+ Call `wod_validate_wql` (or `wod query '<wql>' --validate-only --json`) to inspect parsed AST and catch unknown filter keys (exit code `2` on invalid WQL).
60
+ 2. **Read Live Capabilities**:
61
+ Read MCP resource `wod://schema/wql` for the exact list of valid filter keys per target, aggregators, and virtual dimensions compiled into the current engine version.
62
+ 3. **Prefer Unbatched Data Tools Over UI Scraping**:
63
+ In the browser, `wod_query_wql` queries IndexedDB / `ApiStorage` directly without UI pagination limits, whereas `ui_set_stream_query` updates the visible stream for the human user.
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: wod-agent-parity
3
+ description: 'Enforce First-Class Agent Readiness & Action Parity whenever adding or modifying WOD Wiki features, routes, UI actions, domain services, or CLI commands across Playground WebMCP, wod server MCP, and the wod CLI.'
4
+ license: MIT
5
+ ---
6
+
7
+ # First-Class Agent Readiness & Action Parity (`wod-agent-parity`)
8
+
9
+ ## Core Mandate
10
+
11
+ Every user-facing capability in WOD Wiki MUST maintain **Action Parity** between human-driven UI actions and AI-agent-driven actions across all applicable surfaces:
12
+
13
+ 1. **Portable Domain Mutations & Queries (`@bitcobblers/wod-wiki-engine/agent`)**:
14
+ - Any new domain read or write (Notes, Journal, Notebooks, Sessions, Catalog/Tags, WQL, Feeds, Portability) MUST be defined once as a typed `AgentToolSpec` in `packages/engine/src/agent/tools/` and exported in `packages/engine/src/agent/manifest.ts` (`DOMAIN_AGENT_TOOLS`).
15
+ - Because `PlaygroundAgentProvider` (`apps/playground/app/agent/PlaygroundAgentProvider.tsx`) and `createWodMcpServer` (`packages/tools/src/mcp/createWodMcpServer.ts`) both consume `DOMAIN_AGENT_TOOLS`, registering a domain tool there automatically exposes it to **Browser WebMCP (`navigator.modelContext`)** and **HTTP/Stdio MCP (`/api/mcp` & `wod mcp`)**.
16
+ - Wire the matching noun-verb CLI subcommand in `packages/tools/src/cli/agentCommands.ts` and `packages/tools/src/cli/runner.ts` (`--json` + `--server <url>`), and record the exact `cliEquivalent` on the `AgentToolSpec`.
17
+
18
+ 2. **Playground Live UI & Co-Driving Actions (`apps/playground/app/agent/`)**:
19
+ - Any interactive UI state in `apps/playground` that has no headless equivalent (new routes, view/layout toggles, live editor buffer controls, live workout clock commands, modals/drawers, Cast controls) MUST be exposed to browser agents via `@mcp-b/react-webmcp` (`useWebMCP()`):
20
+ - **Dynamic Lifecycle**: Register route- or surface-scoped UI tools inside a component that mounts *only* when that UI surface is active (e.g. `StreamAgentTools.tsx`, `EditorAgentTools.tsx`, `LiveClockAgentTools.tsx`) using the zero-dependency bridge in `apps/playground/src/agent/surfaceBridges.ts` so Storybook and the Chromecast receiver bundle (`apps/playground/app/receiver-rpc.tsx`) stay completely free of `@mcp-b/*`.
21
+ - **Post-Commit Synchronization**: Every UI-mutating WebMCP `execute` handler MUST `await waitForUiCommit()` (`apps/playground/app/agent/uiCommit.ts`) before returning so browser agents never read stale React state.
22
+ - **Manifest Registration**: Add the schema and `mountScope` entry to `apps/playground/app/agent/uiToolSpecs.ts` (`exportPlaygroundUiToolsManifest()`).
23
+
24
+ 3. **Safety & Risk Tier Discipline**:
25
+ - **Tier 0 (Read-only)**: Set `tier: 0` and `annotations: { readOnlyHint: true, destructiveHint: false, ... }`. Automatically allowed in `--mcp-readonly` mode.
26
+ - **Tier 1 (Reversible / Additive)**: Set `tier: 1` and `destructiveHint: false`.
27
+ - **Tier 2 (Irreversible / Destructive)**: Set `tier: 2` and `destructiveHint: true`, and gate execution with `requireDestructiveConfirmation(ctx, { action, targetId, summary }, args.confirmId)`:
28
+ - In **Playground WebMCP**, `AgentConfirmHost.tsx` automatically opens the Radix human-in-the-loop confirmation dialog (`data-testid="agent-confirm-dialog"`).
29
+ - In **CLI**, omitting `--yes <targetId>` automatically exits with code `4` (`CONFIRMATION_REQUIRED`).
30
+ - In **MCP**, omitting `confirmId` returns a structured confirmation error prompting explicit confirmation.
31
+
32
+ 4. **Deterministic DOM, URL State & Accessibility (Playground Layers 2–4)**:
33
+ - **Semantic Controls**: Interactive elements MUST be real `<button type="button">` / `<a>` / labeled `<input>` controls (never click-only `<div>`/`<span>` without `role`, `tabIndex`, and `Enter`/`Space` keyboard handlers) and carry `TEST_IDS` (`apps/playground/src/lib/testIds.ts`).
34
+ - **Loading & View State**: Async routes and streams MUST signal busy transitions via `setSurfaceBusy(loading)` (`apps/playground/src/agent/surfaceBridges.ts`) so `<main data-agent-status="loading|ready" aria-busy>` and `<script id="agent-view-state" type="application/json">` (`apps/playground/app/agent/AgentStateScript.tsx`) stay accurate.
35
+ - **URL Survival**: New routes go in `apps/playground/src/lib/routes.ts` (`ROUTE_PATTERNS`); meaningful view modes (e.g. `?layout=`, `?q=`, `?note=`) should survive page reload via URL search params.
36
+ - **Regenerate Discovery Files**: Whenever tools or routes change, run:
37
+ ```bash
38
+ bun run sync:agent-manifest
39
+ bun run sync:skills
40
+ bun run check:agent-parity
41
+ ```
@@ -0,0 +1,127 @@
1
+ ---
2
+ name: wod-cli
3
+ description: 'Drive WOD Wiki locally or against a running wod server using the wod CLI (--json), wod mcp (stdio), or /api/mcp (HTTP). Covers notes, journal scheduling, notebooks, headless workout sessions, WQL queries, catalog management, and exit code 4 confirmation gates.'
4
+ license: MIT
5
+ ---
6
+
7
+ # WOD CLI & MCP Agent Guide (`wod`)
8
+
9
+ ## Overview
10
+
11
+ The `wod` CLI exposes every WOD Wiki domain capability with structured `--json` output, deterministic exit codes, and 1:1 parity with the `wod mcp` stdio server and `/api/mcp` HTTP MCP endpoint.
12
+
13
+ ## Quick Diagnostics
14
+
15
+ ```bash
16
+ wod doctor --json
17
+ wod tools list --json
18
+ ```
19
+
20
+ If the local SQLite database is not initialized yet:
21
+ ```bash
22
+ wod init --db ./wodwiki.db
23
+ ```
24
+
25
+ To target a running `wod server` instance instead of a local database file, pass `--server <url>` to any noun-verb command:
26
+ ```bash
27
+ wod note list --server http://127.0.0.1:3000 --json
28
+ ```
29
+
30
+ ---
31
+
32
+ ## Core Workflows
33
+
34
+ ### 1. Parse & Verify Whiteboard Script (Dry Run)
35
+ Always validate authored workout syntax before saving when drafting from unstructured text:
36
+ ```bash
37
+ printf "(21-15-9)\n Thrusters @95lb\n Pull-ups\n" | wod parse - --no-save --json
38
+ ```
39
+
40
+ ### 2. Author, Read, Clone, and Delete Notes
41
+ ```bash
42
+ # List notes (optional filters: --notebook, --tag, --search, --limit)
43
+ wod note list --limit 20 --json
44
+
45
+ # Create a note from inline Markdown or stdin
46
+ wod note create --title "Fran" --tags "benchmark,girl" --markdown $'# Fran\n\n```time\n(21-15-9)\n Thrusters @95lb\n Pull-ups\n```' --json
47
+
48
+ # Read full note Markdown, blocks, and recent sessions
49
+ wod note get <noteId> --json
50
+
51
+ # Clone a template note onto a calendar date
52
+ wod note clone <sourceNoteId> --date 2026-11-11 --notebook journal --json
53
+
54
+ # Delete a note (Tier 2 — requires --yes <noteId>, exits 4 if omitted)
55
+ wod note delete <noteId> --yes <noteId> --json
56
+ ```
57
+
58
+ ### 3. Schedule & Inspect the Daily Journal
59
+ ```bash
60
+ # Read scheduled workouts + logged sessions for a date (YYYY-MM-DD or today)
61
+ wod journal day today --json
62
+
63
+ # Schedule a new workout or clone a template onto a date
64
+ wod journal add today --source-note <templateNoteId> --json
65
+ wod journal add 2026-11-12 --title "Morning 5K" --markdown $'```time\n5000m Run :?\n```' --json
66
+ ```
67
+
68
+ ### 4. Manage Notebooks
69
+ ```bash
70
+ wod notebook list --json
71
+ wod notebook save strength-cycle --title "Strength Cycle" --description "8-week squat block" --json
72
+ wod notebook delete strength-cycle --yes strength-cycle --json
73
+ ```
74
+
75
+ ### 5. Execute Headless Sessions & Inspect Ledgers
76
+ ```bash
77
+ # Run a saved note's workout block headlessly and record session + events
78
+ wod session run --note <noteId> --json
79
+ # Equivalent shorthand on legacy verb:
80
+ wod run --note <noteId> --json
81
+
82
+ # List and inspect recorded sessions
83
+ wod session list --limit 10 --json
84
+ wod session get <sessionId> --json
85
+
86
+ # Delete a recorded session (Tier 2 — requires --yes <sessionId>)
87
+ wod session delete <sessionId> --yes <sessionId> --json
88
+ ```
89
+
90
+ ### 6. Catalog & Tag Management
91
+ ```bash
92
+ wod catalog lookup effort --search thruster --json
93
+ wod catalog upsert effort "Dumbbell Snatch" --category weightlifting --tags dumbbell --json
94
+ wod tag list --type equipment --json
95
+ wod tag upsert kettlebell --type equipment --json
96
+ ```
97
+
98
+ ### 7. Feeds & Portability
99
+ ```bash
100
+ wod feed list --json
101
+ wod feed status --json
102
+ wod export note <noteId> -o -
103
+ ```
104
+
105
+ ---
106
+
107
+ ## Exit Codes & Confirmation Safety
108
+
109
+ | Exit Code | Meaning | Agent Recovery Action |
110
+ |---|---|---|
111
+ | `0` | Success | Parse JSON stdout (`{ "ok": true, "tool": "...", "data": ... }`). |
112
+ | `1` | Runtime / IO / Missing Target | Inspect `error` field and verify IDs via `list` / `lookup`. |
113
+ | `2` | Syntax Error (Whiteboard Script or WQL) | Fix script or query syntax using `wod parse --no-save` or `wod query --validate-only`. |
114
+ | `3` | Language Pack Load Error | Check `--pack` module specifier. |
115
+ | `4` | Tier 2 Confirmation Required | Destructive command lacked `--yes <targetId>`. Confirm intent with the user before re-running with `--yes <targetId>`. |
116
+
117
+ ---
118
+
119
+ ## Starting the Official MCP Server
120
+
121
+ - **Stdio (Claude Code / Cursor / Codex)**:
122
+ ```bash
123
+ wod mcp --db ./wodwiki.db
124
+ wod mcp --readonly --db ./wodwiki.db
125
+ ```
126
+ - **HTTP Streamable MCP**:
127
+ `wod server` automatically mounts `/api/mcp` (`POST`, `GET`, `DELETE`) and `/.well-known/agent-capabilities.json`. Set `WOD_MCP_READONLY=1` or `--mcp-readonly` to expose only Tier 0 read-only tools, and `WOD_MCP_TOKEN=<secret>` to require `Authorization: Bearer <secret>`.
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: wod-wql
3
+ description: 'Write, validate, and execute WQL (Workout Query Language) find and aggregate queries against WOD Wiki notes, workout blocks, sessions, efforts, tags, and time windows.'
4
+ license: MIT
5
+ ---
6
+
7
+ # WQL (Workout Query Language) Agent Guide
8
+
9
+ ## Overview
10
+
11
+ WQL queries structured workout notes, immutable block revisions, movement efforts, tags, and recorded execution sessions across all three WOD Wiki surfaces:
12
+ - **CLI**: `wod query '<wql>' --format json` (dry-run syntax check: `wod query '<wql>' --validate-only --json`)
13
+ - **MCP / WebMCP**: `wod_query_wql` and `wod_validate_wql`
14
+ - **Browser Stream Views**: `ui_set_stream_query`
15
+
16
+ ---
17
+
18
+ ## Query Families
19
+
20
+ ### 1. Find Queries (`:<target>{...}`)
21
+ Select entities matching structured filters:
22
+
23
+ | Target | Purpose | Example |
24
+ |---|---|---|
25
+ | `:note` | Workout & journal notes | `:note{notebook:journal time:14d}` |
26
+ | `:block` | Individual `time` / `log` workout blocks | `:block{effort:thrusters}` |
27
+ | `:session` | Completed or logged workout sessions | `:session{time:30d}` |
28
+ | `:effort` | Canonical movement / exercise definitions | `:effort{discipline:weightlifting}` |
29
+ | `:notebook` | Local and subscribed notebooks | `:notebook{}` |
30
+ | `:tag` | Tags across categories | `:tag{}` |
31
+ | `:equipment` | Equipment definitions & tags | `:equipment{}` |
32
+
33
+ Common filters inside `{...}`:
34
+ - `notebook:<slug>` — filter notes in a notebook (`journal`, `benchmarks`, etc.)
35
+ - `tags:<slug>` — filter by tag
36
+ - `effort:<slug>` — filter notes/blocks/sessions involving a movement
37
+ - `time:<window>` — relative time window (`7d`, `14d`, `30d`, `90d`, `1y`) or ISO date range
38
+
39
+ ### 2. Aggregate Queries (`:<agg>{...} [by {<dim>}]`)
40
+ Roll up recorded workout metrics over time or movement dimensions:
41
+
42
+ - **Aggregators**: `:sum`, `:count`, `:max`, `:min`, `:avg`
43
+ - **Metric families**: `metric:reps`, `metric:weight`, `metric:distance`, `metric:time`, `metric:rounds`, `metric:volume`
44
+ - **Grouping dimensions (`by {...}`)**: `day`, `week`, `month`, `effort`, `notebook`
45
+
46
+ Examples:
47
+ ```wql
48
+ :sum{metric:reps time:30d} by {week}
49
+ :sum{metric:reps effort:pull-ups time:90d} by {week}
50
+ :max{metric:weight effort:back-squat time:1y}
51
+ :count{metric:rounds time:30d} by {effort}
52
+ ```
53
+
54
+ ---
55
+
56
+ ## Best Practices for Agents
57
+
58
+ 1. **Validate Before Running Unfamiliar Filters**:
59
+ Call `wod_validate_wql` (or `wod query '<wql>' --validate-only --json`) to inspect parsed AST and catch unknown filter keys (exit code `2` on invalid WQL).
60
+ 2. **Read Live Capabilities**:
61
+ Read MCP resource `wod://schema/wql` for the exact list of valid filter keys per target, aggregators, and virtual dimensions compiled into the current engine version.
62
+ 3. **Prefer Unbatched Data Tools Over UI Scraping**:
63
+ In the browser, `wod_query_wql` queries IndexedDB / `ApiStorage` directly without UI pagination limits, whereas `ui_set_stream_query` updates the visible stream for the human user.