@crvouga/atlas 0.0.0-stage → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +21 -0
  3. package/README.md +649 -2
  4. package/dist/bun/src/driver.d.ts +67 -0
  5. package/dist/bun/src/driver.js +90 -0
  6. package/dist/bun/src/index.d.ts +2 -0
  7. package/dist/bun/src/index.js +2 -0
  8. package/dist/core/src/cli.d.ts +1 -0
  9. package/dist/core/src/cli.js +177 -0
  10. package/dist/core/src/config.d.ts +477 -0
  11. package/dist/core/src/config.js +100 -0
  12. package/dist/core/src/events/cloudevents.d.ts +56 -0
  13. package/dist/core/src/events/cloudevents.js +152 -0
  14. package/dist/core/src/graph.d.ts +113 -0
  15. package/dist/core/src/graph.js +221 -0
  16. package/dist/core/src/index.d.ts +17 -0
  17. package/dist/core/src/index.js +17 -0
  18. package/dist/core/src/lint.d.ts +53 -0
  19. package/dist/core/src/lint.js +138 -0
  20. package/dist/core/src/plan.d.ts +109 -0
  21. package/dist/core/src/plan.js +324 -0
  22. package/dist/core/src/privacy.d.ts +8 -0
  23. package/dist/core/src/privacy.js +42 -0
  24. package/dist/core/src/report/formats.d.ts +69 -0
  25. package/dist/core/src/report/formats.js +109 -0
  26. package/dist/core/src/report/markdown.d.ts +8 -0
  27. package/dist/core/src/report/markdown.js +140 -0
  28. package/dist/core/src/run/clients.d.ts +42 -0
  29. package/dist/core/src/run/clients.js +250 -0
  30. package/dist/core/src/run/execute.d.ts +854 -0
  31. package/dist/core/src/run/execute.js +877 -0
  32. package/dist/core/src/run/frames.d.ts +16 -0
  33. package/dist/core/src/run/frames.js +52 -0
  34. package/dist/core/src/run/http.d.ts +41 -0
  35. package/dist/core/src/run/http.js +71 -0
  36. package/dist/core/src/run/types.d.ts +248 -0
  37. package/dist/core/src/run/types.js +39 -0
  38. package/dist/core/src/signals.d.ts +110 -0
  39. package/dist/core/src/signals.js +121 -0
  40. package/dist/core/src/spec/compose.d.ts +28 -0
  41. package/dist/core/src/spec/compose.js +71 -0
  42. package/dist/core/src/spec/index.d.ts +5 -0
  43. package/dist/core/src/spec/index.js +5 -0
  44. package/dist/core/src/spec/load.d.ts +8 -0
  45. package/dist/core/src/spec/load.js +46 -0
  46. package/dist/core/src/spec/parse.d.ts +5 -0
  47. package/dist/core/src/spec/parse.js +32 -0
  48. package/dist/core/src/spec/scxml.d.ts +19 -0
  49. package/dist/core/src/spec/scxml.js +239 -0
  50. package/dist/core/src/spec/types.d.ts +96 -0
  51. package/dist/core/src/spec/types.js +25 -0
  52. package/dist/detox/src/index.d.ts +75 -0
  53. package/dist/detox/src/index.js +110 -0
  54. package/dist/playwright/src/driver.d.ts +44 -0
  55. package/dist/playwright/src/driver.js +82 -0
  56. package/dist/playwright/src/index.d.ts +3 -0
  57. package/dist/playwright/src/index.js +3 -0
  58. package/dist/playwright/src/media.d.ts +68 -0
  59. package/dist/playwright/src/media.js +283 -0
  60. package/dist/playwright/src/signals.d.ts +34 -0
  61. package/dist/playwright/src/signals.js +56 -0
  62. package/dist/reports/src/browser-navigation.d.ts +2 -0
  63. package/dist/reports/src/browser-navigation.js +28 -0
  64. package/dist/reports/src/bundle.d.ts +24 -0
  65. package/dist/reports/src/bundle.js +114 -0
  66. package/dist/reports/src/catalog.d.ts +37 -0
  67. package/dist/reports/src/catalog.js +127 -0
  68. package/dist/reports/src/clock.d.ts +14 -0
  69. package/dist/reports/src/clock.js +4 -0
  70. package/dist/reports/src/completion-order.d.ts +10 -0
  71. package/dist/reports/src/completion-order.js +76 -0
  72. package/dist/reports/src/evidence-live.d.ts +40 -0
  73. package/dist/reports/src/evidence-live.js +118 -0
  74. package/dist/reports/src/evidence-types.d.ts +90 -0
  75. package/dist/reports/src/evidence-types.js +15 -0
  76. package/dist/reports/src/evidence-view.d.ts +68 -0
  77. package/dist/reports/src/evidence-view.js +113 -0
  78. package/dist/reports/src/explorer-types.d.ts +56 -0
  79. package/dist/reports/src/explorer-types.js +0 -0
  80. package/dist/reports/src/explorer-versions.d.ts +4 -0
  81. package/dist/reports/src/explorer-versions.js +21 -0
  82. package/dist/reports/src/export-evidence.d.ts +11 -0
  83. package/dist/reports/src/export-evidence.js +94 -0
  84. package/dist/reports/src/fetcher.d.ts +50 -0
  85. package/dist/reports/src/fetcher.js +205 -0
  86. package/dist/reports/src/format-date.d.ts +1 -0
  87. package/dist/reports/src/format-date.js +10 -0
  88. package/dist/reports/src/format.d.ts +16 -0
  89. package/dist/reports/src/format.js +71 -0
  90. package/dist/reports/src/frames.d.ts +46 -0
  91. package/dist/reports/src/frames.js +245 -0
  92. package/dist/reports/src/hash.d.ts +17 -0
  93. package/dist/reports/src/hash.js +43 -0
  94. package/dist/reports/src/html-frame.d.ts +13 -0
  95. package/dist/reports/src/html-frame.js +63 -0
  96. package/dist/reports/src/http.d.ts +3 -0
  97. package/dist/reports/src/http.js +0 -0
  98. package/dist/reports/src/junit.d.ts +23 -0
  99. package/dist/reports/src/junit.js +119 -0
  100. package/dist/reports/src/keyboard.d.ts +16 -0
  101. package/dist/reports/src/keyboard.js +135 -0
  102. package/dist/reports/src/keys.d.ts +53 -0
  103. package/dist/reports/src/keys.js +122 -0
  104. package/dist/reports/src/layer-catalog.d.ts +5 -0
  105. package/dist/reports/src/layer-catalog.js +39 -0
  106. package/dist/reports/src/layer-merge.d.ts +43 -0
  107. package/dist/reports/src/layer-merge.js +154 -0
  108. package/dist/reports/src/layer-source.d.ts +6 -0
  109. package/dist/reports/src/layer-source.js +32 -0
  110. package/dist/reports/src/layer-store.d.ts +10 -0
  111. package/dist/reports/src/layer-store.js +36 -0
  112. package/dist/reports/src/layer-types.d.ts +32 -0
  113. package/dist/reports/src/layer-types.js +0 -0
  114. package/dist/reports/src/layers-route.d.ts +20 -0
  115. package/dist/reports/src/layers-route.js +259 -0
  116. package/dist/reports/src/namespace-guard.d.ts +11 -0
  117. package/dist/reports/src/namespace-guard.js +40 -0
  118. package/dist/reports/src/navigation.d.ts +8 -0
  119. package/dist/reports/src/navigation.js +0 -0
  120. package/dist/reports/src/object-io.d.ts +9 -0
  121. package/dist/reports/src/object-io.js +41 -0
  122. package/dist/reports/src/object-store.d.ts +67 -0
  123. package/dist/reports/src/object-store.js +32 -0
  124. package/dist/reports/src/performance-part.d.ts +9 -0
  125. package/dist/reports/src/performance-part.js +42 -0
  126. package/dist/reports/src/performance.d.ts +13 -0
  127. package/dist/reports/src/performance.js +45 -0
  128. package/dist/reports/src/persist.d.ts +10 -0
  129. package/dist/reports/src/persist.js +38 -0
  130. package/dist/reports/src/phone.d.ts +5 -0
  131. package/dist/reports/src/phone.js +18 -0
  132. package/dist/reports/src/protocol.d.ts +78 -0
  133. package/dist/reports/src/protocol.js +36 -0
  134. package/dist/reports/src/publication.d.ts +4 -0
  135. package/dist/reports/src/publication.js +35 -0
  136. package/dist/reports/src/publish.d.ts +52 -0
  137. package/dist/reports/src/publish.js +189 -0
  138. package/dist/reports/src/read.d.ts +62 -0
  139. package/dist/reports/src/read.js +214 -0
  140. package/dist/reports/src/recording-bundle.d.ts +22 -0
  141. package/dist/reports/src/recording-bundle.js +4 -0
  142. package/dist/reports/src/recording-keys.d.ts +9 -0
  143. package/dist/reports/src/recording-keys.js +50 -0
  144. package/dist/reports/src/remote-report.d.ts +39 -0
  145. package/dist/reports/src/remote-report.js +304 -0
  146. package/dist/reports/src/report-loader.d.ts +22 -0
  147. package/dist/reports/src/report-loader.js +0 -0
  148. package/dist/reports/src/report-parts.d.ts +10 -0
  149. package/dist/reports/src/report-parts.js +112 -0
  150. package/dist/reports/src/report-types.d.ts +194 -0
  151. package/dist/reports/src/report-types.js +29 -0
  152. package/dist/reports/src/reports-explorer-route.d.ts +90 -0
  153. package/dist/reports/src/reports-explorer-route.js +65 -0
  154. package/dist/reports/src/reports-list-route.d.ts +23 -0
  155. package/dist/reports/src/reports-list-route.js +55 -0
  156. package/dist/reports/src/reports-route.d.ts +267 -0
  157. package/dist/reports/src/reports-route.js +204 -0
  158. package/dist/reports/src/reports-store.d.ts +11 -0
  159. package/dist/reports/src/reports-store.js +28 -0
  160. package/dist/reports/src/resilient-cache.d.ts +3 -0
  161. package/dist/reports/src/resilient-cache.js +33 -0
  162. package/dist/reports/src/retention.d.ts +9 -0
  163. package/dist/reports/src/retention.js +16 -0
  164. package/dist/reports/src/scenario.d.ts +15 -0
  165. package/dist/reports/src/scenario.js +35 -0
  166. package/dist/reports/src/snapshot-bundle.d.ts +18 -0
  167. package/dist/reports/src/snapshot-bundle.js +94 -0
  168. package/dist/reports/src/snapshot-surface.d.ts +29 -0
  169. package/dist/reports/src/snapshot-surface.js +339 -0
  170. package/dist/reports/src/source-content.d.ts +30 -0
  171. package/dist/reports/src/source-content.js +63 -0
  172. package/dist/reports/src/source-entries.d.ts +4 -0
  173. package/dist/reports/src/source-entries.js +34 -0
  174. package/dist/reports/src/source-part.d.ts +4 -0
  175. package/dist/reports/src/source-part.js +66 -0
  176. package/dist/reports/src/source-reader.d.ts +6 -0
  177. package/dist/reports/src/source-reader.js +17 -0
  178. package/dist/reports/src/spec-evidence.d.ts +6 -0
  179. package/dist/reports/src/spec-evidence.js +20 -0
  180. package/dist/reports/src/spec-inventory.d.ts +14 -0
  181. package/dist/reports/src/spec-inventory.js +75 -0
  182. package/dist/reports/src/status.d.ts +4 -0
  183. package/dist/reports/src/status.js +8 -0
  184. package/dist/reports/src/store-prefix.d.ts +21 -0
  185. package/dist/reports/src/store-prefix.js +53 -0
  186. package/dist/reports/src/test-catalog-entity.d.ts +3 -0
  187. package/dist/reports/src/test-catalog-entity.js +34 -0
  188. package/dist/reports/src/types.d.ts +5 -0
  189. package/dist/reports/src/types.js +0 -0
  190. package/dist/reports/src/use-report-nav.d.ts +25 -0
  191. package/dist/reports/src/use-report-nav.js +181 -0
  192. package/dist/schema/src/common.d.ts +57 -0
  193. package/dist/schema/src/common.js +32 -0
  194. package/dist/schema/src/index.d.ts +5 -0
  195. package/dist/schema/src/index.js +5 -0
  196. package/dist/schema/src/manifest.d.ts +457 -0
  197. package/dist/schema/src/manifest.js +247 -0
  198. package/dist/schema/src/report-sources.d.ts +68 -0
  199. package/dist/schema/src/report-sources.js +53 -0
  200. package/dist/schema/src/runs-index.d.ts +52 -0
  201. package/dist/schema/src/runs-index.js +24 -0
  202. package/dist/schema/src/spec.d.ts +245 -0
  203. package/dist/schema/src/spec.js +133 -0
  204. package/dist/vitest/src/index.d.ts +22 -0
  205. package/dist/vitest/src/index.js +33 -0
  206. package/dist/webdriver/src/driver.d.ts +69 -0
  207. package/dist/webdriver/src/driver.js +230 -0
  208. package/dist/webdriver/src/index.d.ts +11 -0
  209. package/dist/webdriver/src/index.js +10 -0
  210. package/dist/webdriver/src/protocol.d.ts +60 -0
  211. package/dist/webdriver/src/protocol.js +146 -0
  212. package/package.json +181 -4
  213. package/packages/bun/README.md +69 -0
  214. package/packages/core/README.md +78 -0
  215. package/packages/core/bin/atlas.mjs +8 -0
  216. package/packages/detox/README.md +73 -0
  217. package/packages/playwright/README.md +77 -0
  218. package/packages/reports/README.md +47 -0
  219. package/packages/reports/STORAGE.md +73 -0
  220. package/packages/schema/README.md +23 -0
  221. package/packages/schema/schemas/atlas-change.schema.json +34 -0
  222. package/packages/schema/schemas/atlas.schema.json +32 -0
  223. package/packages/schema/schemas/cloud-event.schema.json +40 -0
  224. package/packages/schema/schemas/journeys.schema.json +17 -0
  225. package/packages/schema/schemas/manifest.schema.json +160 -0
  226. package/packages/schema/schemas/path-record.schema.json +151 -0
  227. package/packages/schema/schemas/report-sources.schema.json +95 -0
  228. package/packages/schema/schemas/run-info.schema.json +176 -0
  229. package/packages/schema/schemas/run-summary.schema.json +206 -0
  230. package/packages/schema/schemas/runs-index.schema.json +23 -0
  231. package/packages/schema/schemas/state-node.schema.json +238 -0
  232. package/packages/schema/schemas/state-record.schema.json +354 -0
  233. package/packages/schema/schemas/timeline-entry.schema.json +124 -0
  234. package/packages/schema/schemas/transition-record.schema.json +125 -0
  235. package/packages/visualizer/README.md +154 -0
  236. package/packages/visualizer/bin/atlas-visualizer.mjs +176 -0
  237. package/packages/visualizer/example/specs/coffee/ordering/checkout.scxml +82 -0
  238. package/packages/visualizer/example/specs/coffee/ordering/journeys.yaml +129 -0
  239. package/packages/visualizer/example/specs/coffee/ordering/known-issues.md +14 -0
  240. package/packages/visualizer/example/specs/coffee/ordering/machine.yaml +158 -0
  241. package/packages/visualizer/example/specs/coffee/ordering/open-questions.md +25 -0
  242. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/chart.mmd +67 -0
  243. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/ctrf.json +245 -0
  244. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/junit.xml +12 -0
  245. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/manifest.json +2003 -0
  246. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/001.vtt +9 -0
  247. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/002.vtt +9 -0
  248. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/003.vtt +9 -0
  249. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/004.vtt +9 -0
  250. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/005.vtt +17 -0
  251. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/006.vtt +9 -0
  252. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/007.vtt +17 -0
  253. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/008.vtt +17 -0
  254. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/009.vtt +13 -0
  255. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/010.vtt +9 -0
  256. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/011.vtt +9 -0
  257. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/012.vtt +9 -0
  258. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/013.vtt +9 -0
  259. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.mp4 +0 -0
  260. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.poster.webp +0 -0
  261. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.mp4 +0 -0
  262. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.poster.webp +0 -0
  263. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.mp4 +0 -0
  264. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.poster.webp +0 -0
  265. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/04.mp4 +0 -0
  266. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/04.poster.webp +0 -0
  267. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.png +0 -0
  268. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.webp +0 -0
  269. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  270. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  271. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.png +0 -0
  272. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.webp +0 -0
  273. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.png +0 -0
  274. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.webp +0 -0
  275. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.png +0 -0
  276. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.webp +0 -0
  277. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.png +0 -0
  278. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.webp +0 -0
  279. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/failed-01.png +0 -0
  280. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/failed-01.webp +0 -0
  281. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-4/01.png +0 -0
  282. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-4/01.webp +0 -0
  283. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-5/01.png +0 -0
  284. package/packages/visualizer/fixtures/failures/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-5/01.webp +0 -0
  285. package/packages/visualizer/fixtures/failures/specs/coffee/ordering/checkout.scxml +82 -0
  286. package/packages/visualizer/fixtures/failures/specs/coffee/ordering/journeys.yaml +129 -0
  287. package/packages/visualizer/fixtures/failures/specs/coffee/ordering/known-issues.md +14 -0
  288. package/packages/visualizer/fixtures/failures/specs/coffee/ordering/machine.yaml +158 -0
  289. package/packages/visualizer/fixtures/failures/specs/coffee/ordering/open-questions.md +25 -0
  290. package/packages/visualizer/fixtures/full/runs/2026-10-02T09-10-00-000Z-fast/chart.mmd +67 -0
  291. package/packages/visualizer/fixtures/full/runs/2026-10-02T09-10-00-000Z-fast/ctrf.json +247 -0
  292. package/packages/visualizer/fixtures/full/runs/2026-10-02T09-10-00-000Z-fast/junit.xml +12 -0
  293. package/packages/visualizer/fixtures/full/runs/2026-10-02T09-10-00-000Z-fast/manifest.json +1875 -0
  294. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/chart.mmd +67 -0
  295. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/ctrf.json +244 -0
  296. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/junit.xml +12 -0
  297. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/manifest.json +1977 -0
  298. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/001.vtt +9 -0
  299. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/002.vtt +9 -0
  300. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/003.vtt +9 -0
  301. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/004.vtt +9 -0
  302. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/005.vtt +17 -0
  303. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/captions/006.vtt +9 -0
  304. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/clips/journey-1/01.mp4 +0 -0
  305. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/clips/journey-1/01.poster.webp +0 -0
  306. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/clips/journey-1/02.mp4 +0 -0
  307. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/clips/journey-1/02.poster.webp +0 -0
  308. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/01.png +0 -0
  309. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/01.webp +0 -0
  310. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  311. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  312. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/03.png +0 -0
  313. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-1/03.webp +0 -0
  314. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-2/01.png +0 -0
  315. package/packages/visualizer/fixtures/full/runs/2026-10-04T16-20-00-000Z-showcase/media/paths/journey-2/01.webp +0 -0
  316. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/chart.mmd +67 -0
  317. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/ctrf.json +472 -0
  318. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/junit.xml +16 -0
  319. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/manifest.json +3701 -0
  320. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/001.vtt +9 -0
  321. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/002.vtt +9 -0
  322. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/003.vtt +9 -0
  323. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/004.vtt +9 -0
  324. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/005.vtt +9 -0
  325. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/006.vtt +13 -0
  326. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/007.vtt +9 -0
  327. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/008.vtt +13 -0
  328. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/009.vtt +17 -0
  329. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/010.vtt +9 -0
  330. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/011.vtt +13 -0
  331. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/012.vtt +9 -0
  332. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/013.vtt +9 -0
  333. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/014.vtt +9 -0
  334. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/015.vtt +9 -0
  335. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/016.vtt +9 -0
  336. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/017.vtt +9 -0
  337. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/018.vtt +17 -0
  338. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/019.vtt +9 -0
  339. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/020.vtt +9 -0
  340. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/021.vtt +9 -0
  341. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/022.vtt +17 -0
  342. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/023.vtt +17 -0
  343. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/024.vtt +13 -0
  344. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/025.vtt +9 -0
  345. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/026.vtt +9 -0
  346. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/027.vtt +9 -0
  347. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/028.vtt +9 -0
  348. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.mp4 +0 -0
  349. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.poster.webp +0 -0
  350. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.mp4 +0 -0
  351. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.poster.webp +0 -0
  352. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.mp4 +0 -0
  353. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.poster.webp +0 -0
  354. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/04.mp4 +0 -0
  355. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/04.poster.webp +0 -0
  356. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.png +0 -0
  357. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.webp +0 -0
  358. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  359. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  360. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.png +0 -0
  361. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.webp +0 -0
  362. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.png +0 -0
  363. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.webp +0 -0
  364. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.png +0 -0
  365. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.webp +0 -0
  366. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/06.png +0 -0
  367. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/06.webp +0 -0
  368. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/07.png +0 -0
  369. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/07.webp +0 -0
  370. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/08.png +0 -0
  371. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/08.webp +0 -0
  372. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/09.png +0 -0
  373. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/09.webp +0 -0
  374. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/10.png +0 -0
  375. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/10.webp +0 -0
  376. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/11.png +0 -0
  377. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/11.webp +0 -0
  378. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/12.png +0 -0
  379. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/12.webp +0 -0
  380. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/13.png +0 -0
  381. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/13.webp +0 -0
  382. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/14.png +0 -0
  383. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/14.webp +0 -0
  384. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.png +0 -0
  385. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.webp +0 -0
  386. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/01.png +0 -0
  387. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/01.webp +0 -0
  388. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-4/01.png +0 -0
  389. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-4/01.webp +0 -0
  390. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-5/01.png +0 -0
  391. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-5/01.webp +0 -0
  392. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-6/01.png +0 -0
  393. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-6/01.webp +0 -0
  394. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-7/01.png +0 -0
  395. package/packages/visualizer/fixtures/full/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-7/01.webp +0 -0
  396. package/packages/visualizer/fixtures/full/specs/coffee/ordering/checkout.scxml +82 -0
  397. package/packages/visualizer/fixtures/full/specs/coffee/ordering/journeys.yaml +129 -0
  398. package/packages/visualizer/fixtures/full/specs/coffee/ordering/known-issues.md +14 -0
  399. package/packages/visualizer/fixtures/full/specs/coffee/ordering/machine.yaml +158 -0
  400. package/packages/visualizer/fixtures/full/specs/coffee/ordering/open-questions.md +25 -0
  401. package/packages/visualizer/fixtures/large/runs/2026-10-06T14-40-00-000Z-fast/ctrf.json +1280 -0
  402. package/packages/visualizer/fixtures/large/runs/2026-10-06T14-40-00-000Z-fast/junit.xml +26 -0
  403. package/packages/visualizer/fixtures/large/runs/2026-10-06T14-40-00-000Z-fast/manifest.json +28393 -0
  404. package/packages/visualizer/fixtures/large/specs/accounts/sign-up/identity-check.machine.yaml +397 -0
  405. package/packages/visualizer/fixtures/large/specs/accounts/sign-up/journeys.yaml +129 -0
  406. package/packages/visualizer/fixtures/large/specs/accounts/sign-up/machine.yaml +830 -0
  407. package/packages/visualizer/fixtures/large/specs/atlas.yaml +65 -0
  408. package/packages/visualizer/fixtures/large/specs/billing/invoices/journeys.yaml +132 -0
  409. package/packages/visualizer/fixtures/large/specs/billing/invoices/machine.yaml +830 -0
  410. package/packages/visualizer/fixtures/large/specs/billing/invoices/refund-handling.scxml +288 -0
  411. package/packages/visualizer/fixtures/large/specs/catalog/browsing/journeys.yaml +126 -0
  412. package/packages/visualizer/fixtures/large/specs/catalog/browsing/machine.yaml +831 -0
  413. package/packages/visualizer/fixtures/large/specs/catalog/browsing/product-comparison.machine.yaml +395 -0
  414. package/packages/visualizer/fixtures/large/specs/orders/checkout/journeys.yaml +120 -0
  415. package/packages/visualizer/fixtures/large/specs/orders/checkout/machine.yaml +724 -0
  416. package/packages/visualizer/fixtures/large/specs/orders/checkout/open-questions.md +16 -0
  417. package/packages/visualizer/fixtures/large/specs/orders/checkout/payment.scxml +288 -0
  418. package/packages/visualizer/fixtures/large/specs/shipping/deliveries/delivery-scheduling.machine.yaml +397 -0
  419. package/packages/visualizer/fixtures/large/specs/shipping/deliveries/journeys.yaml +132 -0
  420. package/packages/visualizer/fixtures/large/specs/shipping/deliveries/known-issues.md +13 -0
  421. package/packages/visualizer/fixtures/large/specs/shipping/deliveries/machine.yaml +830 -0
  422. package/packages/visualizer/fixtures/large/specs/support/tickets/escalation.machine.yaml +395 -0
  423. package/packages/visualizer/fixtures/large/specs/support/tickets/journeys.yaml +123 -0
  424. package/packages/visualizer/fixtures/large/specs/support/tickets/machine.yaml +720 -0
  425. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T10-00-00-000Z-showcase/manifest.json +68 -0
  426. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T11-00-00-000Z-showcase/ctrf.json +50 -0
  427. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T11-00-00-000Z-showcase/junit.xml +6 -0
  428. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T11-00-00-000Z-showcase/manifest.json +1281 -0
  429. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T12-00-00-000Z-showcase/ctrf.json +50 -0
  430. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T12-00-00-000Z-showcase/junit.xml +6 -0
  431. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T12-00-00-000Z-showcase/manifest.json +1232 -0
  432. package/packages/visualizer/fixtures/malformed/runs/2026-10-06T13-00-00-000Z-showcase/manifest.json +1244 -0
  433. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/checkout.scxml +82 -0
  434. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/journeys.yaml +134 -0
  435. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/known-issues.md +14 -0
  436. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/loyalty.scxml +4 -0
  437. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/machine.yaml +156 -0
  438. package/packages/visualizer/fixtures/malformed/specs/coffee/ordering/open-questions.md +25 -0
  439. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/chart.mmd +67 -0
  440. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/ctrf.json +149 -0
  441. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/junit.xml +9 -0
  442. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/manifest.json +1718 -0
  443. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/001.vtt +9 -0
  444. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/002.vtt +17 -0
  445. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/003.vtt +17 -0
  446. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/004.vtt +9 -0
  447. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/005.vtt +9 -0
  448. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.mp4 +0 -0
  449. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.poster.webp +0 -0
  450. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.mp4 +0 -0
  451. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.poster.webp +0 -0
  452. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.mp4 +0 -0
  453. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/03.poster.webp +0 -0
  454. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.png +0 -0
  455. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.webp +0 -0
  456. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  457. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  458. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.png +0 -0
  459. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.webp +0 -0
  460. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.png +0 -0
  461. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/05.webp +0 -0
  462. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/01.png +0 -0
  463. package/packages/visualizer/fixtures/partial/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-3/01.webp +0 -0
  464. package/packages/visualizer/fixtures/partial/runs/2026-10-06T15-05-00-000Z-showcase/media/paths/journey-1/00-start-01.png +0 -0
  465. package/packages/visualizer/fixtures/partial/runs/2026-10-06T15-05-00-000Z-showcase/media/paths/journey-1/00-start-01.webp +0 -0
  466. package/packages/visualizer/fixtures/partial/runs/2026-10-06T15-05-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  467. package/packages/visualizer/fixtures/partial/runs/2026-10-06T15-05-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  468. package/packages/visualizer/fixtures/partial/specs/coffee/ordering/checkout.scxml +82 -0
  469. package/packages/visualizer/fixtures/partial/specs/coffee/ordering/journeys.yaml +129 -0
  470. package/packages/visualizer/fixtures/partial/specs/coffee/ordering/known-issues.md +14 -0
  471. package/packages/visualizer/fixtures/partial/specs/coffee/ordering/machine.yaml +158 -0
  472. package/packages/visualizer/fixtures/partial/specs/coffee/ordering/open-questions.md +25 -0
  473. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/ctrf.json +79 -0
  474. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/junit.xml +7 -0
  475. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/manifest.json +1504 -0
  476. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/001.vtt +9 -0
  477. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/002.vtt +9 -0
  478. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/003.vtt +9 -0
  479. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/captions/004.vtt +17 -0
  480. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.mp4 +0 -0
  481. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/01.poster.webp +0 -0
  482. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.mp4 +0 -0
  483. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/clips/journey-1/02.poster.webp +0 -0
  484. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.png +0 -0
  485. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/01.webp +0 -0
  486. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.png +0 -0
  487. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/02.webp +0 -0
  488. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.png +0 -0
  489. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/03.webp +0 -0
  490. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.png +0 -0
  491. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-1/04.webp +0 -0
  492. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.png +0 -0
  493. package/packages/visualizer/fixtures/removed/runs/2026-10-06T14-40-00-000Z-showcase/media/paths/journey-2/01.webp +0 -0
  494. package/packages/visualizer/fixtures/removed/specs/coffee/ordering/checkout.scxml +82 -0
  495. package/packages/visualizer/fixtures/removed/specs/coffee/ordering/journeys.yaml +129 -0
  496. package/packages/visualizer/fixtures/removed/specs/coffee/ordering/known-issues.md +14 -0
  497. package/packages/visualizer/fixtures/removed/specs/coffee/ordering/machine.yaml +158 -0
  498. package/packages/visualizer/fixtures/removed/specs/coffee/ordering/open-questions.md +25 -0
  499. package/packages/visualizer/fixtures/spec-only/runs/.gitkeep +0 -0
  500. package/packages/visualizer/fixtures/spec-only/specs/coffee/ordering/checkout.scxml +82 -0
  501. package/packages/visualizer/fixtures/spec-only/specs/coffee/ordering/journeys.yaml +129 -0
  502. package/packages/visualizer/fixtures/spec-only/specs/coffee/ordering/known-issues.md +14 -0
  503. package/packages/visualizer/fixtures/spec-only/specs/coffee/ordering/machine.yaml +158 -0
  504. package/packages/visualizer/fixtures/spec-only/specs/coffee/ordering/open-questions.md +25 -0
  505. package/packages/visualizer/index.html +13 -0
  506. package/packages/visualizer/scripts/make-fixtures.ts +1490 -0
  507. package/packages/visualizer/scripts/publish-data.ts +22 -0
  508. package/packages/visualizer/src/app/AppShell.tsx +56 -0
  509. package/packages/visualizer/src/app/atlas-context.tsx +23 -0
  510. package/packages/visualizer/src/app/gazetteer.module.css +97 -0
  511. package/packages/visualizer/src/app/gazetteer.tsx +105 -0
  512. package/packages/visualizer/src/app/report-sources.tsx +122 -0
  513. package/packages/visualizer/src/app/router.tsx +69 -0
  514. package/packages/visualizer/src/app/search-query.tsx +14 -0
  515. package/packages/visualizer/src/components/DataIssues.module.css +136 -0
  516. package/packages/visualizer/src/components/DataIssues.tsx +70 -0
  517. package/packages/visualizer/src/components/Header.module.css +189 -0
  518. package/packages/visualizer/src/components/Header.tsx +127 -0
  519. package/packages/visualizer/src/components/Legend.module.css +84 -0
  520. package/packages/visualizer/src/components/Legend.tsx +50 -0
  521. package/packages/visualizer/src/components/Screen.module.css +312 -0
  522. package/packages/visualizer/src/components/Screen.tsx +141 -0
  523. package/packages/visualizer/src/components/Status.module.css +116 -0
  524. package/packages/visualizer/src/components/Status.tsx +60 -0
  525. package/packages/visualizer/src/components/icons.tsx +156 -0
  526. package/packages/visualizer/src/components/labels.tsx +22 -0
  527. package/packages/visualizer/src/data/adapters/adapter.ts +112 -0
  528. package/packages/visualizer/src/data/adapters/context.tsx +11 -0
  529. package/packages/visualizer/src/data/adapters/index.ts +29 -0
  530. package/packages/visualizer/src/data/adapters/report-backend.test.ts +96 -0
  531. package/packages/visualizer/src/data/adapters/report-backend.ts +42 -0
  532. package/packages/visualizer/src/data/fixtures.test.ts +407 -0
  533. package/packages/visualizer/src/data/model/build.ts +418 -0
  534. package/packages/visualizer/src/data/model/event-kind.test.ts +59 -0
  535. package/packages/visualizer/src/data/model/event-kind.ts +54 -0
  536. package/packages/visualizer/src/data/model/index.ts +3 -0
  537. package/packages/visualizer/src/data/model/journeys.test.ts +159 -0
  538. package/packages/visualizer/src/data/model/journeys.ts +29 -0
  539. package/packages/visualizer/src/data/model/simulation.test.ts +115 -0
  540. package/packages/visualizer/src/data/model/simulation.ts +187 -0
  541. package/packages/visualizer/src/data/model/status.test.ts +34 -0
  542. package/packages/visualizer/src/data/model/status.ts +43 -0
  543. package/packages/visualizer/src/data/model/types.ts +280 -0
  544. package/packages/visualizer/src/data/parse/issues.test.ts +82 -0
  545. package/packages/visualizer/src/data/parse/issues.ts +114 -0
  546. package/packages/visualizer/src/data/parse/manifest.ts +173 -0
  547. package/packages/visualizer/src/data/parse/markdown.test.ts +119 -0
  548. package/packages/visualizer/src/data/parse/markdown.ts +133 -0
  549. package/packages/visualizer/src/data/parse/spec.test.ts +106 -0
  550. package/packages/visualizer/src/data/parse/spec.ts +557 -0
  551. package/packages/visualizer/src/data/parse/structured.ts +44 -0
  552. package/packages/visualizer/src/data/queries.ts +369 -0
  553. package/packages/visualizer/src/data/testing/load-fixture.ts +63 -0
  554. package/packages/visualizer/src/evidence/api.ts +41 -0
  555. package/packages/visualizer/src/evidence/check-detail.tsx +257 -0
  556. package/packages/visualizer/src/evidence/decision-table.tsx +68 -0
  557. package/packages/visualizer/src/evidence/document-page.tsx +40 -0
  558. package/packages/visualizer/src/evidence/evidence-context.tsx +159 -0
  559. package/packages/visualizer/src/evidence/evidence.module.css +877 -0
  560. package/packages/visualizer/src/evidence/feature-page.tsx +88 -0
  561. package/packages/visualizer/src/evidence/format.ts +56 -0
  562. package/packages/visualizer/src/evidence/gherkin.ts +98 -0
  563. package/packages/visualizer/src/evidence/marks.tsx +118 -0
  564. package/packages/visualizer/src/evidence/model-page.tsx +60 -0
  565. package/packages/visualizer/src/evidence/model-trace.tsx +57 -0
  566. package/packages/visualizer/src/evidence/overview.tsx +134 -0
  567. package/packages/visualizer/src/evidence/quint.ts +45 -0
  568. package/packages/visualizer/src/evidence/recording-page.tsx +69 -0
  569. package/packages/visualizer/src/evidence/recording.module.css +464 -0
  570. package/packages/visualizer/src/evidence/recording.tsx +197 -0
  571. package/packages/visualizer/src/evidence/snapshot.tsx +108 -0
  572. package/packages/visualizer/src/evidence/sources-panel.tsx +134 -0
  573. package/packages/visualizer/src/evidence/sources.module.css +168 -0
  574. package/packages/visualizer/src/evidence/spec-header.tsx +64 -0
  575. package/packages/visualizer/src/evidence/spec-index.tsx +82 -0
  576. package/packages/visualizer/src/evidence/spec-page.tsx +92 -0
  577. package/packages/visualizer/src/evidence/spec-snapshot.tsx +26 -0
  578. package/packages/visualizer/src/layout/graph.test.ts +113 -0
  579. package/packages/visualizer/src/layout/graph.ts +324 -0
  580. package/packages/visualizer/src/layout/layout.ts +237 -0
  581. package/packages/visualizer/src/layout/use-chart-layout.ts +18 -0
  582. package/packages/visualizer/src/main.tsx +31 -0
  583. package/packages/visualizer/src/map/ChartMap.tsx +252 -0
  584. package/packages/visualizer/src/map/EventEdge.tsx +138 -0
  585. package/packages/visualizer/src/map/map.module.css +546 -0
  586. package/packages/visualizer/src/map/nodes.tsx +145 -0
  587. package/packages/visualizer/src/map/path.ts +24 -0
  588. package/packages/visualizer/src/reachable.test.ts +54 -0
  589. package/packages/visualizer/src/spec-kind.test.ts +27 -0
  590. package/packages/visualizer/src/spec-kind.ts +56 -0
  591. package/packages/visualizer/src/state/ui-store.ts +44 -0
  592. package/packages/visualizer/src/styles/global.css +105 -0
  593. package/packages/visualizer/src/styles/tokens.css +80 -0
  594. package/packages/visualizer/src/views/ChartPage.tsx +52 -0
  595. package/packages/visualizer/src/views/ProductPage.tsx +35 -0
  596. package/packages/visualizer/src/views/SidePanel.tsx +339 -0
  597. package/packages/visualizer/src/views/views.module.css +546 -0
  598. package/packages/visualizer/vite/atlas-dev-plugin.ts +169 -0
  599. package/packages/visualizer/vite/atlas-files.test.ts +119 -0
  600. package/packages/visualizer/vite/atlas-files.ts +199 -0
  601. package/packages/visualizer/vite/publish.test.ts +52 -0
  602. package/packages/visualizer/vite/publish.ts +99 -0
  603. package/packages/visualizer/vite/reports-dev-plugin.ts +82 -0
  604. package/packages/visualizer/vite.config.ts +13 -0
  605. package/packages/vitest/README.md +58 -0
  606. package/packages/webdriver/README.md +77 -0
@@ -0,0 +1,830 @@
1
+ # Sign-up: generated fixture chart
2
+ id: Sign-up
3
+ initial: Handling the account details
4
+ meta:
5
+ description: Signing up and keeping a profile up to date.
6
+ snapshot: sign-up
7
+ events: []
8
+ confidence: confirmed
9
+ source:
10
+ - src/screens/sign-up
11
+ states:
12
+ Handling the account details:
13
+ id: Handling the account details
14
+ initial: Reviewing the account details
15
+ meta:
16
+ description: Everything about the account details, from review to approval.
17
+ snapshot: handling-the-account-details
18
+ events: []
19
+ confidence: confirmed
20
+ source:
21
+ - src/screens/handling-the-account-details.tsx
22
+ owner: Accounts team
23
+ states:
24
+ Reviewing the account details:
25
+ id: Reviewing the account details
26
+ meta:
27
+ description: The user checks the account details before sending it.
28
+ snapshot: reviewing-the-account-details
29
+ events: []
30
+ confidence: confirmed
31
+ source:
32
+ - src/screens/reviewing-the-account-details.tsx
33
+ gherkin:
34
+ - features/accounts/sign-up/account-details.feature
35
+ on:
36
+ Taps edit on the account details:
37
+ target: "#Editing the account details"
38
+ Submits the account details:
39
+ target: "#Waiting for the account details to be approved"
40
+ Editing the account details:
41
+ id: Editing the account details
42
+ initial: Editing the account details details
43
+ meta:
44
+ description: The user changes the account details, with an optional file.
45
+ snapshot: editing-the-account-details
46
+ events: []
47
+ confidence: confirmed
48
+ source:
49
+ - src/screens/editing-the-account-details.tsx
50
+ states:
51
+ Editing the account details details:
52
+ id: Editing the account details details
53
+ meta:
54
+ description: A form with the account details fields.
55
+ snapshot: editing-the-account-details-details
56
+ events: []
57
+ confidence: confirmed
58
+ source:
59
+ - src/screens/editing-the-account-details-details.tsx
60
+ hints:
61
+ - A text field per detail
62
+ - An "Upload a file" link
63
+ on:
64
+ Uploads a file:
65
+ target: "#Uploading a file for the account details"
66
+ Uploading a file for the account details:
67
+ id: Uploading a file for the account details
68
+ meta:
69
+ description: A file picker for a document about the account details.
70
+ snapshot: uploading-a-file-for-the-account-details
71
+ events: []
72
+ confidence: confirmed
73
+ source:
74
+ - src/screens/uploading-a-file-for-the-account-details.tsx
75
+ on:
76
+ Finishes uploading the file:
77
+ target: "#Editing the account details details"
78
+ on:
79
+ Saves the account details:
80
+ target: "#Reviewing the account details"
81
+ Cancels the changes to the account details:
82
+ target: "#Reviewing the account details"
83
+ Saving the account details fails:
84
+ target: "#Told the account details could not be saved"
85
+ Told the account details could not be saved:
86
+ id: Told the account details could not be saved
87
+ meta:
88
+ description: A message says the account details could not be saved, with "Try again".
89
+ snapshot: told-the-account-details-could-not-be-saved
90
+ events: []
91
+ confidence: confirmed
92
+ source:
93
+ - src/screens/told-the-account-details-could-not-be-saved.tsx
94
+ on:
95
+ Tries saving the account details again:
96
+ target: "#Editing the account details"
97
+ Waiting for the account details to be approved:
98
+ id: Waiting for the account details to be approved
99
+ meta:
100
+ description: A card says the account details is being checked.
101
+ snapshot: waiting-for-the-account-details-to-be-approved
102
+ events:
103
+ - Account details submitted
104
+ confidence: confirmed
105
+ source:
106
+ - src/screens/waiting-for-the-account-details-to-be-approved.tsx
107
+ tier: critical
108
+ on:
109
+ Identity service approves the account details:
110
+ target: "#Told the account details was approved"
111
+ Identity service rejects the account details:
112
+ target: "#Told the account details was rejected"
113
+ Approval of the account details takes longer than a day:
114
+ target: "#Told the account details is still under review"
115
+ Told the account details is still under review:
116
+ id: Told the account details is still under review
117
+ meta:
118
+ description: A card says the account details is still being checked.
119
+ snapshot: told-the-account-details-is-still-under-review
120
+ events: []
121
+ confidence: assumed
122
+ source:
123
+ - src/screens/told-the-account-details-is-still-under-review.tsx
124
+ on:
125
+ Checks the account details again:
126
+ target: "#Waiting for the account details to be approved"
127
+ Told the account details was rejected:
128
+ id: Told the account details was rejected
129
+ meta:
130
+ description: A message explains why the account details was not accepted.
131
+ snapshot: told-the-account-details-was-rejected
132
+ events: []
133
+ confidence: confirmed
134
+ source:
135
+ - src/screens/told-the-account-details-was-rejected.tsx
136
+ on:
137
+ Starts the account details again:
138
+ target: "#Reviewing the account details"
139
+ Told the account details was approved:
140
+ id: Told the account details was approved
141
+ meta:
142
+ description: A message confirms the account details is approved.
143
+ snapshot: told-the-account-details-was-approved
144
+ events:
145
+ - Account details approved
146
+ confidence: confirmed
147
+ source:
148
+ - src/screens/told-the-account-details-was-approved.tsx
149
+ on:
150
+ Continues to the home address:
151
+ target: "#Handling the home address"
152
+ Handling the home address:
153
+ id: Handling the home address
154
+ initial: Reviewing the home address
155
+ meta:
156
+ description: Everything about the home address, from review to approval.
157
+ snapshot: handling-the-home-address
158
+ events: []
159
+ confidence: confirmed
160
+ source:
161
+ - src/screens/handling-the-home-address.tsx
162
+ owner: Accounts team
163
+ states:
164
+ Reviewing the home address:
165
+ id: Reviewing the home address
166
+ meta:
167
+ description: The user checks the home address before sending it.
168
+ snapshot: reviewing-the-home-address
169
+ events: []
170
+ confidence: confirmed
171
+ source:
172
+ - src/screens/reviewing-the-home-address.tsx
173
+ gherkin:
174
+ - features/accounts/sign-up/home-address.feature
175
+ on:
176
+ Taps edit on the home address:
177
+ target: "#Editing the home address"
178
+ Submits the home address:
179
+ target: "#Waiting for the home address to be approved"
180
+ Editing the home address:
181
+ id: Editing the home address
182
+ meta:
183
+ description: A form to change the home address.
184
+ snapshot: editing-the-home-address
185
+ events: []
186
+ confidence: confirmed
187
+ source:
188
+ - src/screens/editing-the-home-address.tsx
189
+ on:
190
+ Saves the home address:
191
+ target: "#Reviewing the home address"
192
+ Cancels the changes to the home address:
193
+ target: "#Reviewing the home address"
194
+ Saving the home address fails:
195
+ target: "#Told the home address could not be saved"
196
+ Told the home address could not be saved:
197
+ id: Told the home address could not be saved
198
+ meta:
199
+ description: A message says the home address could not be saved, with "Try again".
200
+ snapshot: told-the-home-address-could-not-be-saved
201
+ events: []
202
+ confidence: confirmed
203
+ source:
204
+ - src/screens/told-the-home-address-could-not-be-saved.tsx
205
+ on:
206
+ Tries saving the home address again:
207
+ target: "#Editing the home address"
208
+ Waiting for the home address to be approved:
209
+ id: Waiting for the home address to be approved
210
+ meta:
211
+ description: A card says the home address is being checked.
212
+ snapshot: waiting-for-the-home-address-to-be-approved
213
+ events:
214
+ - Home address submitted
215
+ confidence: confirmed
216
+ source:
217
+ - src/screens/waiting-for-the-home-address-to-be-approved.tsx
218
+ tier: critical
219
+ on:
220
+ Identity service approves the home address:
221
+ target: "#Told the home address was approved"
222
+ Identity service rejects the home address:
223
+ target: "#Told the home address was rejected"
224
+ Approval of the home address takes longer than a day:
225
+ target: "#Told the home address is still under review"
226
+ Told the home address is still under review:
227
+ id: Told the home address is still under review
228
+ meta:
229
+ description: A card says the home address is still being checked.
230
+ snapshot: told-the-home-address-is-still-under-review
231
+ events: []
232
+ confidence: assumed
233
+ source:
234
+ - src/screens/told-the-home-address-is-still-under-review.tsx
235
+ on:
236
+ Checks the home address again:
237
+ target: "#Waiting for the home address to be approved"
238
+ Told the home address was rejected:
239
+ id: Told the home address was rejected
240
+ meta:
241
+ description: A message explains why the home address was not accepted.
242
+ snapshot: told-the-home-address-was-rejected
243
+ events: []
244
+ confidence: confirmed
245
+ source:
246
+ - src/screens/told-the-home-address-was-rejected.tsx
247
+ on:
248
+ Starts the home address again:
249
+ target: "#Reviewing the home address"
250
+ Told the home address was approved:
251
+ id: Told the home address was approved
252
+ meta:
253
+ description: A message confirms the home address is approved.
254
+ snapshot: told-the-home-address-was-approved
255
+ events:
256
+ - Home address approved
257
+ confidence: confirmed
258
+ source:
259
+ - src/screens/told-the-home-address-was-approved.tsx
260
+ on:
261
+ Continues to the date of birth:
262
+ target: "#Handling the date of birth"
263
+ Handling the date of birth:
264
+ id: Handling the date of birth
265
+ initial: Reviewing the date of birth
266
+ meta:
267
+ description: Everything about the date of birth, from review to approval.
268
+ snapshot: handling-the-date-of-birth
269
+ events: []
270
+ confidence: confirmed
271
+ source:
272
+ - src/screens/handling-the-date-of-birth.tsx
273
+ owner: Accounts team
274
+ states:
275
+ Reviewing the date of birth:
276
+ id: Reviewing the date of birth
277
+ meta:
278
+ description: The user checks the date of birth before sending it.
279
+ snapshot: reviewing-the-date-of-birth
280
+ events: []
281
+ confidence: confirmed
282
+ source:
283
+ - src/screens/reviewing-the-date-of-birth.tsx
284
+ gherkin:
285
+ - features/accounts/sign-up/date-of-birth.feature
286
+ on:
287
+ Taps edit on the date of birth:
288
+ target: "#Editing the date of birth"
289
+ Submits the date of birth:
290
+ target: "#Waiting for the date of birth to be approved"
291
+ Editing the date of birth:
292
+ id: Editing the date of birth
293
+ meta:
294
+ description: A form to change the date of birth.
295
+ snapshot: editing-the-date-of-birth
296
+ events: []
297
+ confidence: confirmed
298
+ source:
299
+ - src/screens/editing-the-date-of-birth.tsx
300
+ on:
301
+ Saves the date of birth:
302
+ target: "#Reviewing the date of birth"
303
+ Cancels the changes to the date of birth:
304
+ target: "#Reviewing the date of birth"
305
+ Saving the date of birth fails:
306
+ target: "#Told the date of birth could not be saved"
307
+ Told the date of birth could not be saved:
308
+ id: Told the date of birth could not be saved
309
+ meta:
310
+ description: A message says the date of birth could not be saved, with "Try again".
311
+ snapshot: told-the-date-of-birth-could-not-be-saved
312
+ events: []
313
+ confidence: confirmed
314
+ source:
315
+ - src/screens/told-the-date-of-birth-could-not-be-saved.tsx
316
+ on:
317
+ Tries saving the date of birth again:
318
+ target: "#Editing the date of birth"
319
+ Waiting for the date of birth to be approved:
320
+ id: Waiting for the date of birth to be approved
321
+ meta:
322
+ description: A card says the date of birth is being checked.
323
+ snapshot: waiting-for-the-date-of-birth-to-be-approved
324
+ events:
325
+ - Date of birth submitted
326
+ confidence: confirmed
327
+ source:
328
+ - src/screens/waiting-for-the-date-of-birth-to-be-approved.tsx
329
+ tier: critical
330
+ on:
331
+ Identity service approves the date of birth:
332
+ target: "#Told the date of birth was approved"
333
+ Identity service rejects the date of birth:
334
+ target: "#Told the date of birth was rejected"
335
+ Approval of the date of birth takes longer than a day:
336
+ target: "#Told the date of birth is still under review"
337
+ Told the date of birth is still under review:
338
+ id: Told the date of birth is still under review
339
+ meta:
340
+ description: A card says the date of birth is still being checked.
341
+ snapshot: told-the-date-of-birth-is-still-under-review
342
+ events: []
343
+ confidence: assumed
344
+ source:
345
+ - src/screens/told-the-date-of-birth-is-still-under-review.tsx
346
+ on:
347
+ Checks the date of birth again:
348
+ target: "#Waiting for the date of birth to be approved"
349
+ Told the date of birth was rejected:
350
+ id: Told the date of birth was rejected
351
+ meta:
352
+ description: A message explains why the date of birth was not accepted.
353
+ snapshot: told-the-date-of-birth-was-rejected
354
+ events: []
355
+ confidence: confirmed
356
+ source:
357
+ - src/screens/told-the-date-of-birth-was-rejected.tsx
358
+ on:
359
+ Starts the date of birth again:
360
+ target: "#Reviewing the date of birth"
361
+ Told the date of birth was approved:
362
+ id: Told the date of birth was approved
363
+ meta:
364
+ description: A message confirms the date of birth is approved.
365
+ snapshot: told-the-date-of-birth-was-approved
366
+ events:
367
+ - Date of birth approved
368
+ confidence: confirmed
369
+ source:
370
+ - src/screens/told-the-date-of-birth-was-approved.tsx
371
+ on:
372
+ Starts the identity check:
373
+ target: "#Going through the identity check"
374
+ Going through the identity check:
375
+ id: Going through the identity check
376
+ meta:
377
+ description: The identity check runs as its own chart.
378
+ snapshot: going-through-the-identity-check
379
+ events: []
380
+ confidence: confirmed
381
+ source:
382
+ - src/screens/going-through-the-identity-check.tsx
383
+ invoke:
384
+ src: Identity check
385
+ id: identity-check
386
+ on:
387
+ Identity check is completed:
388
+ target: "#Handling the profile photo"
389
+ Identity check is abandoned:
390
+ target: "#Reviewing the date of birth"
391
+ Handling the profile photo:
392
+ id: Handling the profile photo
393
+ initial: Reviewing the profile photo
394
+ meta:
395
+ description: Everything about the profile photo, from review to approval.
396
+ snapshot: handling-the-profile-photo
397
+ events: []
398
+ confidence: confirmed
399
+ source:
400
+ - src/screens/handling-the-profile-photo.tsx
401
+ owner: Accounts team
402
+ states:
403
+ Reviewing the profile photo:
404
+ id: Reviewing the profile photo
405
+ meta:
406
+ description: The user checks the profile photo before sending it.
407
+ snapshot: reviewing-the-profile-photo
408
+ events: []
409
+ confidence: confirmed
410
+ source:
411
+ - src/screens/reviewing-the-profile-photo.tsx
412
+ gherkin:
413
+ - features/accounts/sign-up/profile-photo.feature
414
+ on:
415
+ Taps edit on the profile photo:
416
+ target: "#Editing the profile photo"
417
+ Submits the profile photo:
418
+ target: "#Waiting for the profile photo to be approved"
419
+ Editing the profile photo:
420
+ id: Editing the profile photo
421
+ meta:
422
+ description: A form to change the profile photo.
423
+ snapshot: editing-the-profile-photo
424
+ events: []
425
+ confidence: confirmed
426
+ source:
427
+ - src/screens/editing-the-profile-photo.tsx
428
+ on:
429
+ Saves the profile photo:
430
+ target: "#Reviewing the profile photo"
431
+ Cancels the changes to the profile photo:
432
+ target: "#Reviewing the profile photo"
433
+ Saving the profile photo fails:
434
+ target: "#Told the profile photo could not be saved"
435
+ Told the profile photo could not be saved:
436
+ id: Told the profile photo could not be saved
437
+ meta:
438
+ description: A message says the profile photo could not be saved, with "Try again".
439
+ snapshot: told-the-profile-photo-could-not-be-saved
440
+ events: []
441
+ confidence: confirmed
442
+ source:
443
+ - src/screens/told-the-profile-photo-could-not-be-saved.tsx
444
+ on:
445
+ Tries saving the profile photo again:
446
+ target: "#Editing the profile photo"
447
+ Waiting for the profile photo to be approved:
448
+ id: Waiting for the profile photo to be approved
449
+ meta:
450
+ description: A card says the profile photo is being checked.
451
+ snapshot: waiting-for-the-profile-photo-to-be-approved
452
+ events:
453
+ - Profile photo submitted
454
+ confidence: confirmed
455
+ source:
456
+ - src/screens/waiting-for-the-profile-photo-to-be-approved.tsx
457
+ tier: critical
458
+ on:
459
+ Identity service approves the profile photo:
460
+ target: "#Told the profile photo was approved"
461
+ Identity service rejects the profile photo:
462
+ target: "#Told the profile photo was rejected"
463
+ Approval of the profile photo takes longer than a day:
464
+ target: "#Told the profile photo is still under review"
465
+ Told the profile photo is still under review:
466
+ id: Told the profile photo is still under review
467
+ meta:
468
+ description: A card says the profile photo is still being checked.
469
+ snapshot: told-the-profile-photo-is-still-under-review
470
+ events: []
471
+ confidence: assumed
472
+ source:
473
+ - src/screens/told-the-profile-photo-is-still-under-review.tsx
474
+ on:
475
+ Checks the profile photo again:
476
+ target: "#Waiting for the profile photo to be approved"
477
+ Told the profile photo was rejected:
478
+ id: Told the profile photo was rejected
479
+ meta:
480
+ description: A message explains why the profile photo was not accepted.
481
+ snapshot: told-the-profile-photo-was-rejected
482
+ events: []
483
+ confidence: confirmed
484
+ source:
485
+ - src/screens/told-the-profile-photo-was-rejected.tsx
486
+ on:
487
+ Starts the profile photo again:
488
+ target: "#Reviewing the profile photo"
489
+ Told the profile photo was approved:
490
+ id: Told the profile photo was approved
491
+ meta:
492
+ description: A message confirms the profile photo is approved.
493
+ snapshot: told-the-profile-photo-was-approved
494
+ events:
495
+ - Profile photo approved
496
+ confidence: confirmed
497
+ source:
498
+ - src/screens/told-the-profile-photo-was-approved.tsx
499
+ on:
500
+ Continues to the notification preferences:
501
+ target: "#Handling the notification preferences"
502
+ Handling the notification preferences:
503
+ id: Handling the notification preferences
504
+ initial: Reviewing the notification preferences
505
+ meta:
506
+ description: Everything about the notification preferences, from review to approval.
507
+ snapshot: handling-the-notification-preferences
508
+ events: []
509
+ confidence: confirmed
510
+ source:
511
+ - src/screens/handling-the-notification-preferences.tsx
512
+ owner: Accounts team
513
+ states:
514
+ Reviewing the notification preferences:
515
+ id: Reviewing the notification preferences
516
+ meta:
517
+ description: The user checks the notification preferences before sending it.
518
+ snapshot: reviewing-the-notification-preferences
519
+ events: []
520
+ confidence: confirmed
521
+ source:
522
+ - src/screens/reviewing-the-notification-preferences.tsx
523
+ gherkin:
524
+ - features/accounts/sign-up/notification-preferences.feature
525
+ on:
526
+ Taps edit on the notification preferences:
527
+ target: "#Editing the notification preferences"
528
+ Submits the notification preferences:
529
+ target: "#Waiting for the notification preferences to be approved"
530
+ Editing the notification preferences:
531
+ id: Editing the notification preferences
532
+ meta:
533
+ description: A form to change the notification preferences.
534
+ snapshot: editing-the-notification-preferences
535
+ events: []
536
+ confidence: confirmed
537
+ source:
538
+ - src/screens/editing-the-notification-preferences.tsx
539
+ on:
540
+ Saves the notification preferences:
541
+ target: "#Reviewing the notification preferences"
542
+ Cancels the changes to the notification preferences:
543
+ target: "#Reviewing the notification preferences"
544
+ Saving the notification preferences fails:
545
+ target: "#Told the notification preferences could not be saved"
546
+ Told the notification preferences could not be saved:
547
+ id: Told the notification preferences could not be saved
548
+ meta:
549
+ description: A message says the notification preferences could not be saved, with "Try again".
550
+ snapshot: told-the-notification-preferences-could-not-be-saved
551
+ events: []
552
+ confidence: confirmed
553
+ source:
554
+ - src/screens/told-the-notification-preferences-could-not-be-saved.tsx
555
+ on:
556
+ Tries saving the notification preferences again:
557
+ target: "#Editing the notification preferences"
558
+ Waiting for the notification preferences to be approved:
559
+ id: Waiting for the notification preferences to be approved
560
+ meta:
561
+ description: A card says the notification preferences is being checked.
562
+ snapshot: waiting-for-the-notification-preferences-to-be-approved
563
+ events:
564
+ - Notification preferences submitted
565
+ confidence: confirmed
566
+ source:
567
+ - src/screens/waiting-for-the-notification-preferences-to-be-approved.tsx
568
+ tier: critical
569
+ on:
570
+ Identity service approves the notification preferences:
571
+ target: "#Told the notification preferences was approved"
572
+ Identity service rejects the notification preferences:
573
+ target: "#Told the notification preferences was rejected"
574
+ Approval of the notification preferences takes longer than a day:
575
+ target: "#Told the notification preferences is still under review"
576
+ Told the notification preferences is still under review:
577
+ id: Told the notification preferences is still under review
578
+ meta:
579
+ description: A card says the notification preferences is still being checked.
580
+ snapshot: told-the-notification-preferences-is-still-under-review
581
+ events: []
582
+ confidence: assumed
583
+ source:
584
+ - src/screens/told-the-notification-preferences-is-still-under-review.tsx
585
+ on:
586
+ Checks the notification preferences again:
587
+ target: "#Waiting for the notification preferences to be approved"
588
+ Told the notification preferences was rejected:
589
+ id: Told the notification preferences was rejected
590
+ meta:
591
+ description: A message explains why the notification preferences was not accepted.
592
+ snapshot: told-the-notification-preferences-was-rejected
593
+ events: []
594
+ confidence: confirmed
595
+ source:
596
+ - src/screens/told-the-notification-preferences-was-rejected.tsx
597
+ on:
598
+ Starts the notification preferences again:
599
+ target: "#Reviewing the notification preferences"
600
+ Told the notification preferences was approved:
601
+ id: Told the notification preferences was approved
602
+ meta:
603
+ description: A message confirms the notification preferences is approved.
604
+ snapshot: told-the-notification-preferences-was-approved
605
+ events:
606
+ - Notification preferences approved
607
+ confidence: confirmed
608
+ source:
609
+ - src/screens/told-the-notification-preferences-was-approved.tsx
610
+ on:
611
+ Continues to the security questions:
612
+ target: "#Handling the security questions"
613
+ Handling the security questions:
614
+ id: Handling the security questions
615
+ initial: Reviewing the security questions
616
+ meta:
617
+ description: Everything about the security questions, from review to approval.
618
+ snapshot: handling-the-security-questions
619
+ events: []
620
+ confidence: confirmed
621
+ source:
622
+ - src/screens/handling-the-security-questions.tsx
623
+ owner: Accounts team
624
+ states:
625
+ Reviewing the security questions:
626
+ id: Reviewing the security questions
627
+ meta:
628
+ description: The user checks the security questions before sending it.
629
+ snapshot: reviewing-the-security-questions
630
+ events: []
631
+ confidence: confirmed
632
+ source:
633
+ - src/screens/reviewing-the-security-questions.tsx
634
+ gherkin:
635
+ - features/accounts/sign-up/security-questions.feature
636
+ on:
637
+ Taps edit on the security questions:
638
+ target: "#Editing the security questions"
639
+ Submits the security questions:
640
+ target: "#Waiting for the security questions to be approved"
641
+ Editing the security questions:
642
+ id: Editing the security questions
643
+ meta:
644
+ description: A form to change the security questions.
645
+ snapshot: editing-the-security-questions
646
+ events: []
647
+ confidence: confirmed
648
+ source:
649
+ - src/screens/editing-the-security-questions.tsx
650
+ on:
651
+ Saves the security questions:
652
+ target: "#Reviewing the security questions"
653
+ Cancels the changes to the security questions:
654
+ target: "#Reviewing the security questions"
655
+ Saving the security questions fails:
656
+ target: "#Told the security questions could not be saved"
657
+ Told the security questions could not be saved:
658
+ id: Told the security questions could not be saved
659
+ meta:
660
+ description: A message says the security questions could not be saved, with "Try again".
661
+ snapshot: told-the-security-questions-could-not-be-saved
662
+ events: []
663
+ confidence: confirmed
664
+ source:
665
+ - src/screens/told-the-security-questions-could-not-be-saved.tsx
666
+ on:
667
+ Tries saving the security questions again:
668
+ target: "#Editing the security questions"
669
+ Waiting for the security questions to be approved:
670
+ id: Waiting for the security questions to be approved
671
+ meta:
672
+ description: A card says the security questions is being checked.
673
+ snapshot: waiting-for-the-security-questions-to-be-approved
674
+ events:
675
+ - Security questions submitted
676
+ confidence: confirmed
677
+ source:
678
+ - src/screens/waiting-for-the-security-questions-to-be-approved.tsx
679
+ tier: critical
680
+ on:
681
+ Identity service approves the security questions:
682
+ target: "#Told the security questions was approved"
683
+ Identity service rejects the security questions:
684
+ target: "#Told the security questions was rejected"
685
+ Approval of the security questions takes longer than a day:
686
+ target: "#Told the security questions is still under review"
687
+ Told the security questions is still under review:
688
+ id: Told the security questions is still under review
689
+ meta:
690
+ description: A card says the security questions is still being checked.
691
+ snapshot: told-the-security-questions-is-still-under-review
692
+ events: []
693
+ confidence: assumed
694
+ source:
695
+ - src/screens/told-the-security-questions-is-still-under-review.tsx
696
+ on:
697
+ Checks the security questions again:
698
+ target: "#Waiting for the security questions to be approved"
699
+ Told the security questions was rejected:
700
+ id: Told the security questions was rejected
701
+ meta:
702
+ description: A message explains why the security questions was not accepted.
703
+ snapshot: told-the-security-questions-was-rejected
704
+ events: []
705
+ confidence: confirmed
706
+ source:
707
+ - src/screens/told-the-security-questions-was-rejected.tsx
708
+ on:
709
+ Starts the security questions again:
710
+ target: "#Reviewing the security questions"
711
+ Told the security questions was approved:
712
+ id: Told the security questions was approved
713
+ meta:
714
+ description: A message confirms the security questions is approved.
715
+ snapshot: told-the-security-questions-was-approved
716
+ events:
717
+ - Security questions approved
718
+ confidence: confirmed
719
+ source:
720
+ - src/screens/told-the-security-questions-was-approved.tsx
721
+ on:
722
+ Continues to the sign-up settings:
723
+ target: "#Sign-up settings"
724
+ Sign-up settings:
725
+ id: Sign-up settings
726
+ type: parallel
727
+ meta:
728
+ description: "Settings for sign-up: notifications and help side by side."
729
+ snapshot: sign-up-settings
730
+ events: []
731
+ confidence: confirmed
732
+ source:
733
+ - src/screens/sign-up-settings.tsx
734
+ states:
735
+ Sign-up notifications:
736
+ id: Sign-up notifications
737
+ initial: Sign-up notifications on
738
+ meta:
739
+ description: Whether the user gets notifications.
740
+ snapshot: sign-up-notifications
741
+ events: []
742
+ confidence: confirmed
743
+ source:
744
+ - src/screens/sign-up-notifications.tsx
745
+ states:
746
+ Sign-up notifications on:
747
+ id: Sign-up notifications on
748
+ meta:
749
+ description: The notifications switch is on.
750
+ snapshot: sign-up-notifications-on
751
+ events: []
752
+ confidence: confirmed
753
+ source:
754
+ - src/screens/sign-up-notifications-on.tsx
755
+ on:
756
+ Turns off sign-up notifications:
757
+ target: "#Sign-up notifications off"
758
+ Sign-up notifications off:
759
+ id: Sign-up notifications off
760
+ meta:
761
+ description: The notifications switch is off.
762
+ snapshot: sign-up-notifications-off
763
+ events: []
764
+ confidence: confirmed
765
+ source:
766
+ - src/screens/sign-up-notifications-off.tsx
767
+ on:
768
+ Turns on sign-up notifications:
769
+ target: "#Sign-up notifications on"
770
+ Sign-up help:
771
+ id: Sign-up help
772
+ initial: No open sign-up help request
773
+ meta:
774
+ description: Help requests about this part of the product.
775
+ snapshot: sign-up-help
776
+ events: []
777
+ confidence: confirmed
778
+ source:
779
+ - src/screens/sign-up-help.tsx
780
+ states:
781
+ No open sign-up help request:
782
+ id: No open sign-up help request
783
+ meta:
784
+ description: A "Get help" button.
785
+ snapshot: no-open-sign-up-help-request
786
+ events: []
787
+ confidence: confirmed
788
+ source:
789
+ - src/screens/no-open-sign-up-help-request.tsx
790
+ on:
791
+ Opens a sign-up help request:
792
+ target: "#Sign-up help request open"
793
+ Sign-up help request open:
794
+ id: Sign-up help request open
795
+ meta:
796
+ description: A card says the help desk will answer soon.
797
+ snapshot: sign-up-help-request-open
798
+ events: []
799
+ confidence: confirmed
800
+ source:
801
+ - src/screens/sign-up-help-request-open.tsx
802
+ on:
803
+ Help desk answers the sign-up help request:
804
+ target: "#Sign-up help request answered"
805
+ Sign-up help request answered:
806
+ id: Sign-up help request answered
807
+ meta:
808
+ description: The answer shows in the help card.
809
+ snapshot: sign-up-help-request-answered
810
+ events: []
811
+ confidence: confirmed
812
+ source:
813
+ - src/screens/sign-up-help-request-answered.tsx
814
+ on:
815
+ Opens another sign-up help request:
816
+ target: "#Sign-up help request open"
817
+ on:
818
+ Closes the sign-up settings:
819
+ target: "#Sign-up finished"
820
+ Sign-up finished:
821
+ id: Sign-up finished
822
+ type: final
823
+ meta:
824
+ description: The user is done with sign-up.
825
+ snapshot: sign-up-finished
826
+ events:
827
+ - Sign-up finished
828
+ confidence: confirmed
829
+ source:
830
+ - src/screens/sign-up-finished.tsx