@marinoscar/kvox-eval 0.0.0-bootstrap → 0.1.0-next.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 (245) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/LICENSE +21 -0
  3. package/README.md +166 -0
  4. package/dist/ask/index.d.ts +6 -0
  5. package/dist/ask/index.js +28 -0
  6. package/dist/ask/question-schema.d.ts +121 -0
  7. package/dist/ask/question-schema.js +167 -0
  8. package/dist/ask/report.d.ts +88 -0
  9. package/dist/ask/report.js +170 -0
  10. package/dist/ask/scorer.d.ts +104 -0
  11. package/dist/ask/scorer.js +164 -0
  12. package/dist/ask-run/ask-command.d.ts +62 -0
  13. package/dist/ask-run/ask-command.js +254 -0
  14. package/dist/ask-run/host/app.d.ts +65 -0
  15. package/dist/ask-run/host/app.js +146 -0
  16. package/dist/ask-run/host/db.d.ts +38 -0
  17. package/dist/ask-run/host/db.js +126 -0
  18. package/dist/ask-run/host/ports.d.ts +35 -0
  19. package/dist/ask-run/host/ports.js +113 -0
  20. package/dist/ask-run/index.d.ts +13 -0
  21. package/dist/ask-run/index.js +35 -0
  22. package/dist/ask-run/replay.d.ts +128 -0
  23. package/dist/ask-run/replay.js +212 -0
  24. package/dist/ask-run/run-ask-eval.d.ts +125 -0
  25. package/dist/ask-run/run-ask-eval.js +193 -0
  26. package/dist/ask-run/seed-golden-graph.d.ts +64 -0
  27. package/dist/ask-run/seed-golden-graph.js +495 -0
  28. package/dist/cli/index.d.ts +3 -0
  29. package/dist/cli/index.js +12 -0
  30. package/dist/cli/kg-command.d.ts +66 -0
  31. package/dist/cli/kg-command.js +238 -0
  32. package/dist/cli/main.d.ts +18 -0
  33. package/dist/cli/main.js +69 -0
  34. package/dist/fixtures/domains.d.ts +16 -0
  35. package/dist/fixtures/domains.js +33 -0
  36. package/dist/fixtures/fixture-schema.d.ts +323 -0
  37. package/dist/fixtures/fixture-schema.js +199 -0
  38. package/dist/fixtures/index.d.ts +16 -0
  39. package/dist/fixtures/index.js +40 -0
  40. package/dist/fixtures/load.d.ts +73 -0
  41. package/dist/fixtures/load.js +137 -0
  42. package/dist/fixtures/questions.d.ts +15 -0
  43. package/dist/fixtures/questions.js +26 -0
  44. package/dist/index.d.ts +20 -0
  45. package/dist/index.js +36 -0
  46. package/dist/kg/gold-runner.d.ts +13 -0
  47. package/dist/kg/gold-runner.js +57 -0
  48. package/dist/kg/index.d.ts +17 -0
  49. package/dist/kg/index.js +65 -0
  50. package/dist/kg/internals.d.ts +7 -0
  51. package/dist/kg/internals.js +17 -0
  52. package/dist/kg/prediction-schema.d.ts +245 -0
  53. package/dist/kg/prediction-schema.js +102 -0
  54. package/dist/kg/predictions.d.ts +11 -0
  55. package/dist/kg/predictions.js +49 -0
  56. package/dist/kg/report.d.ts +84 -0
  57. package/dist/kg/report.js +125 -0
  58. package/dist/kg/run-kg-eval.d.ts +77 -0
  59. package/dist/kg/run-kg-eval.js +137 -0
  60. package/dist/kg/runner.d.ts +72 -0
  61. package/dist/kg/runner.js +51 -0
  62. package/dist/kg/runners/extract-resolve-runner.d.ts +40 -0
  63. package/dist/kg/runners/extract-resolve-runner.js +199 -0
  64. package/dist/kg/runners/extract-runner.d.ts +65 -0
  65. package/dist/kg/runners/extract-runner.js +243 -0
  66. package/dist/kg/scorer.d.ts +226 -0
  67. package/dist/kg/scorer.js +463 -0
  68. package/dist/kg/targets.d.ts +17 -0
  69. package/dist/kg/targets.js +16 -0
  70. package/dist/kg/text.d.ts +45 -0
  71. package/dist/kg/text.js +100 -0
  72. package/dist/live/adapters.d.ts +16 -0
  73. package/dist/live/adapters.js +58 -0
  74. package/dist/live/env.d.ts +39 -0
  75. package/dist/live/env.js +56 -0
  76. package/dist/live/index.d.ts +6 -0
  77. package/dist/live/index.js +16 -0
  78. package/dist/live/live-ai.d.ts +104 -0
  79. package/dist/live/live-ai.js +157 -0
  80. package/dist/parity/constants.d.ts +79 -0
  81. package/dist/parity/constants.js +104 -0
  82. package/dist/parity/index.d.ts +20 -0
  83. package/dist/parity/index.js +38 -0
  84. package/dist/parity/internals.d.ts +8 -0
  85. package/dist/parity/internals.js +16 -0
  86. package/dist/parity/scenario.d.ts +45 -0
  87. package/dist/parity/scenario.js +245 -0
  88. package/dist/parity/script.d.ts +44 -0
  89. package/dist/parity/script.js +136 -0
  90. package/dist/parity/snapshot.d.ts +43 -0
  91. package/dist/parity/snapshot.js +71 -0
  92. package/dist/real-data/index.d.ts +2 -0
  93. package/dist/real-data/index.js +12 -0
  94. package/dist/real-data/real-data.d.ts +76 -0
  95. package/dist/real-data/real-data.js +156 -0
  96. package/fixtures/kg-golden/README.md +136 -0
  97. package/fixtures/kg-golden/ask-questions.json +458 -0
  98. package/fixtures/kg-golden/meetings/m01-northwind-pilot-kickoff.json +792 -0
  99. package/fixtures/kg-golden/meetings/m02-halden-migration-planning.json +814 -0
  100. package/fixtures/kg-golden/meetings/m03-larkspur-weekly-sync.json +601 -0
  101. package/fixtures/kg-golden/meetings/m04-corvid-intake-discovery.json +690 -0
  102. package/fixtures/kg-golden/meetings/m05-hosting-vendor-selection.json +631 -0
  103. package/fixtures/kg-golden/meetings/m06-northwind-floor-data-review.json +649 -0
  104. package/fixtures/kg-golden/meetings/m07-gullwing-intro-notes.json +428 -0
  105. package/fixtures/kg-golden/meetings/m08-halden-migration-checkpoint.json +672 -0
  106. package/fixtures/kg-golden/meetings/m09-northwind-platform-org-update.json +711 -0
  107. package/fixtures/kg-golden/meetings/m10-corvid-prototype-review.json +623 -0
  108. package/fixtures/kg-golden/meetings/m11-solvane-grid-dashboard-scoping.json +689 -0
  109. package/fixtures/kg-golden/meetings/m12-northwind-pilot-replan.json +681 -0
  110. package/fixtures/kg-golden/meetings/m13-halden-cutover-go-no-go.json +721 -0
  111. package/fixtures/kg-golden/meetings/m14-gullwing-discovery-readout.json +719 -0
  112. package/fixtures/kg-golden/meetings/m15-halden-handover-ravi-leaving.json +716 -0
  113. package/fixtures/kg-golden/meetings/m16-varden-claims-portal-intro.json +704 -0
  114. package/fixtures/kg-golden/meetings/m17-corvid-usability-debrief.json +572 -0
  115. package/fixtures/kg-golden/meetings/m18-hosting-decision-revisited.json +655 -0
  116. package/fixtures/kg-golden/meetings/m19-solvane-integration-kickoff.json +726 -0
  117. package/fixtures/kg-golden/meetings/m20-northwind-go-live-retro.json +673 -0
  118. package/fixtures/kg-golden/meetings/m21-quarterly-account-review.json +449 -0
  119. package/fixtures/kg-golden/meetings/m22-halden-intro-call-2020.json +558 -0
  120. package/fixtures/kg-golden/meetings/m23-gullwing-model-review.json +702 -0
  121. package/fixtures/kg-golden/meetings/m24-varden-discovery-midpoint.json +643 -0
  122. package/fixtures/kg-golden/meetings/m25-corvid-rollout-planning.json +642 -0
  123. package/fixtures/kg-golden/meetings/m26-larkspur-engineering-prep.json +695 -0
  124. package/fixtures/kg-golden/meetings/m27-solvane-phase-one-demo.json +649 -0
  125. package/fixtures/kg-golden/meetings/m28-northwind-building-5-scoping.json +715 -0
  126. package/fixtures/kg-golden/meetings/m29-halden-southern-cutover-review.json +752 -0
  127. package/fixtures/kg-golden/meetings/m30-varden-portal-build-kickoff.json +697 -0
  128. package/fixtures/kg-golden/meetings/m31-gullwing-rollout-renewal.json +681 -0
  129. package/fixtures/kg-golden/meetings/m32-brambleway-weekly-sync.json +472 -0
  130. package/fixtures/kg-golden/meetings/m33-nina-oliver-one-on-one.json +342 -0
  131. package/fixtures/kg-golden/meetings/m34-coffee-with-dana.json +249 -0
  132. package/fixtures/kg-golden/meetings/m35-brambleway-june-sync.json +553 -0
  133. package/fixtures/kg-golden/meetings/m36-copenhagen-conference-planning.json +296 -0
  134. package/host/generated/client.d.ts +1 -0
  135. package/host/generated/client.js +5 -0
  136. package/host/generated/default.d.ts +1 -0
  137. package/host/generated/default.js +5 -0
  138. package/host/generated/edge.d.ts +1 -0
  139. package/host/generated/edge.js +1658 -0
  140. package/host/generated/index-browser.js +1684 -0
  141. package/host/generated/index.d.ts +192335 -0
  142. package/host/generated/index.js +1658 -0
  143. package/host/generated/package.json +139 -0
  144. package/host/generated/query_compiler_fast_bg.js +2 -0
  145. package/host/generated/query_compiler_fast_bg.wasm +0 -0
  146. package/host/generated/query_compiler_fast_bg.wasm-base64.js +2 -0
  147. package/host/generated/runtime/client.d.ts +3433 -0
  148. package/host/generated/runtime/client.js +110 -0
  149. package/host/generated/runtime/index-browser.d.ts +90 -0
  150. package/host/generated/runtime/index-browser.js +6 -0
  151. package/host/generated/runtime/wasm-compiler-edge.js +100 -0
  152. package/host/generated/schema.prisma +6312 -0
  153. package/host/generated/wasm-edge-light-loader.mjs +5 -0
  154. package/host/generated/wasm-worker-loader.mjs +5 -0
  155. package/host/prisma/fragments/kvox.ask.prisma +126 -0
  156. package/host/prisma/fragments/kvox.graph.prisma +1073 -0
  157. package/host/prisma/fragments/kvox.notes.prisma +787 -0
  158. package/host/prisma/fragments/kvox.search.prisma +211 -0
  159. package/host/prisma/fragments/kvox.transcripts.prisma +790 -0
  160. package/host/prisma/kvox.lock +101 -0
  161. package/host/prisma/migrations/20240101000000_initial/migration.sql +297 -0
  162. package/host/prisma/migrations/20240101000001_add_personal_access_tokens/migration.sql +31 -0
  163. package/host/prisma/migrations/20240101000002_add_credentials/migration.sql +20 -0
  164. package/host/prisma/migrations/20240101000003_add_notification_deliveries/migration.sql +27 -0
  165. package/host/prisma/migrations/20240101000004_drop_stale_uuid_defaults/migration.sql +35 -0
  166. package/host/prisma/migrations/20240101000005_add_notifications/migration.sql +22 -0
  167. package/host/prisma/migrations/20240101000006_add_push_subscriptions/migration.sql +25 -0
  168. package/host/prisma/migrations/20240101000007_add_jobs/migration.sql +110 -0
  169. package/host/prisma/migrations/20240101000008_add_worker_nodes/migration.sql +90 -0
  170. package/host/prisma/migrations/20240101000009_add_database_backup_runs/migration.sql +104 -0
  171. package/host/prisma/migrations/20240101000010_add_notification_broadcasts/migration.sql +57 -0
  172. package/host/prisma/migrations/20240101000011_add_backup_run_job_link/migration.sql +87 -0
  173. package/host/prisma/migrations/20240101000012_add_job_node_secrets/migration.sql +61 -0
  174. package/host/prisma/migrations/20240101000013_add_backup_run_pg_dump_version/migration.sql +26 -0
  175. package/host/prisma/migrations/20240101000014_add_job_claim_token/migration.sql +92 -0
  176. package/host/prisma/migrations/20240101000015_add_ai_platform/migration.sql +108 -0
  177. package/host/prisma/migrations/20240101000016_revoke_viewer_ai_use/migration.sql +32 -0
  178. package/host/prisma/migrations/20240101000017_add_user_credentials/migration.sql +29 -0
  179. package/host/prisma/migrations/20240101000018_add_device_session_credential_link/migration.sql +52 -0
  180. package/host/prisma/migrations/20240101000019_add_worker_node_vitals/migration.sql +3 -0
  181. package/host/prisma/migrations/20240101000020_add_job_trace_context/migration.sql +6 -0
  182. package/host/prisma/migrations/20240101000021_add_retention_created_at_indexes/migration.sql +13 -0
  183. package/host/prisma/migrations/20240101000022_add_organizations/migration.sql +142 -0
  184. package/host/prisma/migrations/20240101000023_split_system_org_roles/migration.sql +131 -0
  185. package/host/prisma/migrations/20240101000024_org_scoped_rls/migration.sql +215 -0
  186. package/host/prisma/migrations/20240101000025_add_groups/migration.sql +165 -0
  187. package/host/prisma/migrations/20240101000026_add_grants/migration.sql +117 -0
  188. package/host/prisma/migrations/20240101000027_add_org_settings/migration.sql +49 -0
  189. package/host/prisma/migrations/20240101000028_add_org_credentials/migration.sql +54 -0
  190. package/host/prisma/migrations/20240101000029_add_jobs_org_id/migration.sql +18 -0
  191. package/host/prisma/migrations/20240101000030_add_jobs_org_id_status_index/migration.sql +6 -0
  192. package/host/prisma/migrations/20240101000031_add_broadcast_target_org/migration.sql +21 -0
  193. package/host/prisma/migrations/20240101000032_add_android_app/migration.sql +60 -0
  194. package/host/prisma/migrations/20240101000033_open_job_reason/migration.sql +16 -0
  195. package/host/prisma/migrations/20240101000034_ai_usage_feature/migration.sql +37 -0
  196. package/host/prisma/migrations/20240101000035_add_app_metadata/migration.sql +49 -0
  197. package/host/prisma/migrations/20240101000036_open_sharing_vocabularies/migration.sql +97 -0
  198. package/host/prisma/migrations/20260914130000_kvox_add_transcripts/migration.sql +322 -0
  199. package/host/prisma/migrations/20260914140000_kvox_add_notes/migration.sql +311 -0
  200. package/host/prisma/migrations/20260915120000_kvox_add_search_vectors/migration.sql +150 -0
  201. package/host/prisma/migrations/20260915130000_kvox_add_search_embeddings/migration.sql +362 -0
  202. package/host/prisma/migrations/20260915210000_kvox_add_note_title_source/migration.sql +30 -0
  203. package/host/prisma/migrations/20260923120000_kvox_add_note_generation_context_snapshot/migration.sql +24 -0
  204. package/host/prisma/migrations/20260923130000_kvox_add_user_hidden_note_templates/migration.sql +35 -0
  205. package/host/prisma/migrations/20260923140000_kvox_add_transcript_speaker_identities/migration.sql +6 -0
  206. package/host/prisma/migrations/20260923150000_kvox_transcript_name_checks/migration.sql +95 -0
  207. package/host/prisma/migrations/20260923160000_kvox_add_note_body_format/migration.sql +27 -0
  208. package/host/prisma/migrations/20260923170000_kvox_add_note_version_body_format/migration.sql +23 -0
  209. package/host/prisma/migrations/20260926012548_kvox_add_knowledge_graph/migration.sql +680 -0
  210. package/host/prisma/migrations/20260926030000_kvox_fix_kg_relations_valid_precision_chk/migration.sql +29 -0
  211. package/host/prisma/migrations/20260926030100_kvox_add_transcript_recorded_at/migration.sql +9 -0
  212. package/host/prisma/migrations/20260926030200_kvox_kg_evidence_invariant/migration.sql +60 -0
  213. package/host/prisma/migrations/20260926040000_kvox_add_kg_graph_layouts/migration.sql +30 -0
  214. package/host/prisma/migrations/20260926050000_kvox_add_ask_conversations/migration.sql +99 -0
  215. package/host/prisma/migrations/20260926231512_kvox_add_kg_exports/migration.sql +52 -0
  216. package/host/prisma/migrations/20261016120000_kvox_transcripts_org_id/migration.sql +49 -0
  217. package/host/prisma/platform.lock +319 -0
  218. package/host/prisma/schema/app.kvox.ask.prisma +110 -0
  219. package/host/prisma/schema/app.kvox.graph.prisma +1030 -0
  220. package/host/prisma/schema/app.kvox.notes.prisma +746 -0
  221. package/host/prisma/schema/app.kvox.search.prisma +208 -0
  222. package/host/prisma/schema/app.kvox.transcripts.prisma +726 -0
  223. package/host/prisma/schema/platform.ai.prisma +419 -0
  224. package/host/prisma/schema/platform.android-app.prisma +46 -0
  225. package/host/prisma/schema/platform.base.prisma +15 -0
  226. package/host/prisma/schema/platform.credentials.prisma +156 -0
  227. package/host/prisma/schema/platform.db-backup.prisma +359 -0
  228. package/host/prisma/schema/platform.identity.prisma +638 -0
  229. package/host/prisma/schema/platform.jobs.prisma +824 -0
  230. package/host/prisma/schema/platform.notifications.prisma +641 -0
  231. package/host/prisma/schema/platform.settings.prisma +53 -0
  232. package/host/prisma/schema/platform.sharing.prisma +208 -0
  233. package/host/prisma/schema/platform.storage.prisma +118 -0
  234. package/package.json +112 -1
  235. package/parity/requests.ask.json +2681 -0
  236. package/parity/requests.m01.json +1554 -0
  237. package/parity/requests.m02.json +1554 -0
  238. package/parity/requests.m03.json +1554 -0
  239. package/parity/requests.m04.json +1554 -0
  240. package/parity/requests.m05.json +1554 -0
  241. package/parity/requests.m06.json +1554 -0
  242. package/parity/requests.m07.json +1554 -0
  243. package/parity/requests.m08.json +1554 -0
  244. package/parity/requests.m09.json +1554 -0
  245. package/parity/requests.m10.json +1554 -0
@@ -0,0 +1,572 @@
1
+ {
2
+ "id": "m17",
3
+ "title": "Corvid usability test debrief",
4
+ "tags": [
5
+ "client"
6
+ ],
7
+ "recordedAt": "2026-04-30T13:00:00Z",
8
+ "contextText": "Debrief after the first usability round with front-desk staff.",
9
+ "hasTranscript": true,
10
+ "speakers": [
11
+ {
12
+ "id": "m17-spk-a",
13
+ "label": "A",
14
+ "displayName": "Alex Rivera"
15
+ },
16
+ {
17
+ "id": "m17-spk-b",
18
+ "label": "B",
19
+ "displayName": "Elif Kaya"
20
+ },
21
+ {
22
+ "id": "m17-spk-c",
23
+ "label": "C",
24
+ "displayName": "Nadia Brooks"
25
+ },
26
+ {
27
+ "id": "m17-spk-d",
28
+ "label": "D",
29
+ "displayName": "Samir Haddad"
30
+ }
31
+ ],
32
+ "segments": [
33
+ {
34
+ "id": "m17-s001",
35
+ "speakerId": "m17-spk-a",
36
+ "startMs": 0,
37
+ "endMs": 5540,
38
+ "rev": 1,
39
+ "text": "Thanks all. Nadia ran the usability sessions this week, so over to her."
40
+ },
41
+ {
42
+ "id": "m17-s002",
43
+ "speakerId": "m17-spk-c",
44
+ "startMs": 5790,
45
+ "endMs": 13990,
46
+ "rev": 1,
47
+ "text": "We tested with five front-desk staff across two clinics. Four of the five completed a full intake without any help."
48
+ },
49
+ {
50
+ "id": "m17-s003",
51
+ "speakerId": "m17-spk-b",
52
+ "startMs": 14240,
53
+ "endMs": 16740,
54
+ "rev": 1,
55
+ "text": "That's better than I expected."
56
+ },
57
+ {
58
+ "id": "m17-s004",
59
+ "speakerId": "m17-spk-c",
60
+ "startMs": 16990,
61
+ "endMs": 23290,
62
+ "rev": 1,
63
+ "text": "The one who struggled got stuck on the medication search. The list was too long."
64
+ },
65
+ {
66
+ "id": "m17-s005",
67
+ "speakerId": "m17-spk-d",
68
+ "startMs": 23540,
69
+ "endMs": 30220,
70
+ "rev": 1,
71
+ "text": "Medication is where accuracy matters most, so I'd rather we fix that than simplify it away."
72
+ },
73
+ {
74
+ "id": "m17-s006",
75
+ "speakerId": "m17-spk-c",
76
+ "startMs": 30470,
77
+ "endMs": 34870,
78
+ "rev": 1,
79
+ "text": "Agreed. I'm thinking type-ahead with the most common medications first."
80
+ },
81
+ {
82
+ "id": "m17-s007",
83
+ "speakerId": "m17-spk-a",
84
+ "startMs": 35120,
85
+ "endMs": 40280,
86
+ "rev": 1,
87
+ "text": "We also tested the two layouts. Single page versus the step-by-step wizard."
88
+ },
89
+ {
90
+ "id": "m17-s008",
91
+ "speakerId": "m17-spk-c",
92
+ "startMs": 40530,
93
+ "endMs": 47210,
94
+ "rev": 1,
95
+ "text": "Single page won clearly. Staff could see everything at once and jump back to fix mistakes."
96
+ },
97
+ {
98
+ "id": "m17-s009",
99
+ "speakerId": "m17-spk-b",
100
+ "startMs": 47460,
101
+ "endMs": 50720,
102
+ "rev": 1,
103
+ "text": "Then we keep the single-page form. Decided."
104
+ },
105
+ {
106
+ "id": "m17-s010",
107
+ "speakerId": "m17-spk-d",
108
+ "startMs": 50970,
109
+ "endMs": 55750,
110
+ "rev": 1,
111
+ "text": "Fine by me, as long as allergies stay at the top."
112
+ },
113
+ {
114
+ "id": "m17-s011",
115
+ "speakerId": "m17-spk-c",
116
+ "startMs": 56000,
117
+ "endMs": 57360,
118
+ "rev": 1,
119
+ "text": "They will."
120
+ },
121
+ {
122
+ "id": "m17-s012",
123
+ "speakerId": "m17-spk-a",
124
+ "startMs": 57610,
125
+ "endMs": 61250,
126
+ "rev": 1,
127
+ "text": "What's left before we can hand over designs?"
128
+ },
129
+ {
130
+ "id": "m17-s013",
131
+ "speakerId": "m17-spk-c",
132
+ "startMs": 61500,
133
+ "endMs": 68940,
134
+ "rev": 1,
135
+ "text": "The medication search, the high contrast theme, and error states. I'll ship the final designs by May 15."
136
+ },
137
+ {
138
+ "id": "m17-s014",
139
+ "speakerId": "m17-spk-b",
140
+ "startMs": 69190,
141
+ "endMs": 73590,
142
+ "rev": 1,
143
+ "text": "I'd like to see them before they go to engineering."
144
+ },
145
+ {
146
+ "id": "m17-s015",
147
+ "speakerId": "m17-spk-c",
148
+ "startMs": 73840,
149
+ "endMs": 77480,
150
+ "rev": 1,
151
+ "text": "Of course, I'll send them to you first."
152
+ },
153
+ {
154
+ "id": "m17-s016",
155
+ "speakerId": "m17-spk-a",
156
+ "startMs": 77730,
157
+ "endMs": 80610,
158
+ "rev": 1,
159
+ "text": "Samir, anything from the clinical side?"
160
+ },
161
+ {
162
+ "id": "m17-s017",
163
+ "speakerId": "m17-spk-d",
164
+ "startMs": 80860,
165
+ "endMs": 89820,
166
+ "rev": 1,
167
+ "text": "The wording on the consent step needs clinical review. I'll review the consent wording and send changes to Nadia by next Friday."
168
+ },
169
+ {
170
+ "id": "m17-s018",
171
+ "speakerId": "m17-spk-c",
172
+ "startMs": 90070,
173
+ "endMs": 91050,
174
+ "rev": 1,
175
+ "text": "Thanks."
176
+ },
177
+ {
178
+ "id": "m17-s019",
179
+ "speakerId": "m17-spk-b",
180
+ "startMs": 91300,
181
+ "endMs": 97600,
182
+ "rev": 1,
183
+ "text": "One organisational thing, I'm the product owner for this but Samir signs off anything clinical."
184
+ },
185
+ {
186
+ "id": "m17-s020",
187
+ "speakerId": "m17-spk-a",
188
+ "startMs": 97850,
189
+ "endMs": 99590,
190
+ "rev": 1,
191
+ "text": "Understood, two sign-offs."
192
+ },
193
+ {
194
+ "id": "m17-s021",
195
+ "speakerId": "m17-spk-d",
196
+ "startMs": 99840,
197
+ "endMs": 101200,
198
+ "rev": 1,
199
+ "text": "That's right."
200
+ },
201
+ {
202
+ "id": "m17-s022",
203
+ "speakerId": "m17-spk-a",
204
+ "startMs": 101450,
205
+ "endMs": 107370,
206
+ "rev": 1,
207
+ "text": "Great. So: single page, final designs by May 15, consent wording by next Friday."
208
+ }
209
+ ],
210
+ "note": {
211
+ "version": 1,
212
+ "body": "# Corvid usability test debrief\n\n**Date:** April 30\n**Attendees:** Alex Rivera (Larkspur Labs), Nadia Brooks (Larkspur Labs), Elif Kaya (Corvid Health), Samir Haddad (Corvid Health)\n\n## Summary\n\nDebrief of the first usability round on the Corvid Health patient intake redesign. Nadia ran the sessions this week with five front-desk staff across two clinics.\n\n## Results\n\n- Four of the five testers completed a full intake without any help.\n- The one who struggled got stuck on the medication search; the list was too long.\n- Samir wants the medication step fixed rather than simplified, because medication is where accuracy matters most. Nadia proposed type-ahead with the most common medications first.\n- The single-page layout clearly beat the step-by-step wizard: staff could see everything at once and jump back to fix mistakes.\n\n## Decisions\n\n- **Keep the single-page form**, with allergies at the top.\n- Two sign-offs apply: Elif as product owner, and Samir for anything clinical.\n\n## Action items\n\n- **Nadia Brooks** — ship the final designs (medication search, high contrast theme, error states) by May 15, sending them to Elif before engineering.\n- **Samir Haddad** — review the consent step wording and send changes to Nadia by next Friday.\n\n## Next steps\n\nOnce designs are signed off, engineering picks up the build for the first walk-in clinic.\n"
213
+ },
214
+ "knownEntities": [
215
+ {
216
+ "id": "g-org-corvid-health",
217
+ "type": "Organization",
218
+ "label": "Corvid Health",
219
+ "aliases": [
220
+ "Corvid"
221
+ ],
222
+ "props": {},
223
+ "attendedFixtureIds": []
224
+ },
225
+ {
226
+ "id": "g-person-alex-rivera",
227
+ "type": "Person",
228
+ "label": "Alex Rivera",
229
+ "aliases": [
230
+ "Alex"
231
+ ],
232
+ "props": {},
233
+ "attendedFixtureIds": [
234
+ "m01",
235
+ "m02",
236
+ "m03",
237
+ "m04",
238
+ "m05",
239
+ "m06",
240
+ "m07",
241
+ "m08",
242
+ "m09",
243
+ "m10",
244
+ "m11",
245
+ "m12",
246
+ "m13",
247
+ "m14",
248
+ "m15",
249
+ "m16",
250
+ "m22"
251
+ ]
252
+ },
253
+ {
254
+ "id": "g-person-elif-kaya",
255
+ "type": "Person",
256
+ "label": "Elif Kaya",
257
+ "aliases": [
258
+ "Elif"
259
+ ],
260
+ "props": {},
261
+ "attendedFixtureIds": [
262
+ "m04",
263
+ "m10"
264
+ ]
265
+ },
266
+ {
267
+ "id": "g-person-nadia-brooks",
268
+ "type": "Person",
269
+ "label": "Nadia Brooks",
270
+ "aliases": [
271
+ "Nadia"
272
+ ],
273
+ "props": {},
274
+ "attendedFixtureIds": [
275
+ "m03",
276
+ "m04",
277
+ "m10"
278
+ ]
279
+ },
280
+ {
281
+ "id": "g-person-samir-haddad",
282
+ "type": "Person",
283
+ "label": "Samir Haddad",
284
+ "aliases": [
285
+ "Dr. Haddad",
286
+ "Samir"
287
+ ],
288
+ "props": {},
289
+ "attendedFixtureIds": [
290
+ "m10"
291
+ ]
292
+ },
293
+ {
294
+ "id": "g-project-patient-intake-redesign",
295
+ "type": "Project",
296
+ "label": "Patient intake redesign",
297
+ "aliases": [
298
+ "intake redesign"
299
+ ],
300
+ "props": {},
301
+ "attendedFixtureIds": []
302
+ }
303
+ ],
304
+ "labels": {
305
+ "entities": [
306
+ {
307
+ "key": "meeting",
308
+ "type": "Meeting",
309
+ "label": "Corvid usability test debrief",
310
+ "aliases": [],
311
+ "existingId": null,
312
+ "props": {},
313
+ "evidence": [
314
+ {
315
+ "source": "note",
316
+ "quote": "Corvid usability test debrief"
317
+ }
318
+ ]
319
+ },
320
+ {
321
+ "key": "alex",
322
+ "type": "Person",
323
+ "label": "Alex Rivera",
324
+ "aliases": [],
325
+ "existingId": "g-person-alex-rivera",
326
+ "props": {},
327
+ "evidence": [
328
+ {
329
+ "source": "note",
330
+ "quote": "Alex Rivera (Larkspur Labs)"
331
+ }
332
+ ]
333
+ },
334
+ {
335
+ "key": "nadia",
336
+ "type": "Person",
337
+ "label": "Nadia Brooks",
338
+ "aliases": [],
339
+ "existingId": "g-person-nadia-brooks",
340
+ "props": {},
341
+ "evidence": [
342
+ {
343
+ "source": "note",
344
+ "quote": "Nadia Brooks (Larkspur Labs)"
345
+ }
346
+ ]
347
+ },
348
+ {
349
+ "key": "elif",
350
+ "type": "Person",
351
+ "label": "Elif Kaya",
352
+ "aliases": [],
353
+ "existingId": "g-person-elif-kaya",
354
+ "props": {},
355
+ "evidence": [
356
+ {
357
+ "source": "note",
358
+ "quote": "Elif Kaya (Corvid Health)"
359
+ }
360
+ ]
361
+ },
362
+ {
363
+ "key": "samir",
364
+ "type": "Person",
365
+ "label": "Samir Haddad",
366
+ "aliases": [],
367
+ "existingId": "g-person-samir-haddad",
368
+ "props": {},
369
+ "evidence": [
370
+ {
371
+ "source": "note",
372
+ "quote": "Samir Haddad (Corvid Health)"
373
+ }
374
+ ]
375
+ },
376
+ {
377
+ "key": "intake",
378
+ "type": "Project",
379
+ "label": "Patient intake redesign",
380
+ "aliases": [],
381
+ "existingId": "g-project-patient-intake-redesign",
382
+ "props": {},
383
+ "evidence": [
384
+ {
385
+ "source": "note",
386
+ "quote": "the Corvid Health patient intake redesign"
387
+ }
388
+ ]
389
+ }
390
+ ],
391
+ "relations": [
392
+ {
393
+ "type": "ATTENDED",
394
+ "from": "alex",
395
+ "to": "meeting",
396
+ "validFrom": null,
397
+ "validTo": null,
398
+ "precision": "unknown",
399
+ "props": {},
400
+ "evidence": [
401
+ {
402
+ "source": "note",
403
+ "quote": "**Attendees:** Alex Rivera (Larkspur Labs), Nadia Brooks (Larkspur Labs), Elif Kaya (Corvid Health), Samir Haddad (Corvid Health)"
404
+ }
405
+ ]
406
+ },
407
+ {
408
+ "type": "ATTENDED",
409
+ "from": "nadia",
410
+ "to": "meeting",
411
+ "validFrom": null,
412
+ "validTo": null,
413
+ "precision": "unknown",
414
+ "props": {},
415
+ "evidence": [
416
+ {
417
+ "source": "note",
418
+ "quote": "**Attendees:** Alex Rivera (Larkspur Labs), Nadia Brooks (Larkspur Labs), Elif Kaya (Corvid Health), Samir Haddad (Corvid Health)"
419
+ }
420
+ ]
421
+ },
422
+ {
423
+ "type": "ATTENDED",
424
+ "from": "elif",
425
+ "to": "meeting",
426
+ "validFrom": null,
427
+ "validTo": null,
428
+ "precision": "unknown",
429
+ "props": {},
430
+ "evidence": [
431
+ {
432
+ "source": "note",
433
+ "quote": "**Attendees:** Alex Rivera (Larkspur Labs), Nadia Brooks (Larkspur Labs), Elif Kaya (Corvid Health), Samir Haddad (Corvid Health)"
434
+ }
435
+ ]
436
+ },
437
+ {
438
+ "type": "ATTENDED",
439
+ "from": "samir",
440
+ "to": "meeting",
441
+ "validFrom": null,
442
+ "validTo": null,
443
+ "precision": "unknown",
444
+ "props": {},
445
+ "evidence": [
446
+ {
447
+ "source": "note",
448
+ "quote": "**Attendees:** Alex Rivera (Larkspur Labs), Nadia Brooks (Larkspur Labs), Elif Kaya (Corvid Health), Samir Haddad (Corvid Health)"
449
+ }
450
+ ]
451
+ },
452
+ {
453
+ "type": "DISCUSSED",
454
+ "from": "meeting",
455
+ "to": "intake",
456
+ "validFrom": null,
457
+ "validTo": null,
458
+ "precision": "unknown",
459
+ "props": {},
460
+ "evidence": [
461
+ {
462
+ "source": "note",
463
+ "quote": "Debrief of the first usability round on the Corvid Health patient intake redesign."
464
+ }
465
+ ]
466
+ }
467
+ ],
468
+ "items": [
469
+ {
470
+ "kind": "claim",
471
+ "subject": "intake",
472
+ "owner": null,
473
+ "counterparty": null,
474
+ "title": "Four of five testers completed intake unaided",
475
+ "statement": "Four of the five front-desk testers completed a full intake without any help.",
476
+ "status": null,
477
+ "occurredAt": "2026-04-30",
478
+ "dueAt": null,
479
+ "sensitivity": null,
480
+ "supersedesLabel": null,
481
+ "evidence": [
482
+ {
483
+ "source": "segment",
484
+ "segmentId": "m17-s002",
485
+ "quote": "Four of the five completed a full intake without any help."
486
+ }
487
+ ]
488
+ },
489
+ {
490
+ "kind": "decision",
491
+ "subject": "intake",
492
+ "owner": null,
493
+ "counterparty": null,
494
+ "title": "Keep the single-page form",
495
+ "statement": "The intake keeps the single-page form rather than the step-by-step wizard.",
496
+ "status": null,
497
+ "occurredAt": "2026-04-30",
498
+ "dueAt": null,
499
+ "sensitivity": null,
500
+ "supersedesLabel": null,
501
+ "evidence": [
502
+ {
503
+ "source": "segment",
504
+ "segmentId": "m17-s009",
505
+ "quote": "Then we keep the single-page form. Decided."
506
+ }
507
+ ]
508
+ },
509
+ {
510
+ "kind": "decision",
511
+ "subject": "intake",
512
+ "owner": null,
513
+ "counterparty": null,
514
+ "title": "Samir signs off clinical content",
515
+ "statement": "Elif signs off as product owner and Samir signs off anything clinical.",
516
+ "status": null,
517
+ "occurredAt": "2026-04-30",
518
+ "dueAt": null,
519
+ "sensitivity": null,
520
+ "supersedesLabel": null,
521
+ "evidence": [
522
+ {
523
+ "source": "segment",
524
+ "segmentId": "m17-s019",
525
+ "quote": "I'm the product owner for this but Samir signs off anything clinical."
526
+ }
527
+ ]
528
+ },
529
+ {
530
+ "kind": "commitment",
531
+ "subject": "intake",
532
+ "owner": "nadia",
533
+ "counterparty": "elif",
534
+ "title": "Ship final designs",
535
+ "statement": "Nadia will ship the final designs by May 15, sending them to Elif first.",
536
+ "status": "open",
537
+ "occurredAt": "2026-04-30",
538
+ "dueAt": "2026-05-15",
539
+ "sensitivity": null,
540
+ "supersedesLabel": null,
541
+ "evidence": [
542
+ {
543
+ "source": "segment",
544
+ "segmentId": "m17-s013",
545
+ "quote": "I'll ship the final designs by May 15."
546
+ }
547
+ ]
548
+ },
549
+ {
550
+ "kind": "commitment",
551
+ "subject": "intake",
552
+ "owner": "samir",
553
+ "counterparty": "nadia",
554
+ "title": "Review consent wording",
555
+ "statement": "Samir will review the consent wording and send changes to Nadia by next Friday.",
556
+ "status": "open",
557
+ "occurredAt": "2026-04-30",
558
+ "dueAt": "2026-05-08",
559
+ "sensitivity": null,
560
+ "supersedesLabel": null,
561
+ "evidence": [
562
+ {
563
+ "source": "segment",
564
+ "segmentId": "m17-s017",
565
+ "quote": "I'll review the consent wording and send changes to Nadia by next Friday."
566
+ }
567
+ ]
568
+ }
569
+ ],
570
+ "negatives": []
571
+ }
572
+ }