@bitcobblers/wod-wiki-tools 0.44.2160 → 0.45.2166

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 (632) hide show
  1. package/dist/bin/wod.cjs +151 -153
  2. package/dist/bin/wod.cjs.map +1 -1
  3. package/dist/bin/wod.mjs +4 -4
  4. package/dist/{chunk-BQ6HTRH3.mjs → chunk-EAFF2GVB.mjs} +29 -38
  5. package/dist/chunk-EAFF2GVB.mjs.map +1 -0
  6. package/dist/{chunk-IWT7U3WX.mjs → chunk-F7IXIJ4I.mjs} +3 -3
  7. package/dist/{chunk-IWT7U3WX.mjs.map → chunk-F7IXIJ4I.mjs.map} +1 -1
  8. package/dist/{chunk-RWNL6APX.mjs → chunk-FSOBPDUC.mjs} +3 -3
  9. package/dist/{chunk-RWNL6APX.mjs.map → chunk-FSOBPDUC.mjs.map} +1 -1
  10. package/dist/{chunk-ZWCQTF54.mjs → chunk-O5ZCOUQE.mjs} +3 -3
  11. package/dist/chunk-O5ZCOUQE.mjs.map +1 -0
  12. package/dist/{chunk-3TMW3M6P.mjs → chunk-PF5BTGWZ.mjs} +99 -92
  13. package/dist/chunk-PF5BTGWZ.mjs.map +1 -0
  14. package/dist/compiler-ZMG22VH4.mjs +9 -0
  15. package/dist/{compiler-V2BLOB2B.mjs.map → compiler-ZMG22VH4.mjs.map} +1 -1
  16. package/dist/index.cjs +151 -153
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +1 -3
  19. package/dist/index.d.ts +1 -3
  20. package/dist/index.mjs +5 -5
  21. package/dist/{scaffoldCatalog-TBCLNCTP.mjs → scaffoldFeed-UXH3L5HM.mjs} +29 -29
  22. package/dist/scaffoldFeed-UXH3L5HM.mjs.map +1 -0
  23. package/dist/{server-2DVBA35J.mjs → server-5XDT7ITA.mjs} +4 -4
  24. package/dist/{server-2DVBA35J.mjs.map → server-5XDT7ITA.mjs.map} +1 -1
  25. package/dist/web/playground/assets/feedSync.worker-CEbxagtY.js +16 -0
  26. package/dist/web/playground/assets/main-BKDG9P36.css +2 -0
  27. package/dist/web/playground/assets/main-DAHoAykp.js +491 -0
  28. package/dist/web/playground/assets/{statementBuilderFlow-DhoygK7W.js → statementBuilderFlow-DHSfYrHi.js} +2 -2
  29. package/dist/web/playground/assets/{vendor-BmgUyVmX.js → vendor-DKhA8bPd.js} +59 -59
  30. package/dist/web/{server/assets/vendor-codemirror-CFcn3kQd.js → playground/assets/vendor-codemirror-CnY0iCTs.js} +2 -2
  31. package/dist/web/playground/index.html +5 -5
  32. package/dist/web/playground/seed/core/chunks/canvas.9ad327d4.json +1 -0
  33. package/dist/web/playground/seed/core/chunks/{dashboards.4bc7b38a.json → dashboards.f4196444.json} +1 -1
  34. package/dist/web/playground/seed/core/chunks/{efforts.e1c363c5.json → efforts.7f0d2160.json} +1 -1
  35. package/dist/web/{server/seed/core/chunks/equipment.66601439.json → playground/seed/core/chunks/equipment.e7531ab5.json} +1 -1
  36. package/dist/web/playground/seed/core/indexes/notebooks/canvas.json +174 -183
  37. package/dist/web/playground/seed/core/indexes/notebooks/dashboards.json +13 -13
  38. package/dist/web/playground/seed/core/indexes/notebooks/efforts.json +323 -323
  39. package/dist/web/playground/seed/core/indexes/notebooks/equipment.json +47 -47
  40. package/dist/web/playground/seed/core/manifest.json +570 -604
  41. package/dist/web/playground/seed/core/markdown/canvas/ai-first/README.json +1 -1
  42. package/dist/web/playground/seed/core/markdown/canvas/guide/README.json +9 -9
  43. package/dist/web/playground/seed/core/markdown/canvas/guide/clock.json +2 -2
  44. package/dist/web/playground/seed/core/markdown/canvas/guide/dashboards.json +11 -11
  45. package/dist/web/playground/seed/core/markdown/canvas/guide/metrics.json +59 -59
  46. package/dist/web/playground/seed/core/markdown/canvas/guide/protocols.json +95 -95
  47. package/dist/web/playground/seed/core/markdown/canvas/guide/sessions.json +131 -131
  48. package/dist/web/playground/seed/core/markdown/canvas/guide/start.json +53 -53
  49. package/dist/web/playground/seed/core/markdown/canvas/guide/structure.json +101 -101
  50. package/dist/web/playground/seed/core/markdown/canvas/guide/wql.json +39 -39
  51. package/dist/web/playground/seed/core/markdown/canvas/home/sample-script.json +4 -4
  52. package/dist/web/playground/seed/core/markdown/canvas/home/welcome-1.json +2 -2
  53. package/dist/web/playground/seed/core/markdown/canvas/syntax/actions-comments.json +4 -4
  54. package/dist/web/playground/seed/core/markdown/canvas/syntax/alternating-emom.json +5 -5
  55. package/dist/web/playground/seed/core/markdown/canvas/syntax/basic-emom.json +4 -4
  56. package/dist/web/playground/seed/core/markdown/canvas/syntax/calculated-metrics.json +4 -4
  57. package/dist/web/playground/seed/core/markdown/canvas/syntax/classic-amrap.json +6 -6
  58. package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-barbell-cycling.json +4 -4
  59. package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-full-session.json +9 -9
  60. package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-nested-protocols.json +7 -7
  61. package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-partner-workout.json +7 -7
  62. package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-swimming.json +3 -3
  63. package/dist/web/playground/seed/core/markdown/canvas/syntax/core-rules.json +4 -4
  64. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-and-calculated-metrics.json +8 -8
  65. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-intervals.json +4 -4
  66. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-1.json +4 -4
  67. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-2.json +5 -5
  68. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-3.json +2 -2
  69. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-4.json +4 -4
  70. package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-5.json +4 -4
  71. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-climb-bouldering.json +2 -2
  72. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-climb-hangboard.json +2 -2
  73. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-climb-sport.json +2 -2
  74. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-log.json +4 -4
  75. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-plan.json +8 -8
  76. package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-wod.json +5 -5
  77. package/dist/web/playground/seed/core/markdown/canvas/syntax/distance-intervals.json +3 -3
  78. package/dist/web/playground/seed/core/markdown/canvas/syntax/document-1.json +4 -4
  79. package/dist/web/playground/seed/core/markdown/canvas/syntax/document-2.json +5 -5
  80. package/dist/web/playground/seed/core/markdown/canvas/syntax/document-3.json +10 -10
  81. package/dist/web/playground/seed/core/markdown/canvas/syntax/document-4.json +4 -4
  82. package/dist/web/playground/seed/core/markdown/canvas/syntax/effort-notes.json +4 -4
  83. package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-1.json +5 -5
  84. package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-2.json +6 -6
  85. package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-3.json +3 -3
  86. package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-4.json +3 -3
  87. package/dist/web/playground/seed/core/markdown/canvas/syntax/longer-duration.json +4 -4
  88. package/dist/web/playground/seed/core/markdown/canvas/syntax/longer-intervals.json +4 -4
  89. package/dist/web/playground/seed/core/markdown/canvas/syntax/measurements.json +4 -4
  90. package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-1.json +5 -5
  91. package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-2.json +7 -7
  92. package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-3.json +8 -8
  93. package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-4.json +5 -5
  94. package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-5.json +5 -5
  95. package/dist/web/playground/seed/core/markdown/canvas/syntax/mixed-sections.json +8 -8
  96. package/dist/web/playground/seed/core/markdown/canvas/syntax/mixed-timers.json +5 -5
  97. package/dist/web/playground/seed/core/markdown/canvas/syntax/multiple-amrap-windows.json +7 -7
  98. package/dist/web/playground/seed/core/markdown/canvas/syntax/multiple-sets.json +4 -4
  99. package/dist/web/playground/seed/core/markdown/canvas/syntax/named-groups.json +5 -5
  100. package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-1.json +6 -6
  101. package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-2.json +4 -4
  102. package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-3.json +6 -6
  103. package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-4.json +3 -3
  104. package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-5.json +4 -4
  105. package/dist/web/playground/seed/core/markdown/canvas/syntax/single-movement.json +3 -3
  106. package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-1.json +4 -4
  107. package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-2.json +5 -5
  108. package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-3.json +4 -4
  109. package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-4.json +4 -4
  110. package/dist/web/playground/seed/core/markdown/canvas/syntax/time-cap.json +6 -6
  111. package/dist/web/playground/seed/core/markdown/canvas/syntax/timer-modifiers.json +6 -6
  112. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-1.json +6 -6
  113. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-2.json +4 -4
  114. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-3.json +3 -3
  115. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-4.json +4 -4
  116. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-5.json +5 -5
  117. package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-rest.json +4 -4
  118. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/aggregate-by-effort.json +2 -2
  119. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/aggregate-by-week.json +2 -2
  120. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/content-fran.json +2 -2
  121. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/filter-combos.json +2 -2
  122. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/pipes-limit.json +2 -2
  123. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/session-rpe.json +2 -2
  124. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/source-journal.json +2 -2
  125. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/tis-trend.json +2 -2
  126. package/dist/web/playground/seed/core/markdown/canvas/wql-presets/where-join.json +2 -2
  127. package/dist/web/playground/seed/core/markdown/dashboards/benchmark-pr-board.json +6 -6
  128. package/dist/web/playground/seed/core/markdown/dashboards/finger-strength-v8.json +5 -5
  129. package/dist/web/playground/seed/core/markdown/dashboards/polarized-base-marathon.json +9 -9
  130. package/dist/web/playground/seed/core/markdown/dashboards/recovery-readiness.json +7 -7
  131. package/dist/web/playground/seed/core/markdown/dashboards/road-to-560-total.json +9 -9
  132. package/dist/web/playground/seed/core/markdown/dashboards/training-block-review.json +11 -11
  133. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/air-squat.json +1 -1
  134. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/box-jump.json +1 -1
  135. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/broad-jump.json +1 -1
  136. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/burpee-box-jump-over.json +1 -1
  137. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/burpee-over-dumbbell.json +1 -1
  138. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/burpee.json +1 -1
  139. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/dumbbell-squat-clean.json +1 -1
  140. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/ghd-sit-up.json +1 -1
  141. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/ground-kong.json +1 -1
  142. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/jumping-jack.json +1 -1
  143. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/kong-walk.json +1 -1
  144. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/lunge.json +1 -1
  145. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/overhead-squat.json +1 -1
  146. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/parkour-roll.json +1 -1
  147. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/parkour-squat.json +1 -1
  148. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/pistol-squat.json +1 -1
  149. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/plank.json +1 -1
  150. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/precision-burpee.json +1 -1
  151. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/precision-jump.json +1 -1
  152. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/quadrupedal-movement.json +1 -1
  153. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/russian-twist.json +1 -1
  154. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/sit-up.json +1 -1
  155. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/squat-clean.json +1 -1
  156. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/squat-hold.json +1 -1
  157. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/squat-snatch.json +1 -1
  158. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/tuck-jump.json +1 -1
  159. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/wall-ball.json +1 -1
  160. package/dist/web/playground/seed/core/markdown/efforts/bodyweight/wall-burpee.json +1 -1
  161. package/dist/web/playground/seed/core/markdown/efforts/cycling/assault-bike.json +1 -1
  162. package/dist/web/playground/seed/core/markdown/efforts/cycling/cycling-moderate.json +1 -1
  163. package/dist/web/playground/seed/core/markdown/efforts/cycling/cycling-vigorous.json +1 -1
  164. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/assisted-pull-up.json +1 -1
  165. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/burpee-pull-up.json +1 -1
  166. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/chest-to-bar-pull-up.json +1 -1
  167. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/dip.json +1 -1
  168. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/double-under.json +1 -1
  169. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/handstand-hold.json +1 -1
  170. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/handstand-push-up.json +1 -1
  171. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/handstand-walk.json +1 -1
  172. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/jump-rope.json +1 -1
  173. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/jumping-pull-up.json +1 -1
  174. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/jumping-push-up.json +1 -1
  175. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/l-sit-pull-up.json +1 -1
  176. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/muscle-up.json +1 -1
  177. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/pull-up.json +1 -1
  178. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/push-up.json +1 -1
  179. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/reverse-wall-dip.json +1 -1
  180. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/rope-climb.json +1 -1
  181. package/dist/web/playground/seed/core/markdown/efforts/gymnastics/toes-to-bar.json +1 -1
  182. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-arm-bar.json +1 -1
  183. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-around-the-world.json +1 -1
  184. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-bent-over-row.json +1 -1
  185. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-jerk.json +1 -1
  186. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-press.json +1 -1
  187. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-clean.json +1 -1
  188. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-deadlift.json +1 -1
  189. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-floor-press.json +1 -1
  190. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-front-squat.json +1 -1
  191. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-goblet-squat.json +1 -1
  192. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-gorilla-row.json +1 -1
  193. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-halo.json +1 -1
  194. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-jerk.json +1 -1
  195. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-overhead-squat.json +1 -1
  196. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-press.json +1 -1
  197. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-snatch.json +1 -1
  198. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-swing.json +1 -1
  199. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-windmill.json +1 -1
  200. package/dist/web/playground/seed/core/markdown/efforts/kettlebell/turkish-get-up.json +1 -1
  201. package/dist/web/playground/seed/core/markdown/efforts/recovery/rest.json +1 -1
  202. package/dist/web/playground/seed/core/markdown/efforts/recovery/stretching.json +1 -1
  203. package/dist/web/playground/seed/core/markdown/efforts/rowing/rowing-sprint.json +1 -1
  204. package/dist/web/playground/seed/core/markdown/efforts/rowing/rowing.json +1 -1
  205. package/dist/web/playground/seed/core/markdown/efforts/rowing/ski-erg.json +1 -1
  206. package/dist/web/playground/seed/core/markdown/efforts/running/backward-running.json +1 -1
  207. package/dist/web/playground/seed/core/markdown/efforts/running/running-6-mph.json +1 -1
  208. package/dist/web/playground/seed/core/markdown/efforts/running/running-8-mph.json +1 -1
  209. package/dist/web/playground/seed/core/markdown/efforts/running/running-sprint.json +1 -1
  210. package/dist/web/playground/seed/core/markdown/efforts/snatch.json +2 -2
  211. package/dist/web/playground/seed/core/markdown/efforts/strength/back-squat.json +1 -1
  212. package/dist/web/playground/seed/core/markdown/efforts/strength/bench-press.json +1 -1
  213. package/dist/web/playground/seed/core/markdown/efforts/strength/box-step-up.json +1 -1
  214. package/dist/web/playground/seed/core/markdown/efforts/strength/carioca.json +1 -1
  215. package/dist/web/playground/seed/core/markdown/efforts/strength/clean-and-jerk.json +1 -1
  216. package/dist/web/playground/seed/core/markdown/efforts/strength/cluster.json +1 -1
  217. package/dist/web/playground/seed/core/markdown/efforts/strength/dead-hang.json +1 -1
  218. package/dist/web/playground/seed/core/markdown/efforts/strength/deadlift.json +1 -1
  219. package/dist/web/playground/seed/core/markdown/efforts/strength/devils-press.json +1 -1
  220. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-box-step-up.json +1 -1
  221. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-clean.json +1 -1
  222. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-fly.json +1 -1
  223. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-row.json +1 -1
  224. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-snatch.json +1 -1
  225. package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-thruster.json +1 -1
  226. package/dist/web/playground/seed/core/markdown/efforts/strength/elbows-to-knees.json +1 -1
  227. package/dist/web/playground/seed/core/markdown/efforts/strength/farmer-carry.json +1 -1
  228. package/dist/web/playground/seed/core/markdown/efforts/strength/frog-stand.json +1 -1
  229. package/dist/web/playground/seed/core/markdown/efforts/strength/front-squat.json +1 -1
  230. package/dist/web/playground/seed/core/markdown/efforts/strength/good-morning.json +1 -1
  231. package/dist/web/playground/seed/core/markdown/efforts/strength/hanging-leg-raise.json +1 -1
  232. package/dist/web/playground/seed/core/markdown/efforts/strength/hollow-rock.json +1 -1
  233. package/dist/web/playground/seed/core/markdown/efforts/strength/knees-to-elbows.json +1 -1
  234. package/dist/web/playground/seed/core/markdown/efforts/strength/l-sit.json +1 -1
  235. package/dist/web/playground/seed/core/markdown/efforts/strength/man-maker.json +1 -1
  236. package/dist/web/playground/seed/core/markdown/efforts/strength/medicine-ball-clean.json +1 -1
  237. package/dist/web/playground/seed/core/markdown/efforts/strength/overhead-press.json +1 -1
  238. package/dist/web/playground/seed/core/markdown/efforts/strength/parkour-vault.json +1 -1
  239. package/dist/web/playground/seed/core/markdown/efforts/strength/pig-flip.json +1 -1
  240. package/dist/web/playground/seed/core/markdown/efforts/strength/power-clean.json +1 -1
  241. package/dist/web/playground/seed/core/markdown/efforts/strength/power-snatch.json +1 -1
  242. package/dist/web/playground/seed/core/markdown/efforts/strength/push-jerk.json +1 -1
  243. package/dist/web/playground/seed/core/markdown/efforts/strength/push-press.json +1 -1
  244. package/dist/web/playground/seed/core/markdown/efforts/strength/romanian-deadlift.json +1 -1
  245. package/dist/web/playground/seed/core/markdown/efforts/strength/single-leg-deadlift.json +1 -1
  246. package/dist/web/playground/seed/core/markdown/efforts/strength/skull-crusher.json +1 -1
  247. package/dist/web/playground/seed/core/markdown/efforts/strength/slam-ball.json +1 -1
  248. package/dist/web/playground/seed/core/markdown/efforts/strength/sled-pull.json +1 -1
  249. package/dist/web/playground/seed/core/markdown/efforts/strength/sled-push.json +1 -1
  250. package/dist/web/playground/seed/core/markdown/efforts/strength/sumo-deadlift.json +1 -1
  251. package/dist/web/playground/seed/core/markdown/efforts/strength/thruster.json +1 -1
  252. package/dist/web/playground/seed/core/markdown/efforts/strength/triceps-extension.json +1 -1
  253. package/dist/web/playground/seed/core/markdown/efforts/strength/v-sit-hold.json +1 -1
  254. package/dist/web/playground/seed/core/markdown/efforts/strength/wall-walk.json +1 -1
  255. package/dist/web/playground/seed/core/markdown/efforts/strength/yoga-sun-salutation.json +1 -1
  256. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-assisted-sprint.json +1 -1
  257. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-backstroke.json +1 -1
  258. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-breaststroke-kick.json +1 -1
  259. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-breaststroke.json +1 -1
  260. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-butterfly.json +1 -1
  261. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-catch-up-drill.json +1 -1
  262. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-choice-stroke.json +1 -1
  263. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-dive-start.json +1 -1
  264. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-dolphin-kick.json +1 -1
  265. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-drafting.json +1 -1
  266. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-fingertip-drag.json +1 -1
  267. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-freestyle.json +1 -1
  268. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-individual-medley.json +1 -1
  269. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-kick.json +1 -1
  270. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-pull.json +1 -1
  271. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-resisted-sprint.json +1 -1
  272. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-rotation-drill.json +1 -1
  273. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-sighting.json +1 -1
  274. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-single-arm-drill.json +1 -1
  275. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-stroke-transition.json +1 -1
  276. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-two-kick-one-pull.json +1 -1
  277. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-vigorous.json +1 -1
  278. package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming.json +1 -1
  279. package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-arm-cast.json +1 -1
  280. package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-circles.json +1 -1
  281. package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-mill.json +1 -1
  282. package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-reverse-mill.json +1 -1
  283. package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-shield-cast.json +1 -1
  284. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-10-to-2-swing.json +1 -1
  285. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-360-swing.json +1 -1
  286. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-barbarian-squat.json +1 -1
  287. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-flow.json +1 -1
  288. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-gravedigger.json +1 -1
  289. package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-touchdown.json +1 -1
  290. package/dist/web/playground/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-carry.json +1 -1
  291. package/dist/web/playground/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-extension.json +1 -1
  292. package/dist/web/playground/seed/core/markdown/efforts/unconventional/sandbag-over-shoulder.json +1 -1
  293. package/dist/web/playground/seed/core/markdown/efforts/walking/walking-3-mph.json +1 -1
  294. package/dist/web/playground/seed/core/markdown/equipment/air-bike.json +1 -1
  295. package/dist/web/playground/seed/core/markdown/equipment/barbell.json +1 -1
  296. package/dist/web/playground/seed/core/markdown/equipment/bench.json +1 -1
  297. package/dist/web/playground/seed/core/markdown/equipment/bike-erg.json +1 -1
  298. package/dist/web/playground/seed/core/markdown/equipment/climbing-rope.json +1 -1
  299. package/dist/web/playground/seed/core/markdown/equipment/clubs.json +1 -1
  300. package/dist/web/playground/seed/core/markdown/equipment/dumbbell.json +1 -1
  301. package/dist/web/playground/seed/core/markdown/equipment/ghd.json +1 -1
  302. package/dist/web/playground/seed/core/markdown/equipment/gymnastic-rings.json +1 -1
  303. package/dist/web/playground/seed/core/markdown/equipment/jump-rope.json +1 -1
  304. package/dist/web/playground/seed/core/markdown/equipment/kettlebell.json +1 -1
  305. package/dist/web/playground/seed/core/markdown/equipment/macebell.json +1 -1
  306. package/dist/web/playground/seed/core/markdown/equipment/medicine-ball.json +1 -1
  307. package/dist/web/playground/seed/core/markdown/equipment/parallettes.json +1 -1
  308. package/dist/web/playground/seed/core/markdown/equipment/plyo-box.json +1 -1
  309. package/dist/web/playground/seed/core/markdown/equipment/pull-up-bar.json +1 -1
  310. package/dist/web/playground/seed/core/markdown/equipment/rower.json +1 -1
  311. package/dist/web/playground/seed/core/markdown/equipment/sandbag.json +1 -1
  312. package/dist/web/playground/seed/core/markdown/equipment/ski-erg.json +1 -1
  313. package/dist/web/playground/seed/core/markdown/equipment/slam-ball.json +1 -1
  314. package/dist/web/playground/seed/core/markdown/equipment/sled.json +1 -1
  315. package/dist/web/playground/seed/core/markdown/equipment/sledgehammer.json +1 -1
  316. package/dist/web/playground/seed/core/markdown/equipment/weight-vest.json +1 -1
  317. package/dist/web/playground/seed/core/report.html +14 -15
  318. package/dist/web/server/assets/feedSync.worker-CEbxagtY.js +16 -0
  319. package/dist/web/server/assets/main-BKDG9P36.css +2 -0
  320. package/dist/web/server/assets/main-C_b1CczJ.js +491 -0
  321. package/dist/web/server/assets/{statementBuilderFlow-CAK7XpxL.js → statementBuilderFlow-BPmNsGND.js} +2 -2
  322. package/dist/web/server/assets/{vendor-BmgUyVmX.js → vendor-DKhA8bPd.js} +59 -59
  323. package/dist/web/{playground/assets/vendor-codemirror-CFcn3kQd.js → server/assets/vendor-codemirror-CnY0iCTs.js} +2 -2
  324. package/dist/web/server/index.html +5 -5
  325. package/dist/web/server/seed/core/chunks/canvas.9ad327d4.json +1 -0
  326. package/dist/web/server/seed/core/chunks/{dashboards.4bc7b38a.json → dashboards.f4196444.json} +1 -1
  327. package/dist/web/server/seed/core/chunks/{efforts.e1c363c5.json → efforts.7f0d2160.json} +1 -1
  328. package/dist/web/{playground/seed/core/chunks/equipment.66601439.json → server/seed/core/chunks/equipment.e7531ab5.json} +1 -1
  329. package/dist/web/server/seed/core/indexes/notebooks/canvas.json +174 -183
  330. package/dist/web/server/seed/core/indexes/notebooks/dashboards.json +13 -13
  331. package/dist/web/server/seed/core/indexes/notebooks/efforts.json +323 -323
  332. package/dist/web/server/seed/core/indexes/notebooks/equipment.json +47 -47
  333. package/dist/web/server/seed/core/manifest.json +570 -604
  334. package/dist/web/server/seed/core/markdown/canvas/ai-first/README.json +1 -1
  335. package/dist/web/server/seed/core/markdown/canvas/guide/README.json +9 -9
  336. package/dist/web/server/seed/core/markdown/canvas/guide/clock.json +2 -2
  337. package/dist/web/server/seed/core/markdown/canvas/guide/dashboards.json +11 -11
  338. package/dist/web/server/seed/core/markdown/canvas/guide/metrics.json +59 -59
  339. package/dist/web/server/seed/core/markdown/canvas/guide/protocols.json +95 -95
  340. package/dist/web/server/seed/core/markdown/canvas/guide/sessions.json +131 -131
  341. package/dist/web/server/seed/core/markdown/canvas/guide/start.json +53 -53
  342. package/dist/web/server/seed/core/markdown/canvas/guide/structure.json +101 -101
  343. package/dist/web/server/seed/core/markdown/canvas/guide/wql.json +39 -39
  344. package/dist/web/server/seed/core/markdown/canvas/home/sample-script.json +4 -4
  345. package/dist/web/server/seed/core/markdown/canvas/home/welcome-1.json +2 -2
  346. package/dist/web/server/seed/core/markdown/canvas/syntax/actions-comments.json +4 -4
  347. package/dist/web/server/seed/core/markdown/canvas/syntax/alternating-emom.json +5 -5
  348. package/dist/web/server/seed/core/markdown/canvas/syntax/basic-emom.json +4 -4
  349. package/dist/web/server/seed/core/markdown/canvas/syntax/calculated-metrics.json +4 -4
  350. package/dist/web/server/seed/core/markdown/canvas/syntax/classic-amrap.json +6 -6
  351. package/dist/web/server/seed/core/markdown/canvas/syntax/complex-barbell-cycling.json +4 -4
  352. package/dist/web/server/seed/core/markdown/canvas/syntax/complex-full-session.json +9 -9
  353. package/dist/web/server/seed/core/markdown/canvas/syntax/complex-nested-protocols.json +7 -7
  354. package/dist/web/server/seed/core/markdown/canvas/syntax/complex-partner-workout.json +7 -7
  355. package/dist/web/server/seed/core/markdown/canvas/syntax/complex-swimming.json +3 -3
  356. package/dist/web/server/seed/core/markdown/canvas/syntax/core-rules.json +4 -4
  357. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-and-calculated-metrics.json +8 -8
  358. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-intervals.json +4 -4
  359. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-1.json +4 -4
  360. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-2.json +5 -5
  361. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-3.json +2 -2
  362. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-4.json +4 -4
  363. package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-5.json +4 -4
  364. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-climb-bouldering.json +2 -2
  365. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-climb-hangboard.json +2 -2
  366. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-climb-sport.json +2 -2
  367. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-log.json +4 -4
  368. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-plan.json +8 -8
  369. package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-wod.json +5 -5
  370. package/dist/web/server/seed/core/markdown/canvas/syntax/distance-intervals.json +3 -3
  371. package/dist/web/server/seed/core/markdown/canvas/syntax/document-1.json +4 -4
  372. package/dist/web/server/seed/core/markdown/canvas/syntax/document-2.json +5 -5
  373. package/dist/web/server/seed/core/markdown/canvas/syntax/document-3.json +10 -10
  374. package/dist/web/server/seed/core/markdown/canvas/syntax/document-4.json +4 -4
  375. package/dist/web/server/seed/core/markdown/canvas/syntax/effort-notes.json +4 -4
  376. package/dist/web/server/seed/core/markdown/canvas/syntax/groups-1.json +5 -5
  377. package/dist/web/server/seed/core/markdown/canvas/syntax/groups-2.json +6 -6
  378. package/dist/web/server/seed/core/markdown/canvas/syntax/groups-3.json +3 -3
  379. package/dist/web/server/seed/core/markdown/canvas/syntax/groups-4.json +3 -3
  380. package/dist/web/server/seed/core/markdown/canvas/syntax/longer-duration.json +4 -4
  381. package/dist/web/server/seed/core/markdown/canvas/syntax/longer-intervals.json +4 -4
  382. package/dist/web/server/seed/core/markdown/canvas/syntax/measurements.json +4 -4
  383. package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-1.json +5 -5
  384. package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-2.json +7 -7
  385. package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-3.json +8 -8
  386. package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-4.json +5 -5
  387. package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-5.json +5 -5
  388. package/dist/web/server/seed/core/markdown/canvas/syntax/mixed-sections.json +8 -8
  389. package/dist/web/server/seed/core/markdown/canvas/syntax/mixed-timers.json +5 -5
  390. package/dist/web/server/seed/core/markdown/canvas/syntax/multiple-amrap-windows.json +7 -7
  391. package/dist/web/server/seed/core/markdown/canvas/syntax/multiple-sets.json +4 -4
  392. package/dist/web/server/seed/core/markdown/canvas/syntax/named-groups.json +5 -5
  393. package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-1.json +6 -6
  394. package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-2.json +4 -4
  395. package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-3.json +6 -6
  396. package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-4.json +3 -3
  397. package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-5.json +4 -4
  398. package/dist/web/server/seed/core/markdown/canvas/syntax/single-movement.json +3 -3
  399. package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-1.json +4 -4
  400. package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-2.json +5 -5
  401. package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-3.json +4 -4
  402. package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-4.json +4 -4
  403. package/dist/web/server/seed/core/markdown/canvas/syntax/time-cap.json +6 -6
  404. package/dist/web/server/seed/core/markdown/canvas/syntax/timer-modifiers.json +6 -6
  405. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-1.json +6 -6
  406. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-2.json +4 -4
  407. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-3.json +3 -3
  408. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-4.json +4 -4
  409. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-5.json +5 -5
  410. package/dist/web/server/seed/core/markdown/canvas/syntax/timers-rest.json +4 -4
  411. package/dist/web/server/seed/core/markdown/canvas/wql-presets/aggregate-by-effort.json +2 -2
  412. package/dist/web/server/seed/core/markdown/canvas/wql-presets/aggregate-by-week.json +2 -2
  413. package/dist/web/server/seed/core/markdown/canvas/wql-presets/content-fran.json +2 -2
  414. package/dist/web/server/seed/core/markdown/canvas/wql-presets/filter-combos.json +2 -2
  415. package/dist/web/server/seed/core/markdown/canvas/wql-presets/pipes-limit.json +2 -2
  416. package/dist/web/server/seed/core/markdown/canvas/wql-presets/session-rpe.json +2 -2
  417. package/dist/web/server/seed/core/markdown/canvas/wql-presets/source-journal.json +2 -2
  418. package/dist/web/server/seed/core/markdown/canvas/wql-presets/tis-trend.json +2 -2
  419. package/dist/web/server/seed/core/markdown/canvas/wql-presets/where-join.json +2 -2
  420. package/dist/web/server/seed/core/markdown/dashboards/benchmark-pr-board.json +6 -6
  421. package/dist/web/server/seed/core/markdown/dashboards/finger-strength-v8.json +5 -5
  422. package/dist/web/server/seed/core/markdown/dashboards/polarized-base-marathon.json +9 -9
  423. package/dist/web/server/seed/core/markdown/dashboards/recovery-readiness.json +7 -7
  424. package/dist/web/server/seed/core/markdown/dashboards/road-to-560-total.json +9 -9
  425. package/dist/web/server/seed/core/markdown/dashboards/training-block-review.json +11 -11
  426. package/dist/web/server/seed/core/markdown/efforts/bodyweight/air-squat.json +1 -1
  427. package/dist/web/server/seed/core/markdown/efforts/bodyweight/box-jump.json +1 -1
  428. package/dist/web/server/seed/core/markdown/efforts/bodyweight/broad-jump.json +1 -1
  429. package/dist/web/server/seed/core/markdown/efforts/bodyweight/burpee-box-jump-over.json +1 -1
  430. package/dist/web/server/seed/core/markdown/efforts/bodyweight/burpee-over-dumbbell.json +1 -1
  431. package/dist/web/server/seed/core/markdown/efforts/bodyweight/burpee.json +1 -1
  432. package/dist/web/server/seed/core/markdown/efforts/bodyweight/dumbbell-squat-clean.json +1 -1
  433. package/dist/web/server/seed/core/markdown/efforts/bodyweight/ghd-sit-up.json +1 -1
  434. package/dist/web/server/seed/core/markdown/efforts/bodyweight/ground-kong.json +1 -1
  435. package/dist/web/server/seed/core/markdown/efforts/bodyweight/jumping-jack.json +1 -1
  436. package/dist/web/server/seed/core/markdown/efforts/bodyweight/kong-walk.json +1 -1
  437. package/dist/web/server/seed/core/markdown/efforts/bodyweight/lunge.json +1 -1
  438. package/dist/web/server/seed/core/markdown/efforts/bodyweight/overhead-squat.json +1 -1
  439. package/dist/web/server/seed/core/markdown/efforts/bodyweight/parkour-roll.json +1 -1
  440. package/dist/web/server/seed/core/markdown/efforts/bodyweight/parkour-squat.json +1 -1
  441. package/dist/web/server/seed/core/markdown/efforts/bodyweight/pistol-squat.json +1 -1
  442. package/dist/web/server/seed/core/markdown/efforts/bodyweight/plank.json +1 -1
  443. package/dist/web/server/seed/core/markdown/efforts/bodyweight/precision-burpee.json +1 -1
  444. package/dist/web/server/seed/core/markdown/efforts/bodyweight/precision-jump.json +1 -1
  445. package/dist/web/server/seed/core/markdown/efforts/bodyweight/quadrupedal-movement.json +1 -1
  446. package/dist/web/server/seed/core/markdown/efforts/bodyweight/russian-twist.json +1 -1
  447. package/dist/web/server/seed/core/markdown/efforts/bodyweight/sit-up.json +1 -1
  448. package/dist/web/server/seed/core/markdown/efforts/bodyweight/squat-clean.json +1 -1
  449. package/dist/web/server/seed/core/markdown/efforts/bodyweight/squat-hold.json +1 -1
  450. package/dist/web/server/seed/core/markdown/efforts/bodyweight/squat-snatch.json +1 -1
  451. package/dist/web/server/seed/core/markdown/efforts/bodyweight/tuck-jump.json +1 -1
  452. package/dist/web/server/seed/core/markdown/efforts/bodyweight/wall-ball.json +1 -1
  453. package/dist/web/server/seed/core/markdown/efforts/bodyweight/wall-burpee.json +1 -1
  454. package/dist/web/server/seed/core/markdown/efforts/cycling/assault-bike.json +1 -1
  455. package/dist/web/server/seed/core/markdown/efforts/cycling/cycling-moderate.json +1 -1
  456. package/dist/web/server/seed/core/markdown/efforts/cycling/cycling-vigorous.json +1 -1
  457. package/dist/web/server/seed/core/markdown/efforts/gymnastics/assisted-pull-up.json +1 -1
  458. package/dist/web/server/seed/core/markdown/efforts/gymnastics/burpee-pull-up.json +1 -1
  459. package/dist/web/server/seed/core/markdown/efforts/gymnastics/chest-to-bar-pull-up.json +1 -1
  460. package/dist/web/server/seed/core/markdown/efforts/gymnastics/dip.json +1 -1
  461. package/dist/web/server/seed/core/markdown/efforts/gymnastics/double-under.json +1 -1
  462. package/dist/web/server/seed/core/markdown/efforts/gymnastics/handstand-hold.json +1 -1
  463. package/dist/web/server/seed/core/markdown/efforts/gymnastics/handstand-push-up.json +1 -1
  464. package/dist/web/server/seed/core/markdown/efforts/gymnastics/handstand-walk.json +1 -1
  465. package/dist/web/server/seed/core/markdown/efforts/gymnastics/jump-rope.json +1 -1
  466. package/dist/web/server/seed/core/markdown/efforts/gymnastics/jumping-pull-up.json +1 -1
  467. package/dist/web/server/seed/core/markdown/efforts/gymnastics/jumping-push-up.json +1 -1
  468. package/dist/web/server/seed/core/markdown/efforts/gymnastics/l-sit-pull-up.json +1 -1
  469. package/dist/web/server/seed/core/markdown/efforts/gymnastics/muscle-up.json +1 -1
  470. package/dist/web/server/seed/core/markdown/efforts/gymnastics/pull-up.json +1 -1
  471. package/dist/web/server/seed/core/markdown/efforts/gymnastics/push-up.json +1 -1
  472. package/dist/web/server/seed/core/markdown/efforts/gymnastics/reverse-wall-dip.json +1 -1
  473. package/dist/web/server/seed/core/markdown/efforts/gymnastics/rope-climb.json +1 -1
  474. package/dist/web/server/seed/core/markdown/efforts/gymnastics/toes-to-bar.json +1 -1
  475. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-arm-bar.json +1 -1
  476. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-around-the-world.json +1 -1
  477. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-bent-over-row.json +1 -1
  478. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-jerk.json +1 -1
  479. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-press.json +1 -1
  480. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-clean.json +1 -1
  481. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-deadlift.json +1 -1
  482. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-floor-press.json +1 -1
  483. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-front-squat.json +1 -1
  484. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-goblet-squat.json +1 -1
  485. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-gorilla-row.json +1 -1
  486. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-halo.json +1 -1
  487. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-jerk.json +1 -1
  488. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-overhead-squat.json +1 -1
  489. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-press.json +1 -1
  490. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-snatch.json +1 -1
  491. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-swing.json +1 -1
  492. package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-windmill.json +1 -1
  493. package/dist/web/server/seed/core/markdown/efforts/kettlebell/turkish-get-up.json +1 -1
  494. package/dist/web/server/seed/core/markdown/efforts/recovery/rest.json +1 -1
  495. package/dist/web/server/seed/core/markdown/efforts/recovery/stretching.json +1 -1
  496. package/dist/web/server/seed/core/markdown/efforts/rowing/rowing-sprint.json +1 -1
  497. package/dist/web/server/seed/core/markdown/efforts/rowing/rowing.json +1 -1
  498. package/dist/web/server/seed/core/markdown/efforts/rowing/ski-erg.json +1 -1
  499. package/dist/web/server/seed/core/markdown/efforts/running/backward-running.json +1 -1
  500. package/dist/web/server/seed/core/markdown/efforts/running/running-6-mph.json +1 -1
  501. package/dist/web/server/seed/core/markdown/efforts/running/running-8-mph.json +1 -1
  502. package/dist/web/server/seed/core/markdown/efforts/running/running-sprint.json +1 -1
  503. package/dist/web/server/seed/core/markdown/efforts/snatch.json +2 -2
  504. package/dist/web/server/seed/core/markdown/efforts/strength/back-squat.json +1 -1
  505. package/dist/web/server/seed/core/markdown/efforts/strength/bench-press.json +1 -1
  506. package/dist/web/server/seed/core/markdown/efforts/strength/box-step-up.json +1 -1
  507. package/dist/web/server/seed/core/markdown/efforts/strength/carioca.json +1 -1
  508. package/dist/web/server/seed/core/markdown/efforts/strength/clean-and-jerk.json +1 -1
  509. package/dist/web/server/seed/core/markdown/efforts/strength/cluster.json +1 -1
  510. package/dist/web/server/seed/core/markdown/efforts/strength/dead-hang.json +1 -1
  511. package/dist/web/server/seed/core/markdown/efforts/strength/deadlift.json +1 -1
  512. package/dist/web/server/seed/core/markdown/efforts/strength/devils-press.json +1 -1
  513. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-box-step-up.json +1 -1
  514. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-clean.json +1 -1
  515. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-fly.json +1 -1
  516. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-row.json +1 -1
  517. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-snatch.json +1 -1
  518. package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-thruster.json +1 -1
  519. package/dist/web/server/seed/core/markdown/efforts/strength/elbows-to-knees.json +1 -1
  520. package/dist/web/server/seed/core/markdown/efforts/strength/farmer-carry.json +1 -1
  521. package/dist/web/server/seed/core/markdown/efforts/strength/frog-stand.json +1 -1
  522. package/dist/web/server/seed/core/markdown/efforts/strength/front-squat.json +1 -1
  523. package/dist/web/server/seed/core/markdown/efforts/strength/good-morning.json +1 -1
  524. package/dist/web/server/seed/core/markdown/efforts/strength/hanging-leg-raise.json +1 -1
  525. package/dist/web/server/seed/core/markdown/efforts/strength/hollow-rock.json +1 -1
  526. package/dist/web/server/seed/core/markdown/efforts/strength/knees-to-elbows.json +1 -1
  527. package/dist/web/server/seed/core/markdown/efforts/strength/l-sit.json +1 -1
  528. package/dist/web/server/seed/core/markdown/efforts/strength/man-maker.json +1 -1
  529. package/dist/web/server/seed/core/markdown/efforts/strength/medicine-ball-clean.json +1 -1
  530. package/dist/web/server/seed/core/markdown/efforts/strength/overhead-press.json +1 -1
  531. package/dist/web/server/seed/core/markdown/efforts/strength/parkour-vault.json +1 -1
  532. package/dist/web/server/seed/core/markdown/efforts/strength/pig-flip.json +1 -1
  533. package/dist/web/server/seed/core/markdown/efforts/strength/power-clean.json +1 -1
  534. package/dist/web/server/seed/core/markdown/efforts/strength/power-snatch.json +1 -1
  535. package/dist/web/server/seed/core/markdown/efforts/strength/push-jerk.json +1 -1
  536. package/dist/web/server/seed/core/markdown/efforts/strength/push-press.json +1 -1
  537. package/dist/web/server/seed/core/markdown/efforts/strength/romanian-deadlift.json +1 -1
  538. package/dist/web/server/seed/core/markdown/efforts/strength/single-leg-deadlift.json +1 -1
  539. package/dist/web/server/seed/core/markdown/efforts/strength/skull-crusher.json +1 -1
  540. package/dist/web/server/seed/core/markdown/efforts/strength/slam-ball.json +1 -1
  541. package/dist/web/server/seed/core/markdown/efforts/strength/sled-pull.json +1 -1
  542. package/dist/web/server/seed/core/markdown/efforts/strength/sled-push.json +1 -1
  543. package/dist/web/server/seed/core/markdown/efforts/strength/sumo-deadlift.json +1 -1
  544. package/dist/web/server/seed/core/markdown/efforts/strength/thruster.json +1 -1
  545. package/dist/web/server/seed/core/markdown/efforts/strength/triceps-extension.json +1 -1
  546. package/dist/web/server/seed/core/markdown/efforts/strength/v-sit-hold.json +1 -1
  547. package/dist/web/server/seed/core/markdown/efforts/strength/wall-walk.json +1 -1
  548. package/dist/web/server/seed/core/markdown/efforts/strength/yoga-sun-salutation.json +1 -1
  549. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-assisted-sprint.json +1 -1
  550. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-backstroke.json +1 -1
  551. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-breaststroke-kick.json +1 -1
  552. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-breaststroke.json +1 -1
  553. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-butterfly.json +1 -1
  554. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-catch-up-drill.json +1 -1
  555. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-choice-stroke.json +1 -1
  556. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-dive-start.json +1 -1
  557. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-dolphin-kick.json +1 -1
  558. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-drafting.json +1 -1
  559. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-fingertip-drag.json +1 -1
  560. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-freestyle.json +1 -1
  561. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-individual-medley.json +1 -1
  562. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-kick.json +1 -1
  563. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-pull.json +1 -1
  564. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-resisted-sprint.json +1 -1
  565. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-rotation-drill.json +1 -1
  566. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-sighting.json +1 -1
  567. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-single-arm-drill.json +1 -1
  568. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-stroke-transition.json +1 -1
  569. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-two-kick-one-pull.json +1 -1
  570. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-vigorous.json +1 -1
  571. package/dist/web/server/seed/core/markdown/efforts/swimming/swimming.json +1 -1
  572. package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-arm-cast.json +1 -1
  573. package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-circles.json +1 -1
  574. package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-mill.json +1 -1
  575. package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-reverse-mill.json +1 -1
  576. package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-shield-cast.json +1 -1
  577. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-10-to-2-swing.json +1 -1
  578. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-360-swing.json +1 -1
  579. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-barbarian-squat.json +1 -1
  580. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-flow.json +1 -1
  581. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-gravedigger.json +1 -1
  582. package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-touchdown.json +1 -1
  583. package/dist/web/server/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-carry.json +1 -1
  584. package/dist/web/server/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-extension.json +1 -1
  585. package/dist/web/server/seed/core/markdown/efforts/unconventional/sandbag-over-shoulder.json +1 -1
  586. package/dist/web/server/seed/core/markdown/efforts/walking/walking-3-mph.json +1 -1
  587. package/dist/web/server/seed/core/markdown/equipment/air-bike.json +1 -1
  588. package/dist/web/server/seed/core/markdown/equipment/barbell.json +1 -1
  589. package/dist/web/server/seed/core/markdown/equipment/bench.json +1 -1
  590. package/dist/web/server/seed/core/markdown/equipment/bike-erg.json +1 -1
  591. package/dist/web/server/seed/core/markdown/equipment/climbing-rope.json +1 -1
  592. package/dist/web/server/seed/core/markdown/equipment/clubs.json +1 -1
  593. package/dist/web/server/seed/core/markdown/equipment/dumbbell.json +1 -1
  594. package/dist/web/server/seed/core/markdown/equipment/ghd.json +1 -1
  595. package/dist/web/server/seed/core/markdown/equipment/gymnastic-rings.json +1 -1
  596. package/dist/web/server/seed/core/markdown/equipment/jump-rope.json +1 -1
  597. package/dist/web/server/seed/core/markdown/equipment/kettlebell.json +1 -1
  598. package/dist/web/server/seed/core/markdown/equipment/macebell.json +1 -1
  599. package/dist/web/server/seed/core/markdown/equipment/medicine-ball.json +1 -1
  600. package/dist/web/server/seed/core/markdown/equipment/parallettes.json +1 -1
  601. package/dist/web/server/seed/core/markdown/equipment/plyo-box.json +1 -1
  602. package/dist/web/server/seed/core/markdown/equipment/pull-up-bar.json +1 -1
  603. package/dist/web/server/seed/core/markdown/equipment/rower.json +1 -1
  604. package/dist/web/server/seed/core/markdown/equipment/sandbag.json +1 -1
  605. package/dist/web/server/seed/core/markdown/equipment/ski-erg.json +1 -1
  606. package/dist/web/server/seed/core/markdown/equipment/slam-ball.json +1 -1
  607. package/dist/web/server/seed/core/markdown/equipment/sled.json +1 -1
  608. package/dist/web/server/seed/core/markdown/equipment/sledgehammer.json +1 -1
  609. package/dist/web/server/seed/core/markdown/equipment/weight-vest.json +1 -1
  610. package/dist/web/server/seed/core/report.html +14 -15
  611. package/package.json +6 -6
  612. package/dist/chunk-3TMW3M6P.mjs.map +0 -1
  613. package/dist/chunk-BQ6HTRH3.mjs.map +0 -1
  614. package/dist/chunk-ZWCQTF54.mjs.map +0 -1
  615. package/dist/compiler-V2BLOB2B.mjs +0 -9
  616. package/dist/scaffoldCatalog-TBCLNCTP.mjs.map +0 -1
  617. package/dist/web/playground/assets/main-BlTWLmeO.js +0 -209
  618. package/dist/web/playground/assets/main-bpDz6cBb.css +0 -2
  619. package/dist/web/playground/assets/seedSync.worker-CXyhCqQv.js +0 -16
  620. package/dist/web/playground/seed/core/apps/playground/app/templates/new-playground.json +0 -39
  621. package/dist/web/playground/seed/core/chunks/canvas.535fd032.json +0 -1
  622. package/dist/web/playground/seed/core/chunks/template.228e9339.json +0 -1
  623. package/dist/web/playground/seed/core/indexes/notebooks/template.json +0 -18
  624. package/dist/web/playground/seed/core/markdown/canvas/home/README.json +0 -11
  625. package/dist/web/server/assets/main-C-hsQXqP.js +0 -209
  626. package/dist/web/server/assets/main-bpDz6cBb.css +0 -2
  627. package/dist/web/server/assets/seedSync.worker-CXyhCqQv.js +0 -16
  628. package/dist/web/server/seed/core/apps/playground/app/templates/new-playground.json +0 -39
  629. package/dist/web/server/seed/core/chunks/canvas.535fd032.json +0 -1
  630. package/dist/web/server/seed/core/chunks/template.228e9339.json +0 -1
  631. package/dist/web/server/seed/core/indexes/notebooks/template.json +0 -18
  632. package/dist/web/server/seed/core/markdown/canvas/home/README.json +0 -11
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "path": "markdown/canvas/guide/metrics.md",
3
- "content": "---\nsearch: hidden\ntemplate: canvas\nroute: /guide/metrics\ntype: guide\ntitle: \"Metrics: Planned, Recorded, Calculated\"\ndescription: \"Planned, recorded, and calculated metrics, custom inline values, and capture prompts for what you don't know yet.\"\n---\n\n```chapter\nid: metrics\ntitle: Metrics\nbadge: activity\nquests: metrics-run, metrics-custom, metrics-capture\nsections: []\n```\n\n```quest\nid: metrics-run\nlabel: Run the First Example\nvalidation:\n type: run-started\n```\n\n```quest\nid: metrics-custom\nlabel: Attach a custom metric\nvalidation:\n type: contains-token\n value: '{\"rpe\"'\n```\n\n```quest\nid: metrics-capture\nlabel: Add a collectible load\nvalidation:\n type: contains-token\n value: ?lb\n```\n\n# Metrics: Planned, Recorded, Calculated {sticky dark full-bleed}\n\nEvery number in WOD Wiki has an origin. Knowing the three layers tells you what you can query and what you can trust.\n\n```view\nname: preview\nstate: note\nsource: wods/examples/home/sample-script.md\nruntime: in-memory\nlaunch: host\nalign: right\nwidth: 50%\n```\n\n## The three layers {#planned-vs-recorded}\n\n| Layer | Who produces it | Examples | You asked for it by writing |\n|---|---|---|---|\n| **Planned** | parser + compiler, from your text | `5:00` duration, `(21-15-9)` reps, `24kg` load, discipline/intensity hints | the line itself |\n| **Recorded** | the runtime clock while you exercise | elapsed spans, splits, reps/distance/resistance performed, captured loads and ratings | `:?`, `?lb`, and running the workout |\n| **Calculated** | the analytics engine after (and during) runs | `calc.e1rm`, `calc.acwr`, `calc.readiness`, … | enough recorded facts to feed a formula |\n\nThe running example makes the split concrete:\n\n```time\n(3)\n 10 Kettlebell Swings 24kg\n *:30 Rest\n```\n\nPlanned: 3 rounds, 10 reps, 24 kg, 30 s rest. After running it, the recorded facts (30 swings at 24 kg) derive **720 kg of total volume** — computed from records, never asserted. That number is what [WQL](/guide/wql?h=aggregate) queries later.\n\n## Inline custom metrics {#custom-metrics}\n\n```button\nlabel: Try it: Custom metrics\ntarget: preview\npipeline:\n - set-source: wods/examples/syntax/custom-metrics-1.md\n```\n\nAttach any key/value data with a JSON object, anywhere on the line:\n\n```time\n5 Back Squat 225lb {\"rpe\": 8}\n10 Thrusters 95lb {\"intensity\": 80, \"coach\": \"greg\"}\n```\n\n- **Optional & additive** — existing syntax is unchanged; the object can sit anywhere on the line.\n- **Typed values** — numbers, strings, booleans, or null.\n- **Known keys** (`rpe`, `rir`, `intensity`, `load`) map to canonical metric types.\n- **Any other key becomes a custom metric** — and a queryable dimension (`{coach:greg}` filters, `by {coach}` groups; keys are camelCase-normalized, so `Sleep Quality` answers to `sleepQuality`).\n\n## Capture prompts {#capture}\n\n```button\nlabel: Try it: Collectible loads\ntarget: preview\npipeline:\n - set-source: wods/examples/syntax/metrics-5.md\n```\n\nUnknown values become **collectible** placeholders — the plan stays honest, and you supply the actual during capture:\n\n| Line | What it means |\n|---|---|\n| `?lb Back Squat` | collectible load — unknown at parse; you enter the actual value when capturing |\n| `225lb ?lb Deadlift` | prescribed 225 lb alongside a collectible load (editing allowed) |\n| `?kg Clean` | collectible load in kilograms |\n| `?` | collectible reps — how many you actually did |\n| `?m` / `?km` / `?mile` | collectible distance |\n| `For Time :?` | collectible timer — elapsed time is recorded when you complete the block |\n| `5km Run :?` | distance is prescribed, so `:?` collects the **time taken** |\n| `:? Max Effort Pushups` | a bare `:?` mounts a count-up timer whose elapsed is recorded on completion — the prefix form parses the same |\n\nThe collectible rule: a value that is **prescribed** is written literally; a value that is the **outcome** gets the `?` placeholder — a time-prescribed run collects distance with `?m`, a distance-prescribed run collects time with `:?`. What the clock does when a prompt fires is the [Clock chapter](/guide/clock?h=capture-prompts).\n\nCaptured loads feed trendlines, estimated 1RMs, and PR detection across sessions.\n\n## Session RPE {#session-rpe}\n\nA session-level rating rides on the note as a property:\n\n```log\ndate: 2026-05-25\nrpe: 7\n\n5 Back Squat 225lb hard\n```\n\n`rpe:` (and `rir:`) are typed session metrics — the parser maps the property to `session-rpe`, the stored fact carries canonical key `session-rpe`, and the executor matches aggregate metric keys by exact string, so weekly intensity is one query:\n\n```query\navg:session-rpe{} by {week}\n```\n\n(Older pages showed `avg:wod.rpe` — no such key exists; `session-rpe` is the real one.)\n\n## Calculated metrics {#calculated}\n\n```button\nlabel: Try it: Calculated metrics\ntarget: preview\npipeline:\n - set-source: wods/examples/syntax/calculated-metrics.md\n```\n\nTwo ways to derive values.\n\n**In-note `calculate` blocks** evaluate over the workout's recorded rows; rows with unknown inputs are skipped, not zeroed:\n\n````markdown\n```time\nrpe: 8\n(5 Sets)\n 5 Deadlifts 225lb\n 5 Deadlifts ?lb\n```\n\n```calculate\ntotalLoad = sum(reps * weight)\navgRPE = mean(rpe)\nsetCount = count(reps)\n```\n````\n\nA trailing `calculate` section inside the fence works the same way. Formulas run live during tracking and finalize on completion.\n\n**Engine-published `calc.*` metrics** are built in — the full vocabulary WQL can query:\n\n| Family | Keys |\n|---|---|\n| Training load | `calc.acwr`, `calc.monotony`, `calc.strain`, `calc.ctl`, `calc.atl`, `calc.tsb` |\n| Strength | `calc.e1rm`, `calc.pct1rm` |\n| Wellness | `calc.soreness`, `calc.sleep`, `calc.hrv`, `calc.readiness` |\n| Climb / run | `calc.sends`, `calc.ef`, `calc.metMinutes`, `calc.mvcBw` |\n| Plan | `calc.adherence` |\n\nNo invented prerequisites: each formula states what it needs. `calc.readiness`, for example, is computed only for days where a ```wellness fence captured **soreness, sleep, and HRV** — days missing any input produce no value rather than a misleading zero. These 17 keys are exactly the engine-registered set; any other `calc.*` (e.g. the planned `calc.pmc` composite) renders a labeled **proposed** placeholder instead of a value.\n\n## Try it {#try-it}\n\nThe kettlebell example is already in the panel — run it, then open the review grid: reps and load should come from the plan, splits and elapsed from the clock, and `totalVolume` should appear as a derived summary. Add `{\"rpe\": 7}` to a line and re-run — the custom metric should appear in the grid. **Result query** — the same run answers `sum:totalVolume{effort:kettlebell-swings} last 6w` in [WQL](/guide/wql?h=aggregate). This chapter reads what runs record; saving follows the shared run contract — no separate result policy.\n\n```button\nlabel: Run\ntarget: preview\nopen: view\npipeline:\n - set-state: track\n```\n\n",
3
+ "content": "---\nsearch: hidden\ntemplate: canvas\nroute: /page/guide-metrics\ntype: guide\ntitle: \"Metrics: Planned, Recorded, Calculated\"\ndescription: \"Planned, recorded, and calculated metrics, custom inline values, and capture prompts for what you don't know yet.\"\n---\n\n```chapter\nid: metrics\ntitle: Metrics\nbadge: activity\nquests: metrics-run, metrics-custom, metrics-capture\nsections: []\n```\n\n```quest\nid: metrics-run\nlabel: Run the First Example\nvalidation:\n type: run-started\n```\n\n```quest\nid: metrics-custom\nlabel: Attach a custom metric\nvalidation:\n type: contains-token\n value: '{\"rpe\"'\n```\n\n```quest\nid: metrics-capture\nlabel: Add a collectible load\nvalidation:\n type: contains-token\n value: ?lb\n```\n\n# Metrics: Planned, Recorded, Calculated {sticky dark full-bleed}\n\nEvery number in WOD Wiki has an origin. Knowing the three layers tells you what you can query and what you can trust.\n\n```view\nname: preview\nstate: note\nsource: wods/examples/home/sample-script.md\nruntime: in-memory\nlaunch: host\nalign: right\nwidth: 50%\n```\n\n## The three layers {#planned-vs-recorded}\n\n| Layer | Who produces it | Examples | You asked for it by writing |\n|---|---|---|---|\n| **Planned** | parser + compiler, from your text | `5:00` duration, `(21-15-9)` reps, `24kg` load, discipline/intensity hints | the line itself |\n| **Recorded** | the runtime clock while you exercise | elapsed spans, splits, reps/distance/resistance performed, captured loads and ratings | `:?`, `?lb`, and running the workout |\n| **Calculated** | the analytics engine after (and during) runs | `calc.e1rm`, `calc.acwr`, `calc.readiness`, … | enough recorded facts to feed a formula |\n\nThe running example makes the split concrete:\n\n```time\n(3)\n 10 Kettlebell Swings 24kg\n *:30 Rest\n```\n\nPlanned: 3 rounds, 10 reps, 24 kg, 30 s rest. After running it, the recorded facts (30 swings at 24 kg) derive **720 kg of total volume** — computed from records, never asserted. That number is what [WQL](/page/guide-wql?h=aggregate) queries later.\n\n## Inline custom metrics {#custom-metrics}\n\n```button\nlabel: Try it: Custom metrics\ntarget: preview\npipeline:\n - set-source: wods/examples/syntax/custom-metrics-1.md\n```\n\nAttach any key/value data with a JSON object, anywhere on the line:\n\n```time\n5 Back Squat 225lb {\"rpe\": 8}\n10 Thrusters 95lb {\"intensity\": 80, \"coach\": \"greg\"}\n```\n\n- **Optional & additive** — existing syntax is unchanged; the object can sit anywhere on the line.\n- **Typed values** — numbers, strings, booleans, or null.\n- **Known keys** (`rpe`, `rir`, `intensity`, `load`) map to canonical metric types.\n- **Any other key becomes a custom metric** — and a queryable dimension (`{coach:greg}` filters, `by {coach}` groups; keys are camelCase-normalized, so `Sleep Quality` answers to `sleepQuality`).\n\n## Capture prompts {#capture}\n\n```button\nlabel: Try it: Collectible loads\ntarget: preview\npipeline:\n - set-source: wods/examples/syntax/metrics-5.md\n```\n\nUnknown values become **collectible** placeholders — the plan stays honest, and you supply the actual during capture:\n\n| Line | What it means |\n|---|---|\n| `?lb Back Squat` | collectible load — unknown at parse; you enter the actual value when capturing |\n| `225lb ?lb Deadlift` | prescribed 225 lb alongside a collectible load (editing allowed) |\n| `?kg Clean` | collectible load in kilograms |\n| `?` | collectible reps — how many you actually did |\n| `?m` / `?km` / `?mile` | collectible distance |\n| `For Time :?` | collectible timer — elapsed time is recorded when you complete the block |\n| `5km Run :?` | distance is prescribed, so `:?` collects the **time taken** |\n| `:? Max Effort Pushups` | a bare `:?` mounts a count-up timer whose elapsed is recorded on completion — the prefix form parses the same |\n\nThe collectible rule: a value that is **prescribed** is written literally; a value that is the **outcome** gets the `?` placeholder — a time-prescribed run collects distance with `?m`, a distance-prescribed run collects time with `:?`. What the clock does when a prompt fires is the [Clock chapter](/page/guide-clock?h=capture-prompts).\n\nCaptured loads feed trendlines, estimated 1RMs, and PR detection across sessions.\n\n## Session RPE {#session-rpe}\n\nA session-level rating rides on the note as a property:\n\n```log\ndate: 2026-05-25\nrpe: 7\n\n5 Back Squat 225lb hard\n```\n\n`rpe:` (and `rir:`) are typed session metrics — the parser maps the property to `session-rpe`, the stored fact carries canonical key `session-rpe`, and the executor matches aggregate metric keys by exact string, so weekly intensity is one query:\n\n```query\navg:session-rpe{} by {week}\n```\n\n(Older pages showed `avg:wod.rpe` — no such key exists; `session-rpe` is the real one.)\n\n## Calculated metrics {#calculated}\n\n```button\nlabel: Try it: Calculated metrics\ntarget: preview\npipeline:\n - set-source: wods/examples/syntax/calculated-metrics.md\n```\n\nTwo ways to derive values.\n\n**In-note `calculate` blocks** evaluate over the workout's recorded rows; rows with unknown inputs are skipped, not zeroed:\n\n````markdown\n```time\nrpe: 8\n(5 Sets)\n 5 Deadlifts 225lb\n 5 Deadlifts ?lb\n```\n\n```calculate\ntotalLoad = sum(reps * weight)\navgRPE = mean(rpe)\nsetCount = count(reps)\n```\n````\n\nA trailing `calculate` section inside the fence works the same way. Formulas run live during tracking and finalize on completion.\n\n**Engine-published `calc.*` metrics** are built in — the full vocabulary WQL can query:\n\n| Family | Keys |\n|---|---|\n| Training load | `calc.acwr`, `calc.monotony`, `calc.strain`, `calc.ctl`, `calc.atl`, `calc.tsb` |\n| Strength | `calc.e1rm`, `calc.pct1rm` |\n| Wellness | `calc.soreness`, `calc.sleep`, `calc.hrv`, `calc.readiness` |\n| Climb / run | `calc.sends`, `calc.ef`, `calc.metMinutes`, `calc.mvcBw` |\n| Plan | `calc.adherence` |\n\nNo invented prerequisites: each formula states what it needs. `calc.readiness`, for example, is computed only for days where a ```wellness fence captured **soreness, sleep, and HRV** — days missing any input produce no value rather than a misleading zero. These 17 keys are exactly the engine-registered set; any other `calc.*` (e.g. the planned `calc.pmc` composite) renders a labeled **proposed** placeholder instead of a value.\n\n## Try it {#try-it}\n\nThe kettlebell example is already in the panel — run it, then open the review grid: reps and load should come from the plan, splits and elapsed from the clock, and `totalVolume` should appear as a derived summary. Add `{\"rpe\": 7}` to a line and re-run — the custom metric should appear in the grid. **Result query** — the same run answers `sum:totalVolume{effort:kettlebell-swings} last 6w` in [WQL](/page/guide-wql?h=aggregate). This chapter reads what runs record; saving follows the shared run contract — no separate result policy.\n\n```button\nlabel: Run\ntarget: preview\nopen: view\npipeline:\n - set-state: track\n```\n\n",
4
4
  "blocks": {
5
5
  "seed:markdown/canvas/guide/metrics.md:0": {
6
6
  "id": "seed:markdown/canvas/guide/metrics.md:0",
7
7
  "kind": "wod",
8
- "from": 1697,
9
- "to": 1752,
8
+ "from": 1702,
9
+ "to": 1757,
10
10
  "sourceRevision": 1,
11
11
  "version": 1,
12
12
  "dialect": "time"
@@ -14,8 +14,8 @@
14
14
  "seed:markdown/canvas/guide/metrics.md:1": {
15
15
  "id": "seed:markdown/canvas/guide/metrics.md:1",
16
16
  "kind": "wod",
17
- "from": 2241,
18
- "to": 2335,
17
+ "from": 2251,
18
+ "to": 2345,
19
19
  "sourceRevision": 1,
20
20
  "version": 1,
21
21
  "dialect": "time"
@@ -23,8 +23,8 @@
23
23
  "seed:markdown/canvas/guide/metrics.md:2": {
24
24
  "id": "seed:markdown/canvas/guide/metrics.md:2",
25
25
  "kind": "wod",
26
- "from": 4249,
27
- "to": 4308,
26
+ "from": 4264,
27
+ "to": 4323,
28
28
  "sourceRevision": 1,
29
29
  "version": 1,
30
30
  "dialect": "log"
@@ -32,164 +32,164 @@
32
32
  "seed:markdown/canvas/guide/metrics.md:3": {
33
33
  "id": "seed:markdown/canvas/guide/metrics.md:3",
34
34
  "kind": "query",
35
- "from": 4557,
36
- "to": 4597,
35
+ "from": 4572,
36
+ "to": 4612,
37
37
  "sourceRevision": 1,
38
38
  "version": 1
39
39
  }
40
40
  },
41
41
  "blockIndex": [
42
42
  {
43
- "id": "guide/metrics:seed:markdown/canvas/guide/metrics.md:0",
44
- "noteId": "guide/metrics",
43
+ "id": "page/guide-metrics:seed:markdown/canvas/guide/metrics.md:0",
44
+ "noteId": "page/guide-metrics",
45
45
  "blockId": "seed:markdown/canvas/guide/metrics.md:0",
46
46
  "blockVersion": 1,
47
47
  "sourceRevision": 1,
48
- "from": 1697,
49
- "to": 1752,
48
+ "from": 1702,
49
+ "to": 1757,
50
50
  "position": 0,
51
51
  "dataType": "wod",
52
52
  "blockContentId": "bc-86bf9888",
53
53
  "rawContent": "```time\n(3)\n 10 Kettlebell Swings 24kg\n *:30 Rest\n```",
54
54
  "noteTitle": "Metrics",
55
- "createdAt": 1792884063000,
55
+ "createdAt": 1793044829000,
56
56
  "isStatic": true,
57
- "sourceId": "guides:guide/metrics",
57
+ "sourceId": "guides:page/guide-metrics",
58
58
  "sourcePath": "markdown/canvas/guide/metrics.md",
59
- "routeId": "guide/metrics"
59
+ "routeId": "page/guide-metrics"
60
60
  },
61
61
  {
62
- "id": "guide/metrics:seed:markdown/canvas/guide/metrics.md:1",
63
- "noteId": "guide/metrics",
62
+ "id": "page/guide-metrics:seed:markdown/canvas/guide/metrics.md:1",
63
+ "noteId": "page/guide-metrics",
64
64
  "blockId": "seed:markdown/canvas/guide/metrics.md:1",
65
65
  "blockVersion": 1,
66
66
  "sourceRevision": 1,
67
- "from": 2241,
68
- "to": 2335,
67
+ "from": 2251,
68
+ "to": 2345,
69
69
  "position": 1,
70
70
  "dataType": "wod",
71
71
  "blockContentId": "bc-04273bda",
72
72
  "rawContent": "```time\n5 Back Squat 225lb {\"rpe\": 8}\n10 Thrusters 95lb {\"intensity\": 80, \"coach\": \"greg\"}\n```",
73
73
  "noteTitle": "Metrics",
74
- "createdAt": 1792884063000,
74
+ "createdAt": 1793044829000,
75
75
  "isStatic": true,
76
- "sourceId": "guides:guide/metrics",
76
+ "sourceId": "guides:page/guide-metrics",
77
77
  "sourcePath": "markdown/canvas/guide/metrics.md",
78
- "routeId": "guide/metrics"
78
+ "routeId": "page/guide-metrics"
79
79
  },
80
80
  {
81
- "id": "guide/metrics:seed:markdown/canvas/guide/metrics.md:2",
82
- "noteId": "guide/metrics",
81
+ "id": "page/guide-metrics:seed:markdown/canvas/guide/metrics.md:2",
82
+ "noteId": "page/guide-metrics",
83
83
  "blockId": "seed:markdown/canvas/guide/metrics.md:2",
84
84
  "blockVersion": 1,
85
85
  "sourceRevision": 1,
86
- "from": 4249,
87
- "to": 4308,
86
+ "from": 4264,
87
+ "to": 4323,
88
88
  "position": 2,
89
89
  "dataType": "wod",
90
90
  "blockContentId": "bc-a40eab33",
91
91
  "rawContent": "```log\ndate: 2026-05-25\nrpe: 7\n\n5 Back Squat 225lb hard\n```",
92
92
  "noteTitle": "Metrics",
93
- "createdAt": 1792884063000,
93
+ "createdAt": 1793044829000,
94
94
  "isStatic": true,
95
- "sourceId": "guides:guide/metrics",
95
+ "sourceId": "guides:page/guide-metrics",
96
96
  "sourcePath": "markdown/canvas/guide/metrics.md",
97
- "routeId": "guide/metrics"
97
+ "routeId": "page/guide-metrics"
98
98
  },
99
99
  {
100
- "id": "guide/metrics:seed:markdown/canvas/guide/metrics.md:3",
101
- "noteId": "guide/metrics",
100
+ "id": "page/guide-metrics:seed:markdown/canvas/guide/metrics.md:3",
101
+ "noteId": "page/guide-metrics",
102
102
  "blockId": "seed:markdown/canvas/guide/metrics.md:3",
103
103
  "blockVersion": 1,
104
104
  "sourceRevision": 1,
105
- "from": 4557,
106
- "to": 4597,
105
+ "from": 4572,
106
+ "to": 4612,
107
107
  "position": 3,
108
108
  "dataType": "query",
109
109
  "rawContent": "```query\navg:session-rpe{} by {week}\n```",
110
110
  "noteTitle": "Metrics",
111
- "createdAt": 1792884063000,
111
+ "createdAt": 1793044829000,
112
112
  "isStatic": true,
113
- "sourceId": "guides:guide/metrics",
113
+ "sourceId": "guides:page/guide-metrics",
114
114
  "sourcePath": "markdown/canvas/guide/metrics.md",
115
- "routeId": "guide/metrics"
115
+ "routeId": "page/guide-metrics"
116
116
  }
117
117
  ],
118
118
  "blockEfforts": [
119
119
  {
120
- "id": "guide/metrics:seed:markdown/canvas/guide/metrics.md:0:kettlebell-swing",
121
- "noteId": "guide/metrics",
120
+ "id": "page/guide-metrics:seed:markdown/canvas/guide/metrics.md:0:kettlebell-swing",
121
+ "noteId": "page/guide-metrics",
122
122
  "blockId": "seed:markdown/canvas/guide/metrics.md:0",
123
123
  "blockContentId": "bc-86bf9888",
124
124
  "effortSlug": "kettlebell-swing",
125
125
  "isStatic": true,
126
126
  "sourcePath": "markdown/canvas/guide/metrics.md",
127
- "createdAt": 1792884063000
127
+ "createdAt": 1793044829000
128
128
  },
129
129
  {
130
- "id": "guide/metrics:seed:markdown/canvas/guide/metrics.md:1:back-squat",
131
- "noteId": "guide/metrics",
130
+ "id": "page/guide-metrics:seed:markdown/canvas/guide/metrics.md:1:back-squat",
131
+ "noteId": "page/guide-metrics",
132
132
  "blockId": "seed:markdown/canvas/guide/metrics.md:1",
133
133
  "blockContentId": "bc-04273bda",
134
134
  "effortSlug": "back-squat",
135
135
  "isStatic": true,
136
136
  "sourcePath": "markdown/canvas/guide/metrics.md",
137
- "createdAt": 1792884063000
137
+ "createdAt": 1793044829000
138
138
  },
139
139
  {
140
- "id": "guide/metrics:seed:markdown/canvas/guide/metrics.md:1:thruster",
141
- "noteId": "guide/metrics",
140
+ "id": "page/guide-metrics:seed:markdown/canvas/guide/metrics.md:1:thruster",
141
+ "noteId": "page/guide-metrics",
142
142
  "blockId": "seed:markdown/canvas/guide/metrics.md:1",
143
143
  "blockContentId": "bc-04273bda",
144
144
  "effortSlug": "thruster",
145
145
  "isStatic": true,
146
146
  "sourcePath": "markdown/canvas/guide/metrics.md",
147
- "createdAt": 1792884063000
147
+ "createdAt": 1793044829000
148
148
  },
149
149
  {
150
- "id": "guide/metrics:seed:markdown/canvas/guide/metrics.md:2:back-squat",
151
- "noteId": "guide/metrics",
150
+ "id": "page/guide-metrics:seed:markdown/canvas/guide/metrics.md:2:back-squat",
151
+ "noteId": "page/guide-metrics",
152
152
  "blockId": "seed:markdown/canvas/guide/metrics.md:2",
153
153
  "blockContentId": "bc-a40eab33",
154
154
  "effortSlug": "back-squat",
155
155
  "isStatic": true,
156
156
  "sourcePath": "markdown/canvas/guide/metrics.md",
157
- "createdAt": 1792884063000
157
+ "createdAt": 1793044829000
158
158
  }
159
159
  ],
160
160
  "blockEquipment": [
161
161
  {
162
- "id": "guide/metrics:seed:markdown/canvas/guide/metrics.md:0:kettlebell",
163
- "noteId": "guide/metrics",
162
+ "id": "page/guide-metrics:seed:markdown/canvas/guide/metrics.md:0:kettlebell",
163
+ "noteId": "page/guide-metrics",
164
164
  "blockId": "seed:markdown/canvas/guide/metrics.md:0",
165
165
  "blockContentId": "bc-86bf9888",
166
166
  "equipmentSlug": "kettlebell",
167
167
  "isStatic": true,
168
168
  "sourcePath": "markdown/canvas/guide/metrics.md",
169
- "createdAt": 1792884063000
169
+ "createdAt": 1793044829000
170
170
  },
171
171
  {
172
- "id": "guide/metrics:seed:markdown/canvas/guide/metrics.md:1:barbell",
173
- "noteId": "guide/metrics",
172
+ "id": "page/guide-metrics:seed:markdown/canvas/guide/metrics.md:1:barbell",
173
+ "noteId": "page/guide-metrics",
174
174
  "blockId": "seed:markdown/canvas/guide/metrics.md:1",
175
175
  "blockContentId": "bc-04273bda",
176
176
  "equipmentSlug": "barbell",
177
177
  "isStatic": true,
178
178
  "sourcePath": "markdown/canvas/guide/metrics.md",
179
- "createdAt": 1792884063000
179
+ "createdAt": 1793044829000
180
180
  },
181
181
  {
182
- "id": "guide/metrics:seed:markdown/canvas/guide/metrics.md:2:barbell",
183
- "noteId": "guide/metrics",
182
+ "id": "page/guide-metrics:seed:markdown/canvas/guide/metrics.md:2:barbell",
183
+ "noteId": "page/guide-metrics",
184
184
  "blockId": "seed:markdown/canvas/guide/metrics.md:2",
185
185
  "blockContentId": "bc-a40eab33",
186
186
  "equipmentSlug": "barbell",
187
187
  "isStatic": true,
188
188
  "sourcePath": "markdown/canvas/guide/metrics.md",
189
- "createdAt": 1792884063000
189
+ "createdAt": 1793044829000
190
190
  }
191
191
  ],
192
- "commit": "d191f5ea0bdfb3079bbde131355e76f8a88523f7",
192
+ "commit": "32bda10ffc56a61ebfca76ae94f51eddba304498",
193
193
  "uuid": "7643296f-4172-5bd6-8081-908640a84f0a",
194
194
  "version": 1
195
195
  }