markform 0.1.13 → 0.1.14

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.
@@ -125,25 +125,51 @@ turns:
125
125
  context:
126
126
  system_prompt: |-
127
127
  # Form Instructions
128
- Carefully research answers to all questions in the form, using all available tools you have.
129
128
 
130
- Guidelines:
131
- 1. Focus on required fields first (severity: "required"), then address optional fields (severity: "recommended")
132
- 2. You MUST address ALL issues shown to you - both required AND recommended (optional)
133
- 3. NEVER fabricate or guess information - only use data you can verify
134
- 4. If you cannot find verifiable information for a field, use skip_field to mark it as skipped with a reason
135
- 5. For string fields: use appropriate text from verified sources
136
- 6. For number fields: use appropriate numeric values from verified sources
137
- 7. For single_select: choose one valid option ID
138
- 8. For multi_select: choose one or more valid option IDs
139
- 9. For checkboxes: use the appropriate state for the checkbox mode:
140
- - Mode "simple": done (checked) or todo (unchecked)
141
- - Mode "multi": done, todo, or na (not applicable)
142
- - Mode "explicit": yes or no (must explicitly answer)
129
+ Research and fill the form fields using all available tools. Focus on accuracy over completeness.
143
130
 
144
- CRITICAL: Accuracy is more important than completeness. Use skip_field when information cannot be verified.
131
+ ## Guidelines
132
+ 1. Address required fields first (severity: "required"), then optional fields (severity: "recommended")
133
+ 2. NEVER fabricate or guess information - only use data you can verify
134
+ 3. If you cannot find verifiable information, use skip_field with a reason
145
135
 
146
- Always use the fill_form tool to submit your field values.
136
+ ## Patch Format Examples
137
+
138
+ Use the fill_form tool with patches in these formats:
139
+
140
+ | Type | Example |
141
+ |------|---------|
142
+ | string | `{ op: "set_string", fieldId: "name", value: "Acme Corp" }` |
143
+ | number | `{ op: "set_number", fieldId: "age", value: 32 }` |
144
+ | string_list | `{ op: "set_string_list", fieldId: "tags", value: ["ai", "ml"] }` |
145
+ | url | `{ op: "set_url", fieldId: "website", value: "https://example.com" }` |
146
+ | url_list | `{ op: "set_url_list", fieldId: "sources", value: ["https://a.com", "https://b.com"] }` |
147
+ | date | `{ op: "set_date", fieldId: "event_date", value: "2024-06-15" }` |
148
+ | year | `{ op: "set_year", fieldId: "founded", value: 2024 }` |
149
+ | single_select | `{ op: "set_single_select", fieldId: "priority", value: "high" }` |
150
+ | multi_select | `{ op: "set_multi_select", fieldId: "categories", value: ["frontend", "backend"] }` |
151
+ | checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
152
+ | table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
153
+
154
+ ## Important: checkboxes vs multi_select
155
+
156
+ These two types look similar but have DIFFERENT value formats:
157
+
158
+ - **multi_select** → array of option IDs: `["opt1", "opt2"]`
159
+ - **checkboxes** → object mapping IDs to states: `{ "opt1": "done", "opt2": "todo" }`
160
+
161
+ **Checkbox states by mode:**
162
+ - Mode "simple": `"done"` or `"todo"`
163
+ - Mode "multi": `"done"`, `"todo"`, `"incomplete"`, `"active"`, or `"na"`
164
+ - Mode "explicit": `"yes"` or `"no"` (if unknown, use abort_field)
165
+
166
+ **WRONG:** `{ op: "set_checkboxes", value: ["task1", "task2"] }`
167
+ **RIGHT:** `{ op: "set_checkboxes", value: { "task1": "done", "task2": "done" } }`
168
+
169
+ ## Skipping Fields
170
+
171
+ If you cannot find verifiable information:
172
+ `{ op: "skip_field", fieldId: "...", reason: "Could not find verified data" }`
147
173
 
148
174
 
149
175
  # Instructions for agent role
@@ -344,7 +370,7 @@ turns:
344
370
  - **age** (field): Required field "Age" is empty
345
371
  Severity: required, Priority: P1
346
372
  Type: number
347
- Set: { op: "set_number", fieldId: "age", value: 123 }
373
+ Set: { op: "set_number", fieldId: "age", value: 42 }
348
374
  This field is required.
349
375
 
350
376
  - **categories** (field): Required field "Categories" has no selections
@@ -359,19 +385,19 @@ turns:
359
385
  Type: checkboxes
360
386
  Options: backed_up, notified
361
387
  Mode: explicit
362
- Set: { op: "set_checkboxes", fieldId: "confirmations", value: { "opt1": "done", "opt2": "todo" } }
388
+ Set: { op: "set_checkboxes", fieldId: "confirmations", value: { "backed_up": "yes", "notified": "no" } }
363
389
  This field is required.
364
390
 
365
391
  - **email** (field): Required field "Email" is empty
366
392
  Severity: required, Priority: P1
367
393
  Type: string
368
- Set: { op: "set_string", fieldId: "email", value: "..." }
394
+ Set: { op: "set_string", fieldId: "email", value: "text here" }
369
395
  This field is required.
370
396
 
371
397
  - **event_date** (field): Required field "Event Date" is empty
372
398
  Severity: required, Priority: P1
373
399
  Type: date
374
- Set: { op: "set_date", fieldId: "event_date", value: "2024-01-15" }
400
+ Set: { op: "set_date", fieldId: "event_date", value: "2024-06-15" }
375
401
  This field is required.
376
402
 
377
403
  - **founded_year** (field): Required field "Founded Year" is empty
@@ -383,7 +409,7 @@ turns:
383
409
  - **name** (field): Required field "Name" is empty
384
410
  Severity: required, Priority: P1
385
411
  Type: string
386
- Set: { op: "set_string", fieldId: "name", value: "..." }
412
+ Set: { op: "set_string", fieldId: "name", value: "text here" }
387
413
  This field is required.
388
414
 
389
415
  - **priority** (field): Required field "Priority" has no selection
@@ -396,7 +422,7 @@ turns:
396
422
  - **tags** (field): Required field "Tags" is empty
397
423
  Severity: required, Priority: P1
398
424
  Type: string_list
399
- Set: { op: "set_string_list", fieldId: "tags", value: ["...", "..."] }
425
+ Set: { op: "set_string_list", fieldId: "tags", value: ["item1", "item2"] }
400
426
  This field is required.
401
427
 
402
428
  - **tasks_multi** (field): All items in "Tasks (Multi Mode)" must be completed
@@ -404,7 +430,7 @@ turns:
404
430
  Type: checkboxes
405
431
  Options: research, design, implement, test
406
432
  Mode: multi
407
- Set: { op: "set_checkboxes", fieldId: "tasks_multi", value: { "opt1": "done", "opt2": "todo" } }
433
+ Set: { op: "set_checkboxes", fieldId: "tasks_multi", value: { "research": "done", "design": "todo" } }
408
434
  This field is required.
409
435
 
410
436
  # General Instructions
@@ -415,25 +441,51 @@ turns:
415
441
  request:
416
442
  system: |-
417
443
  # Form Instructions
418
- Carefully research answers to all questions in the form, using all available tools you have.
419
444
 
420
- Guidelines:
421
- 1. Focus on required fields first (severity: "required"), then address optional fields (severity: "recommended")
422
- 2. You MUST address ALL issues shown to you - both required AND recommended (optional)
423
- 3. NEVER fabricate or guess information - only use data you can verify
424
- 4. If you cannot find verifiable information for a field, use skip_field to mark it as skipped with a reason
425
- 5. For string fields: use appropriate text from verified sources
426
- 6. For number fields: use appropriate numeric values from verified sources
427
- 7. For single_select: choose one valid option ID
428
- 8. For multi_select: choose one or more valid option IDs
429
- 9. For checkboxes: use the appropriate state for the checkbox mode:
430
- - Mode "simple": done (checked) or todo (unchecked)
431
- - Mode "multi": done, todo, or na (not applicable)
432
- - Mode "explicit": yes or no (must explicitly answer)
445
+ Research and fill the form fields using all available tools. Focus on accuracy over completeness.
446
+
447
+ ## Guidelines
448
+ 1. Address required fields first (severity: "required"), then optional fields (severity: "recommended")
449
+ 2. NEVER fabricate or guess information - only use data you can verify
450
+ 3. If you cannot find verifiable information, use skip_field with a reason
451
+
452
+ ## Patch Format Examples
453
+
454
+ Use the fill_form tool with patches in these formats:
455
+
456
+ | Type | Example |
457
+ |------|---------|
458
+ | string | `{ op: "set_string", fieldId: "name", value: "Acme Corp" }` |
459
+ | number | `{ op: "set_number", fieldId: "age", value: 32 }` |
460
+ | string_list | `{ op: "set_string_list", fieldId: "tags", value: ["ai", "ml"] }` |
461
+ | url | `{ op: "set_url", fieldId: "website", value: "https://example.com" }` |
462
+ | url_list | `{ op: "set_url_list", fieldId: "sources", value: ["https://a.com", "https://b.com"] }` |
463
+ | date | `{ op: "set_date", fieldId: "event_date", value: "2024-06-15" }` |
464
+ | year | `{ op: "set_year", fieldId: "founded", value: 2024 }` |
465
+ | single_select | `{ op: "set_single_select", fieldId: "priority", value: "high" }` |
466
+ | multi_select | `{ op: "set_multi_select", fieldId: "categories", value: ["frontend", "backend"] }` |
467
+ | checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
468
+ | table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
469
+
470
+ ## Important: checkboxes vs multi_select
433
471
 
434
- CRITICAL: Accuracy is more important than completeness. Use skip_field when information cannot be verified.
472
+ These two types look similar but have DIFFERENT value formats:
435
473
 
436
- Always use the fill_form tool to submit your field values.
474
+ - **multi_select** array of option IDs: `["opt1", "opt2"]`
475
+ - **checkboxes** → object mapping IDs to states: `{ "opt1": "done", "opt2": "todo" }`
476
+
477
+ **Checkbox states by mode:**
478
+ - Mode "simple": `"done"` or `"todo"`
479
+ - Mode "multi": `"done"`, `"todo"`, `"incomplete"`, `"active"`, or `"na"`
480
+ - Mode "explicit": `"yes"` or `"no"` (if unknown, use abort_field)
481
+
482
+ **WRONG:** `{ op: "set_checkboxes", value: ["task1", "task2"] }`
483
+ **RIGHT:** `{ op: "set_checkboxes", value: { "task1": "done", "task2": "done" } }`
484
+
485
+ ## Skipping Fields
486
+
487
+ If you cannot find verifiable information:
488
+ `{ op: "skip_field", fieldId: "...", reason: "Could not find verified data" }`
437
489
 
438
490
 
439
491
  # Instructions for agent role
@@ -634,7 +686,7 @@ turns:
634
686
  - **age** (field): Required field "Age" is empty
635
687
  Severity: required, Priority: P1
636
688
  Type: number
637
- Set: { op: "set_number", fieldId: "age", value: 123 }
689
+ Set: { op: "set_number", fieldId: "age", value: 42 }
638
690
  This field is required.
639
691
 
640
692
  - **categories** (field): Required field "Categories" has no selections
@@ -649,19 +701,19 @@ turns:
649
701
  Type: checkboxes
650
702
  Options: backed_up, notified
651
703
  Mode: explicit
652
- Set: { op: "set_checkboxes", fieldId: "confirmations", value: { "opt1": "done", "opt2": "todo" } }
704
+ Set: { op: "set_checkboxes", fieldId: "confirmations", value: { "backed_up": "yes", "notified": "no" } }
653
705
  This field is required.
654
706
 
655
707
  - **email** (field): Required field "Email" is empty
656
708
  Severity: required, Priority: P1
657
709
  Type: string
658
- Set: { op: "set_string", fieldId: "email", value: "..." }
710
+ Set: { op: "set_string", fieldId: "email", value: "text here" }
659
711
  This field is required.
660
712
 
661
713
  - **event_date** (field): Required field "Event Date" is empty
662
714
  Severity: required, Priority: P1
663
715
  Type: date
664
- Set: { op: "set_date", fieldId: "event_date", value: "2024-01-15" }
716
+ Set: { op: "set_date", fieldId: "event_date", value: "2024-06-15" }
665
717
  This field is required.
666
718
 
667
719
  - **founded_year** (field): Required field "Founded Year" is empty
@@ -673,7 +725,7 @@ turns:
673
725
  - **name** (field): Required field "Name" is empty
674
726
  Severity: required, Priority: P1
675
727
  Type: string
676
- Set: { op: "set_string", fieldId: "name", value: "..." }
728
+ Set: { op: "set_string", fieldId: "name", value: "text here" }
677
729
  This field is required.
678
730
 
679
731
  - **priority** (field): Required field "Priority" has no selection
@@ -686,7 +738,7 @@ turns:
686
738
  - **tags** (field): Required field "Tags" is empty
687
739
  Severity: required, Priority: P1
688
740
  Type: string_list
689
- Set: { op: "set_string_list", fieldId: "tags", value: ["...", "..."] }
741
+ Set: { op: "set_string_list", fieldId: "tags", value: ["item1", "item2"] }
690
742
  This field is required.
691
743
 
692
744
  - **tasks_multi** (field): All items in "Tasks (Multi Mode)" must be completed
@@ -694,7 +746,7 @@ turns:
694
746
  Type: checkboxes
695
747
  Options: research, design, implement, test
696
748
  Mode: multi
697
- Set: { op: "set_checkboxes", fieldId: "tasks_multi", value: { "opt1": "done", "opt2": "todo" } }
749
+ Set: { op: "set_checkboxes", fieldId: "tasks_multi", value: { "research": "done", "design": "todo" } }
698
750
  This field is required.
699
751
 
700
752
  # General Instructions
@@ -881,25 +933,51 @@ turns:
881
933
  context:
882
934
  system_prompt: |-
883
935
  # Form Instructions
884
- Carefully research answers to all questions in the form, using all available tools you have.
885
936
 
886
- Guidelines:
887
- 1. Focus on required fields first (severity: "required"), then address optional fields (severity: "recommended")
888
- 2. You MUST address ALL issues shown to you - both required AND recommended (optional)
889
- 3. NEVER fabricate or guess information - only use data you can verify
890
- 4. If you cannot find verifiable information for a field, use skip_field to mark it as skipped with a reason
891
- 5. For string fields: use appropriate text from verified sources
892
- 6. For number fields: use appropriate numeric values from verified sources
893
- 7. For single_select: choose one valid option ID
894
- 8. For multi_select: choose one or more valid option IDs
895
- 9. For checkboxes: use the appropriate state for the checkbox mode:
896
- - Mode "simple": done (checked) or todo (unchecked)
897
- - Mode "multi": done, todo, or na (not applicable)
898
- - Mode "explicit": yes or no (must explicitly answer)
937
+ Research and fill the form fields using all available tools. Focus on accuracy over completeness.
938
+
939
+ ## Guidelines
940
+ 1. Address required fields first (severity: "required"), then optional fields (severity: "recommended")
941
+ 2. NEVER fabricate or guess information - only use data you can verify
942
+ 3. If you cannot find verifiable information, use skip_field with a reason
943
+
944
+ ## Patch Format Examples
945
+
946
+ Use the fill_form tool with patches in these formats:
947
+
948
+ | Type | Example |
949
+ |------|---------|
950
+ | string | `{ op: "set_string", fieldId: "name", value: "Acme Corp" }` |
951
+ | number | `{ op: "set_number", fieldId: "age", value: 32 }` |
952
+ | string_list | `{ op: "set_string_list", fieldId: "tags", value: ["ai", "ml"] }` |
953
+ | url | `{ op: "set_url", fieldId: "website", value: "https://example.com" }` |
954
+ | url_list | `{ op: "set_url_list", fieldId: "sources", value: ["https://a.com", "https://b.com"] }` |
955
+ | date | `{ op: "set_date", fieldId: "event_date", value: "2024-06-15" }` |
956
+ | year | `{ op: "set_year", fieldId: "founded", value: 2024 }` |
957
+ | single_select | `{ op: "set_single_select", fieldId: "priority", value: "high" }` |
958
+ | multi_select | `{ op: "set_multi_select", fieldId: "categories", value: ["frontend", "backend"] }` |
959
+ | checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
960
+ | table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
961
+
962
+ ## Important: checkboxes vs multi_select
963
+
964
+ These two types look similar but have DIFFERENT value formats:
965
+
966
+ - **multi_select** → array of option IDs: `["opt1", "opt2"]`
967
+ - **checkboxes** → object mapping IDs to states: `{ "opt1": "done", "opt2": "todo" }`
968
+
969
+ **Checkbox states by mode:**
970
+ - Mode "simple": `"done"` or `"todo"`
971
+ - Mode "multi": `"done"`, `"todo"`, `"incomplete"`, `"active"`, or `"na"`
972
+ - Mode "explicit": `"yes"` or `"no"` (if unknown, use abort_field)
973
+
974
+ **WRONG:** `{ op: "set_checkboxes", value: ["task1", "task2"] }`
975
+ **RIGHT:** `{ op: "set_checkboxes", value: { "task1": "done", "task2": "done" } }`
899
976
 
900
- CRITICAL: Accuracy is more important than completeness. Use skip_field when information cannot be verified.
977
+ ## Skipping Fields
901
978
 
902
- Always use the fill_form tool to submit your field values.
979
+ If you cannot find verifiable information:
980
+ `{ op: "skip_field", fieldId: "...", reason: "Could not find verified data" }`
903
981
 
904
982
 
905
983
  # Instructions for agent role
@@ -1129,31 +1207,31 @@ turns:
1129
1207
  Type: checkboxes
1130
1208
  Options: read_guidelines, agree_terms
1131
1209
  Mode: simple
1132
- Set: { op: "set_checkboxes", fieldId: "tasks_simple", value: { "opt1": "done", "opt2": "todo" } }
1210
+ Set: { op: "set_checkboxes", fieldId: "tasks_simple", value: { "read_guidelines": "done", "agree_terms": "todo" } }
1133
1211
  This field is required.
1134
1212
 
1135
1213
  - **website** (field): Required field "Website" is empty
1136
1214
  Severity: required, Priority: P1
1137
1215
  Type: url
1138
- Set: { op: "set_url", fieldId: "website", value: "https://..." }
1216
+ Set: { op: "set_url", fieldId: "website", value: "https://example.com" }
1139
1217
  This field is required.
1140
1218
 
1141
1219
  - **notes** (field): Optional field not yet addressed
1142
1220
  Severity: recommended, Priority: P3
1143
1221
  Type: string
1144
- Set: { op: "set_string", fieldId: "notes", value: "..." }
1222
+ Set: { op: "set_string", fieldId: "notes", value: "text here" }
1145
1223
  Skip: { op: "skip_field", fieldId: "notes", reason: "..." }
1146
1224
 
1147
1225
  - **optional_date** (field): Optional field not yet addressed
1148
1226
  Severity: recommended, Priority: P3
1149
1227
  Type: date
1150
- Set: { op: "set_date", fieldId: "optional_date", value: "2024-01-15" }
1228
+ Set: { op: "set_date", fieldId: "optional_date", value: "2024-06-15" }
1151
1229
  Skip: { op: "skip_field", fieldId: "optional_date", reason: "..." }
1152
1230
 
1153
1231
  - **optional_number** (field): Optional field not yet addressed
1154
1232
  Severity: recommended, Priority: P3
1155
1233
  Type: number
1156
- Set: { op: "set_number", fieldId: "optional_number", value: 123 }
1234
+ Set: { op: "set_number", fieldId: "optional_number", value: 42 }
1157
1235
  Skip: { op: "skip_field", fieldId: "optional_number", reason: "..." }
1158
1236
 
1159
1237
  - **optional_year** (field): Optional field not yet addressed
@@ -1167,25 +1245,25 @@ turns:
1167
1245
  Type: table
1168
1246
  Columns: task (required), estimate_hrs, link
1169
1247
  Rows: min: 0, max: 10
1170
- Set: { op: "set_table", fieldId: "project_tasks", value: [{ "task": "...", "estimate_hrs": "...", "link": "..." }, ...] }
1248
+ Set: { op: "set_table", fieldId: "project_tasks", value: [{ "task": "...", "estimate_hrs": "...", "link": "..." }] }
1171
1249
  Skip: { op: "skip_field", fieldId: "project_tasks", reason: "..." }
1172
1250
 
1173
1251
  - **references** (field): Optional field not yet addressed
1174
1252
  Severity: recommended, Priority: P3
1175
1253
  Type: url_list
1176
- Set: { op: "set_url_list", fieldId: "references", value: ["https://...", "https://..."] }
1254
+ Set: { op: "set_url_list", fieldId: "references", value: ["https://a.com", "https://b.com"] }
1177
1255
  Skip: { op: "skip_field", fieldId: "references", reason: "..." }
1178
1256
 
1179
1257
  - **related_url** (field): Optional field not yet addressed
1180
1258
  Severity: recommended, Priority: P3
1181
1259
  Type: url
1182
- Set: { op: "set_url", fieldId: "related_url", value: "https://..." }
1260
+ Set: { op: "set_url", fieldId: "related_url", value: "https://example.com" }
1183
1261
  Skip: { op: "skip_field", fieldId: "related_url", reason: "..." }
1184
1262
 
1185
1263
  - **score** (field): Optional field not yet addressed
1186
1264
  Severity: recommended, Priority: P3
1187
1265
  Type: number
1188
- Set: { op: "set_number", fieldId: "score", value: 123 }
1266
+ Set: { op: "set_number", fieldId: "score", value: 42 }
1189
1267
  Skip: { op: "skip_field", fieldId: "score", reason: "..." }
1190
1268
 
1191
1269
  # General Instructions
@@ -1196,25 +1274,51 @@ turns:
1196
1274
  request:
1197
1275
  system: |-
1198
1276
  # Form Instructions
1199
- Carefully research answers to all questions in the form, using all available tools you have.
1200
1277
 
1201
- Guidelines:
1202
- 1. Focus on required fields first (severity: "required"), then address optional fields (severity: "recommended")
1203
- 2. You MUST address ALL issues shown to you - both required AND recommended (optional)
1204
- 3. NEVER fabricate or guess information - only use data you can verify
1205
- 4. If you cannot find verifiable information for a field, use skip_field to mark it as skipped with a reason
1206
- 5. For string fields: use appropriate text from verified sources
1207
- 6. For number fields: use appropriate numeric values from verified sources
1208
- 7. For single_select: choose one valid option ID
1209
- 8. For multi_select: choose one or more valid option IDs
1210
- 9. For checkboxes: use the appropriate state for the checkbox mode:
1211
- - Mode "simple": done (checked) or todo (unchecked)
1212
- - Mode "multi": done, todo, or na (not applicable)
1213
- - Mode "explicit": yes or no (must explicitly answer)
1278
+ Research and fill the form fields using all available tools. Focus on accuracy over completeness.
1214
1279
 
1215
- CRITICAL: Accuracy is more important than completeness. Use skip_field when information cannot be verified.
1280
+ ## Guidelines
1281
+ 1. Address required fields first (severity: "required"), then optional fields (severity: "recommended")
1282
+ 2. NEVER fabricate or guess information - only use data you can verify
1283
+ 3. If you cannot find verifiable information, use skip_field with a reason
1216
1284
 
1217
- Always use the fill_form tool to submit your field values.
1285
+ ## Patch Format Examples
1286
+
1287
+ Use the fill_form tool with patches in these formats:
1288
+
1289
+ | Type | Example |
1290
+ |------|---------|
1291
+ | string | `{ op: "set_string", fieldId: "name", value: "Acme Corp" }` |
1292
+ | number | `{ op: "set_number", fieldId: "age", value: 32 }` |
1293
+ | string_list | `{ op: "set_string_list", fieldId: "tags", value: ["ai", "ml"] }` |
1294
+ | url | `{ op: "set_url", fieldId: "website", value: "https://example.com" }` |
1295
+ | url_list | `{ op: "set_url_list", fieldId: "sources", value: ["https://a.com", "https://b.com"] }` |
1296
+ | date | `{ op: "set_date", fieldId: "event_date", value: "2024-06-15" }` |
1297
+ | year | `{ op: "set_year", fieldId: "founded", value: 2024 }` |
1298
+ | single_select | `{ op: "set_single_select", fieldId: "priority", value: "high" }` |
1299
+ | multi_select | `{ op: "set_multi_select", fieldId: "categories", value: ["frontend", "backend"] }` |
1300
+ | checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
1301
+ | table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
1302
+
1303
+ ## Important: checkboxes vs multi_select
1304
+
1305
+ These two types look similar but have DIFFERENT value formats:
1306
+
1307
+ - **multi_select** → array of option IDs: `["opt1", "opt2"]`
1308
+ - **checkboxes** → object mapping IDs to states: `{ "opt1": "done", "opt2": "todo" }`
1309
+
1310
+ **Checkbox states by mode:**
1311
+ - Mode "simple": `"done"` or `"todo"`
1312
+ - Mode "multi": `"done"`, `"todo"`, `"incomplete"`, `"active"`, or `"na"`
1313
+ - Mode "explicit": `"yes"` or `"no"` (if unknown, use abort_field)
1314
+
1315
+ **WRONG:** `{ op: "set_checkboxes", value: ["task1", "task2"] }`
1316
+ **RIGHT:** `{ op: "set_checkboxes", value: { "task1": "done", "task2": "done" } }`
1317
+
1318
+ ## Skipping Fields
1319
+
1320
+ If you cannot find verifiable information:
1321
+ `{ op: "skip_field", fieldId: "...", reason: "Could not find verified data" }`
1218
1322
 
1219
1323
 
1220
1324
  # Instructions for agent role
@@ -1444,31 +1548,31 @@ turns:
1444
1548
  Type: checkboxes
1445
1549
  Options: read_guidelines, agree_terms
1446
1550
  Mode: simple
1447
- Set: { op: "set_checkboxes", fieldId: "tasks_simple", value: { "opt1": "done", "opt2": "todo" } }
1551
+ Set: { op: "set_checkboxes", fieldId: "tasks_simple", value: { "read_guidelines": "done", "agree_terms": "todo" } }
1448
1552
  This field is required.
1449
1553
 
1450
1554
  - **website** (field): Required field "Website" is empty
1451
1555
  Severity: required, Priority: P1
1452
1556
  Type: url
1453
- Set: { op: "set_url", fieldId: "website", value: "https://..." }
1557
+ Set: { op: "set_url", fieldId: "website", value: "https://example.com" }
1454
1558
  This field is required.
1455
1559
 
1456
1560
  - **notes** (field): Optional field not yet addressed
1457
1561
  Severity: recommended, Priority: P3
1458
1562
  Type: string
1459
- Set: { op: "set_string", fieldId: "notes", value: "..." }
1563
+ Set: { op: "set_string", fieldId: "notes", value: "text here" }
1460
1564
  Skip: { op: "skip_field", fieldId: "notes", reason: "..." }
1461
1565
 
1462
1566
  - **optional_date** (field): Optional field not yet addressed
1463
1567
  Severity: recommended, Priority: P3
1464
1568
  Type: date
1465
- Set: { op: "set_date", fieldId: "optional_date", value: "2024-01-15" }
1569
+ Set: { op: "set_date", fieldId: "optional_date", value: "2024-06-15" }
1466
1570
  Skip: { op: "skip_field", fieldId: "optional_date", reason: "..." }
1467
1571
 
1468
1572
  - **optional_number** (field): Optional field not yet addressed
1469
1573
  Severity: recommended, Priority: P3
1470
1574
  Type: number
1471
- Set: { op: "set_number", fieldId: "optional_number", value: 123 }
1575
+ Set: { op: "set_number", fieldId: "optional_number", value: 42 }
1472
1576
  Skip: { op: "skip_field", fieldId: "optional_number", reason: "..." }
1473
1577
 
1474
1578
  - **optional_year** (field): Optional field not yet addressed
@@ -1482,25 +1586,25 @@ turns:
1482
1586
  Type: table
1483
1587
  Columns: task (required), estimate_hrs, link
1484
1588
  Rows: min: 0, max: 10
1485
- Set: { op: "set_table", fieldId: "project_tasks", value: [{ "task": "...", "estimate_hrs": "...", "link": "..." }, ...] }
1589
+ Set: { op: "set_table", fieldId: "project_tasks", value: [{ "task": "...", "estimate_hrs": "...", "link": "..." }] }
1486
1590
  Skip: { op: "skip_field", fieldId: "project_tasks", reason: "..." }
1487
1591
 
1488
1592
  - **references** (field): Optional field not yet addressed
1489
1593
  Severity: recommended, Priority: P3
1490
1594
  Type: url_list
1491
- Set: { op: "set_url_list", fieldId: "references", value: ["https://...", "https://..."] }
1595
+ Set: { op: "set_url_list", fieldId: "references", value: ["https://a.com", "https://b.com"] }
1492
1596
  Skip: { op: "skip_field", fieldId: "references", reason: "..." }
1493
1597
 
1494
1598
  - **related_url** (field): Optional field not yet addressed
1495
1599
  Severity: recommended, Priority: P3
1496
1600
  Type: url
1497
- Set: { op: "set_url", fieldId: "related_url", value: "https://..." }
1601
+ Set: { op: "set_url", fieldId: "related_url", value: "https://example.com" }
1498
1602
  Skip: { op: "skip_field", fieldId: "related_url", reason: "..." }
1499
1603
 
1500
1604
  - **score** (field): Optional field not yet addressed
1501
1605
  Severity: recommended, Priority: P3
1502
1606
  Type: number
1503
- Set: { op: "set_number", fieldId: "score", value: 123 }
1607
+ Set: { op: "set_number", fieldId: "score", value: 42 }
1504
1608
  Skip: { op: "skip_field", fieldId: "score", reason: "..." }
1505
1609
 
1506
1610
  # General Instructions
@@ -1597,25 +1701,51 @@ turns:
1597
1701
  context:
1598
1702
  system_prompt: |-
1599
1703
  # Form Instructions
1600
- Carefully research answers to all questions in the form, using all available tools you have.
1601
1704
 
1602
- Guidelines:
1603
- 1. Focus on required fields first (severity: "required"), then address optional fields (severity: "recommended")
1604
- 2. You MUST address ALL issues shown to you - both required AND recommended (optional)
1605
- 3. NEVER fabricate or guess information - only use data you can verify
1606
- 4. If you cannot find verifiable information for a field, use skip_field to mark it as skipped with a reason
1607
- 5. For string fields: use appropriate text from verified sources
1608
- 6. For number fields: use appropriate numeric values from verified sources
1609
- 7. For single_select: choose one valid option ID
1610
- 8. For multi_select: choose one or more valid option IDs
1611
- 9. For checkboxes: use the appropriate state for the checkbox mode:
1612
- - Mode "simple": done (checked) or todo (unchecked)
1613
- - Mode "multi": done, todo, or na (not applicable)
1614
- - Mode "explicit": yes or no (must explicitly answer)
1705
+ Research and fill the form fields using all available tools. Focus on accuracy over completeness.
1706
+
1707
+ ## Guidelines
1708
+ 1. Address required fields first (severity: "required"), then optional fields (severity: "recommended")
1709
+ 2. NEVER fabricate or guess information - only use data you can verify
1710
+ 3. If you cannot find verifiable information, use skip_field with a reason
1711
+
1712
+ ## Patch Format Examples
1713
+
1714
+ Use the fill_form tool with patches in these formats:
1715
+
1716
+ | Type | Example |
1717
+ |------|---------|
1718
+ | string | `{ op: "set_string", fieldId: "name", value: "Acme Corp" }` |
1719
+ | number | `{ op: "set_number", fieldId: "age", value: 32 }` |
1720
+ | string_list | `{ op: "set_string_list", fieldId: "tags", value: ["ai", "ml"] }` |
1721
+ | url | `{ op: "set_url", fieldId: "website", value: "https://example.com" }` |
1722
+ | url_list | `{ op: "set_url_list", fieldId: "sources", value: ["https://a.com", "https://b.com"] }` |
1723
+ | date | `{ op: "set_date", fieldId: "event_date", value: "2024-06-15" }` |
1724
+ | year | `{ op: "set_year", fieldId: "founded", value: 2024 }` |
1725
+ | single_select | `{ op: "set_single_select", fieldId: "priority", value: "high" }` |
1726
+ | multi_select | `{ op: "set_multi_select", fieldId: "categories", value: ["frontend", "backend"] }` |
1727
+ | checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
1728
+ | table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
1729
+
1730
+ ## Important: checkboxes vs multi_select
1615
1731
 
1616
- CRITICAL: Accuracy is more important than completeness. Use skip_field when information cannot be verified.
1732
+ These two types look similar but have DIFFERENT value formats:
1617
1733
 
1618
- Always use the fill_form tool to submit your field values.
1734
+ - **multi_select** array of option IDs: `["opt1", "opt2"]`
1735
+ - **checkboxes** → object mapping IDs to states: `{ "opt1": "done", "opt2": "todo" }`
1736
+
1737
+ **Checkbox states by mode:**
1738
+ - Mode "simple": `"done"` or `"todo"`
1739
+ - Mode "multi": `"done"`, `"todo"`, `"incomplete"`, `"active"`, or `"na"`
1740
+ - Mode "explicit": `"yes"` or `"no"` (if unknown, use abort_field)
1741
+
1742
+ **WRONG:** `{ op: "set_checkboxes", value: ["task1", "task2"] }`
1743
+ **RIGHT:** `{ op: "set_checkboxes", value: { "task1": "done", "task2": "done" } }`
1744
+
1745
+ ## Skipping Fields
1746
+
1747
+ If you cannot find verifiable information:
1748
+ `{ op: "skip_field", fieldId: "...", reason: "Could not find verified data" }`
1619
1749
 
1620
1750
 
1621
1751
  # Instructions for agent role
@@ -1874,7 +2004,7 @@ turns:
1874
2004
  Type: table
1875
2005
  Columns: name (required), role, start_date
1876
2006
  Rows: min: 0, max: 5
1877
- Set: { op: "set_table", fieldId: "team_members", value: [{ "name": "...", "role": "...", "start_date": "..." }, ...] }
2007
+ Set: { op: "set_table", fieldId: "team_members", value: [{ "name": "...", "role": "...", "start_date": "..." }] }
1878
2008
  Skip: { op: "skip_field", fieldId: "team_members", reason: "..." }
1879
2009
 
1880
2010
  # General Instructions
@@ -1885,25 +2015,51 @@ turns:
1885
2015
  request:
1886
2016
  system: |-
1887
2017
  # Form Instructions
1888
- Carefully research answers to all questions in the form, using all available tools you have.
1889
2018
 
1890
- Guidelines:
1891
- 1. Focus on required fields first (severity: "required"), then address optional fields (severity: "recommended")
1892
- 2. You MUST address ALL issues shown to you - both required AND recommended (optional)
1893
- 3. NEVER fabricate or guess information - only use data you can verify
1894
- 4. If you cannot find verifiable information for a field, use skip_field to mark it as skipped with a reason
1895
- 5. For string fields: use appropriate text from verified sources
1896
- 6. For number fields: use appropriate numeric values from verified sources
1897
- 7. For single_select: choose one valid option ID
1898
- 8. For multi_select: choose one or more valid option IDs
1899
- 9. For checkboxes: use the appropriate state for the checkbox mode:
1900
- - Mode "simple": done (checked) or todo (unchecked)
1901
- - Mode "multi": done, todo, or na (not applicable)
1902
- - Mode "explicit": yes or no (must explicitly answer)
2019
+ Research and fill the form fields using all available tools. Focus on accuracy over completeness.
2020
+
2021
+ ## Guidelines
2022
+ 1. Address required fields first (severity: "required"), then optional fields (severity: "recommended")
2023
+ 2. NEVER fabricate or guess information - only use data you can verify
2024
+ 3. If you cannot find verifiable information, use skip_field with a reason
2025
+
2026
+ ## Patch Format Examples
2027
+
2028
+ Use the fill_form tool with patches in these formats:
2029
+
2030
+ | Type | Example |
2031
+ |------|---------|
2032
+ | string | `{ op: "set_string", fieldId: "name", value: "Acme Corp" }` |
2033
+ | number | `{ op: "set_number", fieldId: "age", value: 32 }` |
2034
+ | string_list | `{ op: "set_string_list", fieldId: "tags", value: ["ai", "ml"] }` |
2035
+ | url | `{ op: "set_url", fieldId: "website", value: "https://example.com" }` |
2036
+ | url_list | `{ op: "set_url_list", fieldId: "sources", value: ["https://a.com", "https://b.com"] }` |
2037
+ | date | `{ op: "set_date", fieldId: "event_date", value: "2024-06-15" }` |
2038
+ | year | `{ op: "set_year", fieldId: "founded", value: 2024 }` |
2039
+ | single_select | `{ op: "set_single_select", fieldId: "priority", value: "high" }` |
2040
+ | multi_select | `{ op: "set_multi_select", fieldId: "categories", value: ["frontend", "backend"] }` |
2041
+ | checkboxes | `{ op: "set_checkboxes", fieldId: "tasks", value: { "task1": "done", "task2": "todo" } }` |
2042
+ | table | `{ op: "set_table", fieldId: "team", value: [{ "name": "Alice", "role": "Engineer" }] }` |
2043
+
2044
+ ## Important: checkboxes vs multi_select
2045
+
2046
+ These two types look similar but have DIFFERENT value formats:
2047
+
2048
+ - **multi_select** → array of option IDs: `["opt1", "opt2"]`
2049
+ - **checkboxes** → object mapping IDs to states: `{ "opt1": "done", "opt2": "todo" }`
2050
+
2051
+ **Checkbox states by mode:**
2052
+ - Mode "simple": `"done"` or `"todo"`
2053
+ - Mode "multi": `"done"`, `"todo"`, `"incomplete"`, `"active"`, or `"na"`
2054
+ - Mode "explicit": `"yes"` or `"no"` (if unknown, use abort_field)
2055
+
2056
+ **WRONG:** `{ op: "set_checkboxes", value: ["task1", "task2"] }`
2057
+ **RIGHT:** `{ op: "set_checkboxes", value: { "task1": "done", "task2": "done" } }`
1903
2058
 
1904
- CRITICAL: Accuracy is more important than completeness. Use skip_field when information cannot be verified.
2059
+ ## Skipping Fields
1905
2060
 
1906
- Always use the fill_form tool to submit your field values.
2061
+ If you cannot find verifiable information:
2062
+ `{ op: "skip_field", fieldId: "...", reason: "Could not find verified data" }`
1907
2063
 
1908
2064
 
1909
2065
  # Instructions for agent role
@@ -2162,7 +2318,7 @@ turns:
2162
2318
  Type: table
2163
2319
  Columns: name (required), role, start_date
2164
2320
  Rows: min: 0, max: 5
2165
- Set: { op: "set_table", fieldId: "team_members", value: [{ "name": "...", "role": "...", "start_date": "..." }, ...] }
2321
+ Set: { op: "set_table", fieldId: "team_members", value: [{ "name": "...", "role": "...", "start_date": "..." }] }
2166
2322
  Skip: { op: "skip_field", fieldId: "team_members", reason: "..." }
2167
2323
 
2168
2324
  # General Instructions