markform 0.1.2 → 0.1.4

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 (35) hide show
  1. package/README.md +97 -42
  2. package/dist/ai-sdk.d.mts +2 -2
  3. package/dist/ai-sdk.mjs +5 -5
  4. package/dist/{apply-BfAGTHMh.mjs → apply-C54EMAJ1.mjs} +383 -26
  5. package/dist/bin.mjs +6 -6
  6. package/dist/{cli-B3NVm6zL.mjs → cli-BhWhn6L9.mjs} +456 -141
  7. package/dist/cli.mjs +6 -6
  8. package/dist/{coreTypes-BXhhz9Iq.d.mts → coreTypes-cbNTYAcb.d.mts} +1878 -325
  9. package/dist/{coreTypes-Dful87E0.mjs → coreTypes-pyctKRgc.mjs} +79 -5
  10. package/dist/index.d.mts +146 -9
  11. package/dist/index.mjs +5 -5
  12. package/dist/session-B_stoXQn.mjs +4 -0
  13. package/dist/{session-Bqnwi9wp.mjs → session-uF0e6m6k.mjs} +9 -5
  14. package/dist/{shared-N_s1M-_K.mjs → shared-BqPnYXrn.mjs} +82 -1
  15. package/dist/shared-CZsyShck.mjs +3 -0
  16. package/dist/{src-BXRkGFpG.mjs → src-BNh7Cx9P.mjs} +801 -121
  17. package/docs/markform-apis.md +194 -0
  18. package/{DOCS.md → docs/markform-reference.md} +111 -50
  19. package/{SPEC.md → docs/markform-spec.md} +342 -91
  20. package/examples/celebrity-deep-research/celebrity-deep-research.form.md +196 -141
  21. package/examples/earnings-analysis/earnings-analysis.form.md +236 -226
  22. package/examples/movie-research/movie-research-basic.form.md +25 -21
  23. package/examples/movie-research/movie-research-deep.form.md +74 -62
  24. package/examples/movie-research/movie-research-minimal.form.md +29 -34
  25. package/examples/simple/simple-mock-filled.form.md +93 -29
  26. package/examples/simple/simple-skipped-filled.form.md +91 -29
  27. package/examples/simple/simple-with-skips.session.yaml +93 -25
  28. package/examples/simple/simple.form.md +74 -20
  29. package/examples/simple/simple.session.yaml +98 -25
  30. package/examples/startup-deep-research/startup-deep-research.form.md +108 -81
  31. package/examples/startup-research/startup-research-mock-filled.form.md +43 -43
  32. package/examples/startup-research/startup-research.form.md +24 -24
  33. package/package.json +18 -27
  34. package/dist/session-DdAtY2Ni.mjs +0 -4
  35. package/dist/shared-D7gf27Tr.mjs +0 -3
@@ -39,40 +39,40 @@ turns:
39
39
  message: Required field "Email" is empty
40
40
  severity: required
41
41
  priority: 1
42
- - ref: name
42
+ - ref: event_date
43
43
  scope: field
44
44
  reason: required_missing
45
- message: Required field "Name" is empty
45
+ message: Required field "Event Date" is empty
46
46
  severity: required
47
47
  priority: 1
48
- - ref: priority
48
+ - ref: founded_year
49
49
  scope: field
50
50
  reason: required_missing
51
- message: Required field "Priority" has no selection
51
+ message: Required field "Founded Year" is empty
52
52
  severity: required
53
53
  priority: 1
54
- - ref: tags
54
+ - ref: name
55
55
  scope: field
56
56
  reason: required_missing
57
- message: Required field "Tags" is empty
57
+ message: Required field "Name" is empty
58
58
  severity: required
59
59
  priority: 1
60
- - ref: tasks_multi
60
+ - ref: priority
61
61
  scope: field
62
62
  reason: required_missing
63
- message: All items in "Tasks (Multi Mode)" must be completed
63
+ message: Required field "Priority" has no selection
64
64
  severity: required
65
65
  priority: 1
66
- - ref: tasks_simple
66
+ - ref: tags
67
67
  scope: field
68
68
  reason: required_missing
69
- message: All items in "Agreements (Simple Mode)" must be checked (2 unchecked)
69
+ message: Required field "Tags" is empty
70
70
  severity: required
71
71
  priority: 1
72
- - ref: website
72
+ - ref: tasks_multi
73
73
  scope: field
74
74
  reason: required_missing
75
- message: Required field "Website" is empty
75
+ message: All items in "Tasks (Multi Mode)" must be completed
76
76
  severity: required
77
77
  priority: 1
78
78
  apply:
@@ -93,6 +93,12 @@ turns:
93
93
  - op: set_string
94
94
  field_id: email
95
95
  value: test@example.com
96
+ - op: set_date
97
+ field_id: event_date
98
+ value: 2025-03-15
99
+ - op: set_year
100
+ field_id: founded_year
101
+ value: 2021
96
102
  - op: set_string
97
103
  field_id: name
98
104
  value: Test User
@@ -111,34 +117,56 @@ turns:
111
117
  design: done
112
118
  implement: done
113
119
  test: na
114
- - op: set_checkboxes
115
- field_id: tasks_simple
116
- values:
117
- read_guidelines: done
118
- agree_terms: done
119
- - op: set_url
120
- field_id: website
121
- value: https://test.example.com
122
120
  after:
123
- required_issue_count: 0
124
- markdown_sha256: 62c9aad095c2ea5c2947c308c5e4b3c4cbc677a7e481971871c5091d5ca27b02
121
+ required_issue_count: 2
122
+ markdown_sha256: b5b261b437d0ea9762f342d8a6e1f44ece1b1f0ae0bd4a8709e8ba84625ecae3
125
123
  answered_field_count: 10
126
124
  skipped_field_count: 0
127
125
  - turn: 2
128
126
  inspect:
129
127
  issues:
128
+ - ref: tasks_simple
129
+ scope: field
130
+ reason: required_missing
131
+ message: All items in "Agreements (Simple Mode)" must be checked (2 unchecked)
132
+ severity: required
133
+ priority: 1
134
+ - ref: website
135
+ scope: field
136
+ reason: required_missing
137
+ message: Required field "Website" is empty
138
+ severity: required
139
+ priority: 1
130
140
  - ref: notes
131
141
  scope: field
132
142
  reason: optional_empty
133
143
  message: Optional field has no value
134
144
  severity: recommended
135
145
  priority: 3
146
+ - ref: optional_date
147
+ scope: field
148
+ reason: optional_empty
149
+ message: Optional field has no value
150
+ severity: recommended
151
+ priority: 3
136
152
  - ref: optional_number
137
153
  scope: field
138
154
  reason: optional_empty
139
155
  message: Optional field has no value
140
156
  severity: recommended
141
157
  priority: 3
158
+ - ref: optional_year
159
+ scope: field
160
+ reason: optional_empty
161
+ message: Optional field has no value
162
+ severity: recommended
163
+ priority: 3
164
+ - ref: project_tasks
165
+ scope: field
166
+ reason: optional_empty
167
+ message: Optional field has no value
168
+ severity: recommended
169
+ priority: 3
142
170
  - ref: references
143
171
  scope: field
144
172
  reason: optional_empty
@@ -159,14 +187,34 @@ turns:
159
187
  priority: 3
160
188
  apply:
161
189
  patches:
190
+ - op: set_checkboxes
191
+ field_id: tasks_simple
192
+ values:
193
+ read_guidelines: done
194
+ agree_terms: done
195
+ - op: set_url
196
+ field_id: website
197
+ value: https://test.example.com
162
198
  - op: skip_field
163
199
  field_id: notes
164
200
  role: agent
165
201
  reason: No value in mock form
202
+ - op: skip_field
203
+ field_id: optional_date
204
+ role: agent
205
+ reason: No value in mock form
166
206
  - op: skip_field
167
207
  field_id: optional_number
168
208
  role: agent
169
209
  reason: No value in mock form
210
+ - op: skip_field
211
+ field_id: optional_year
212
+ role: agent
213
+ reason: No value in mock form
214
+ - op: skip_field
215
+ field_id: project_tasks
216
+ role: agent
217
+ reason: No value in mock form
170
218
  - op: set_url_list
171
219
  field_id: references
172
220
  items:
@@ -181,9 +229,29 @@ turns:
181
229
  reason: No value in mock form
182
230
  after:
183
231
  required_issue_count: 0
184
- markdown_sha256: 5ca306e53bdb0213b0558f6132c7a5af491c40c8765f25bc7047efa0478b7876
185
- answered_field_count: 11
186
- skipped_field_count: 4
232
+ markdown_sha256: 943a9dac5094e295b53bd4cf38733fcff32e4311b6e308d5904199f4898d4f5d
233
+ answered_field_count: 13
234
+ skipped_field_count: 7
235
+ - turn: 3
236
+ inspect:
237
+ issues:
238
+ - ref: team_members
239
+ scope: field
240
+ reason: optional_empty
241
+ message: Optional field has no value
242
+ severity: recommended
243
+ priority: 3
244
+ apply:
245
+ patches:
246
+ - op: skip_field
247
+ field_id: team_members
248
+ role: agent
249
+ reason: No value in mock form
250
+ after:
251
+ required_issue_count: 0
252
+ markdown_sha256: e19d2e529bceab1dc64310fe2a75d70d062fa060230d7109eb541766c0a0f4e5
253
+ answered_field_count: 13
254
+ skipped_field_count: 8
187
255
  final:
188
256
  expect_complete: true
189
257
  expected_completed_form: simple-skipped-filled.form.md
@@ -18,17 +18,17 @@ Fill all fields using interactive prompts - no LLM API key needed.
18
18
 
19
19
  {% field-group id="basic_fields" title="Basic Fields" %}
20
20
 
21
- {% string-field id="name" label="Name" role="user" required=true minLength=2 maxLength=50 %}{% /string-field %}
21
+ {% field kind="string" id="name" label="Name" role="user" required=true minLength=2 maxLength=50 placeholder="Enter your name" examples=["John Smith", "Jane Doe"] %}{% /field %}
22
22
 
23
23
  {% instructions ref="name" %}
24
24
  Enter your full name (2-50 characters).
25
25
  {% /instructions %}
26
26
 
27
- {% string-field id="email" label="Email" role="user" required=true pattern="^[^@]+@[^@]+\\.[^@]+$" %}{% /string-field %}
27
+ {% field kind="string" id="email" label="Email" role="user" required=true pattern="^[^@]+@[^@]+\\.[^@]+$" placeholder="email@example.com" examples=["alice@company.com", "bob@example.org"] %}{% /field %}
28
28
 
29
- {% number-field id="age" label="Age" role="user" required=true min=0 max=150 integer=true %}{% /number-field %}
29
+ {% field kind="number" id="age" label="Age" role="user" required=true min=0 max=150 integer=true placeholder="25" examples=["18", "30", "45"] %}{% /field %}
30
30
 
31
- {% number-field id="score" label="Score" role="user" min=0.0 max=100.0 %}{% /number-field %}
31
+ {% field kind="number" id="score" label="Score" role="user" min=0.0 max=100.0 placeholder="85.5" examples=["75.0", "90.5", "100.0"] %}{% /field %}
32
32
 
33
33
  {% instructions ref="score" %}
34
34
  Enter a score between 0 and 100 (optional).
@@ -38,7 +38,7 @@ Enter a score between 0 and 100 (optional).
38
38
 
39
39
  {% field-group id="list_fields" title="List Fields" %}
40
40
 
41
- {% string-list id="tags" label="Tags" role="user" required=true minItems=1 maxItems=5 itemMinLength=2 uniqueItems=true %}{% /string-list %}
41
+ {% field kind="string_list" id="tags" label="Tags" role="user" required=true minItems=1 maxItems=5 itemMinLength=2 uniqueItems=true %}{% /field %}
42
42
 
43
43
  {% instructions ref="tags" %}
44
44
  Add 1-5 unique tags (each at least 2 characters).
@@ -48,43 +48,43 @@ Add 1-5 unique tags (each at least 2 characters).
48
48
 
49
49
  {% field-group id="selection_fields" title="Selection Fields" %}
50
50
 
51
- {% single-select id="priority" label="Priority" role="user" required=true %}
51
+ {% field kind="single_select" id="priority" label="Priority" role="user" required=true %}
52
52
  - [ ] Low {% #low %}
53
53
  - [ ] Medium {% #medium %}
54
54
  - [ ] High {% #high %}
55
- {% /single-select %}
55
+ {% /field %}
56
56
 
57
- {% multi-select id="categories" label="Categories" role="user" required=true minSelections=1 maxSelections=3 %}
57
+ {% field kind="multi_select" id="categories" label="Categories" role="user" required=true minSelections=1 maxSelections=3 %}
58
58
  - [ ] Frontend {% #frontend %}
59
59
  - [ ] Backend {% #backend %}
60
60
  - [ ] Database {% #database %}
61
61
  - [ ] DevOps {% #devops %}
62
- {% /multi-select %}
62
+ {% /field %}
63
63
 
64
64
  {% /field-group %}
65
65
 
66
66
  {% field-group id="checkbox_fields" title="Checkbox Fields" %}
67
67
 
68
- {% checkboxes id="tasks_multi" label="Tasks (Multi Mode)" role="user" checkboxMode="multi" required=true %}
68
+ {% field kind="checkboxes" id="tasks_multi" label="Tasks (Multi Mode)" role="user" checkboxMode="multi" required=true %}
69
69
  - [ ] Research {% #research %}
70
70
  - [ ] Design {% #design %}
71
71
  - [ ] Implement {% #implement %}
72
72
  - [ ] Test {% #test %}
73
- {% /checkboxes %}
73
+ {% /field %}
74
74
 
75
75
  {% instructions ref="tasks_multi" %}
76
76
  Track task progress. All must reach done or na state to complete.
77
77
  {% /instructions %}
78
78
 
79
- {% checkboxes id="tasks_simple" label="Agreements (Simple Mode)" role="user" checkboxMode="simple" required=true %}
79
+ {% field kind="checkboxes" id="tasks_simple" label="Agreements (Simple Mode)" role="user" checkboxMode="simple" required=true %}
80
80
  - [ ] I have read the guidelines {% #read_guidelines %}
81
81
  - [ ] I agree to the terms {% #agree_terms %}
82
- {% /checkboxes %}
82
+ {% /field %}
83
83
 
84
- {% checkboxes id="confirmations" label="Confirmations (Explicit Mode)" role="user" checkboxMode="explicit" required=true %}
84
+ {% field kind="checkboxes" id="confirmations" label="Confirmations (Explicit Mode)" role="user" checkboxMode="explicit" required=true %}
85
85
  - [ ] Data has been backed up {% #backed_up %}
86
86
  - [ ] Stakeholders notified {% #notified %}
87
- {% /checkboxes %}
87
+ {% /field %}
88
88
 
89
89
  {% instructions ref="confirmations" %}
90
90
  Answer yes or no for each confirmation. All must be explicitly answered.
@@ -94,13 +94,13 @@ Answer yes or no for each confirmation. All must be explicitly answered.
94
94
 
95
95
  {% field-group id="url_fields" title="URL Fields" %}
96
96
 
97
- {% url-field id="website" label="Website" role="user" required=true %}{% /url-field %}
97
+ {% field kind="url" id="website" label="Website" role="user" required=true placeholder="https://example.com" examples=["https://github.com/user/repo", "https://company.com"] %}{% /field %}
98
98
 
99
99
  {% instructions ref="website" %}
100
100
  Enter your website URL (must be http or https).
101
101
  {% /instructions %}
102
102
 
103
- {% url-list id="references" label="References" role="user" minItems=1 maxItems=5 uniqueItems=true %}{% /url-list %}
103
+ {% field kind="url_list" id="references" label="References" role="user" minItems=1 maxItems=5 uniqueItems=true placeholder="https://docs.example.com" examples=["https://wikipedia.org/wiki/Example", "https://docs.github.com/en"] %}{% /field %}
104
104
 
105
105
  {% instructions ref="references" %}
106
106
  Add 1-5 unique reference URLs for sources or documentation.
@@ -108,22 +108,76 @@ Add 1-5 unique reference URLs for sources or documentation.
108
108
 
109
109
  {% /field-group %}
110
110
 
111
+ {% field-group id="date_fields" title="Date and Year Fields" %}
112
+
113
+ {% field kind="date" id="event_date" label="Event Date" role="user" required=true min="2020-01-01" max="2030-12-31" %}{% /field %}
114
+
115
+ {% instructions ref="event_date" %}
116
+ Enter the event date (YYYY-MM-DD format, between 2020 and 2030).
117
+ {% /instructions %}
118
+
119
+ {% field kind="year" id="founded_year" label="Founded Year" role="user" required=true min=1900 max=2030 %}{% /field %}
120
+
121
+ {% instructions ref="founded_year" %}
122
+ Enter the year the company was founded (1900-2030).
123
+ {% /instructions %}
124
+
125
+ {% /field-group %}
126
+
127
+ {% field-group id="table_fields" title="Table Fields" %}
128
+
129
+ {% field kind="table" id="team_members" label="Team Members" role="user" minRows=0 maxRows=5
130
+ columnIds=["name", "role", "start_date"]
131
+ columnTypes=[{type: "string", required: true}, "string", "date"] %}
132
+ | Name | Role | Start Date |
133
+ |------|------|------------|
134
+ {% /field %}
135
+
136
+ {% instructions ref="team_members" %}
137
+ Add team members with their name (required), role, and start date.
138
+ {% /instructions %}
139
+
140
+ {% field kind="table" id="project_tasks" label="Project Tasks" role="user" minRows=0 maxRows=10
141
+ columnIds=["task", "estimate_hrs", "link"]
142
+ columnTypes=[{type: "string", required: true}, "number", "url"] %}
143
+ | Task | Estimate (hrs) | Link |
144
+ |------|----------------|------|
145
+ {% /field %}
146
+
147
+ {% instructions ref="project_tasks" %}
148
+ Optionally add project tasks with estimated hours and reference links.
149
+ {% /instructions %}
150
+
151
+ {% /field-group %}
152
+
111
153
  {% field-group id="optional_fields" title="Optional Fields" %}
112
154
 
113
- {% string-field id="notes" label="Notes" role="user" %}{% /string-field %}
155
+ {% field kind="string" id="notes" label="Notes" role="user" %}{% /field %}
114
156
 
115
157
  {% instructions ref="notes" %}
116
158
  Add any relevant notes or observations (optional).
117
159
  {% /instructions %}
118
160
 
119
- {% number-field id="optional_number" label="Optional Number" role="user" %}{% /number-field %}
161
+ {% field kind="number" id="optional_number" label="Optional Number" role="user" %}{% /field %}
120
162
 
121
- {% url-field id="related_url" label="Related URL" role="user" %}{% /url-field %}
163
+ {% field kind="url" id="related_url" label="Related URL" role="user" %}{% /field %}
122
164
 
123
165
  {% instructions ref="related_url" %}
124
166
  Optionally add a URL to related documentation or resources.
125
167
  {% /instructions %}
126
168
 
169
+ {% field kind="date" id="optional_date" label="Optional Date" role="user" %}{% /field %}
170
+
171
+ {% instructions ref="optional_date" %}
172
+ Optionally add a date (YYYY-MM-DD format).
173
+ {% /instructions %}
174
+
175
+ {% field kind="year" id="optional_year" label="Optional Year" role="user" %}{% /field %}
176
+
177
+ {% instructions ref="optional_year" %}
178
+ Optionally add a year.
179
+ {% /instructions %}
180
+
127
181
  {% /field-group %}
128
182
 
129
183
  {% /form %}
@@ -39,40 +39,40 @@ turns:
39
39
  message: Required field "Email" is empty
40
40
  severity: required
41
41
  priority: 1
42
- - ref: name
42
+ - ref: event_date
43
43
  scope: field
44
44
  reason: required_missing
45
- message: Required field "Name" is empty
45
+ message: Required field "Event Date" is empty
46
46
  severity: required
47
47
  priority: 1
48
- - ref: priority
48
+ - ref: founded_year
49
49
  scope: field
50
50
  reason: required_missing
51
- message: Required field "Priority" has no selection
51
+ message: Required field "Founded Year" is empty
52
52
  severity: required
53
53
  priority: 1
54
- - ref: tags
54
+ - ref: name
55
55
  scope: field
56
56
  reason: required_missing
57
- message: Required field "Tags" is empty
57
+ message: Required field "Name" is empty
58
58
  severity: required
59
59
  priority: 1
60
- - ref: tasks_multi
60
+ - ref: priority
61
61
  scope: field
62
62
  reason: required_missing
63
- message: All items in "Tasks (Multi Mode)" must be completed
63
+ message: Required field "Priority" has no selection
64
64
  severity: required
65
65
  priority: 1
66
- - ref: tasks_simple
66
+ - ref: tags
67
67
  scope: field
68
68
  reason: required_missing
69
- message: All items in "Agreements (Simple Mode)" must be checked (2 unchecked)
69
+ message: Required field "Tags" is empty
70
70
  severity: required
71
71
  priority: 1
72
- - ref: website
72
+ - ref: tasks_multi
73
73
  scope: field
74
74
  reason: required_missing
75
- message: Required field "Website" is empty
75
+ message: All items in "Tasks (Multi Mode)" must be completed
76
76
  severity: required
77
77
  priority: 1
78
78
  apply:
@@ -93,6 +93,12 @@ turns:
93
93
  - op: set_string
94
94
  field_id: email
95
95
  value: alice@example.com
96
+ - op: set_date
97
+ field_id: event_date
98
+ value: 2025-06-15
99
+ - op: set_year
100
+ field_id: founded_year
101
+ value: 2020
96
102
  - op: set_string
97
103
  field_id: name
98
104
  value: Alice Johnson
@@ -112,34 +118,56 @@ turns:
112
118
  design: done
113
119
  implement: done
114
120
  test: na
115
- - op: set_checkboxes
116
- field_id: tasks_simple
117
- values:
118
- read_guidelines: done
119
- agree_terms: done
120
- - op: set_url
121
- field_id: website
122
- value: https://alice.dev
123
121
  after:
124
- required_issue_count: 0
125
- markdown_sha256: 82ebecc97db1321838d47491c23ab951525e1fa5fd14590cd306565faa00b05f
122
+ required_issue_count: 2
123
+ markdown_sha256: 7fc247f84777187aa022f4bf0cb025c04e6ee8e73bb413ad4c728047e8cbed9b
126
124
  answered_field_count: 10
127
125
  skipped_field_count: 0
128
126
  - turn: 2
129
127
  inspect:
130
128
  issues:
129
+ - ref: tasks_simple
130
+ scope: field
131
+ reason: required_missing
132
+ message: All items in "Agreements (Simple Mode)" must be checked (2 unchecked)
133
+ severity: required
134
+ priority: 1
135
+ - ref: website
136
+ scope: field
137
+ reason: required_missing
138
+ message: Required field "Website" is empty
139
+ severity: required
140
+ priority: 1
131
141
  - ref: notes
132
142
  scope: field
133
143
  reason: optional_empty
134
144
  message: Optional field has no value
135
145
  severity: recommended
136
146
  priority: 3
147
+ - ref: optional_date
148
+ scope: field
149
+ reason: optional_empty
150
+ message: Optional field has no value
151
+ severity: recommended
152
+ priority: 3
137
153
  - ref: optional_number
138
154
  scope: field
139
155
  reason: optional_empty
140
156
  message: Optional field has no value
141
157
  severity: recommended
142
158
  priority: 3
159
+ - ref: optional_year
160
+ scope: field
161
+ reason: optional_empty
162
+ message: Optional field has no value
163
+ severity: recommended
164
+ priority: 3
165
+ - ref: project_tasks
166
+ scope: field
167
+ reason: optional_empty
168
+ message: Optional field has no value
169
+ severity: recommended
170
+ priority: 3
143
171
  - ref: references
144
172
  scope: field
145
173
  reason: optional_empty
@@ -160,13 +188,33 @@ turns:
160
188
  priority: 3
161
189
  apply:
162
190
  patches:
191
+ - op: set_checkboxes
192
+ field_id: tasks_simple
193
+ values:
194
+ read_guidelines: done
195
+ agree_terms: done
196
+ - op: set_url
197
+ field_id: website
198
+ value: https://alice.dev
163
199
  - op: set_string
164
200
  field_id: notes
165
201
  value: This is a test note.
202
+ - op: skip_field
203
+ field_id: optional_date
204
+ role: agent
205
+ reason: No value in mock form
166
206
  - op: skip_field
167
207
  field_id: optional_number
168
208
  role: agent
169
209
  reason: No value in mock form
210
+ - op: skip_field
211
+ field_id: optional_year
212
+ role: agent
213
+ reason: No value in mock form
214
+ - op: skip_field
215
+ field_id: project_tasks
216
+ role: agent
217
+ reason: No value in mock form
170
218
  - op: set_url_list
171
219
  field_id: references
172
220
  items:
@@ -181,9 +229,34 @@ turns:
181
229
  value: 87.5
182
230
  after:
183
231
  required_issue_count: 0
184
- markdown_sha256: 09ad2c0b12f3b27505ea3fbcfd35e025e94d906c1cb9701322b793b233db54dd
185
- answered_field_count: 14
186
- skipped_field_count: 1
232
+ markdown_sha256: 8c529f28855c70aa19516b8a3a92c65257ac345c6d69a012eb2a7a23924e0df6
233
+ answered_field_count: 16
234
+ skipped_field_count: 4
235
+ - turn: 3
236
+ inspect:
237
+ issues:
238
+ - ref: team_members
239
+ scope: field
240
+ reason: optional_empty
241
+ message: Optional field has no value
242
+ severity: recommended
243
+ priority: 3
244
+ apply:
245
+ patches:
246
+ - op: set_table
247
+ field_id: team_members
248
+ rows:
249
+ - name: Alice
250
+ role: Engineer
251
+ start_date: 2024-01-15
252
+ - name: Bob
253
+ role: Designer
254
+ start_date: 2023-06-01
255
+ after:
256
+ required_issue_count: 0
257
+ markdown_sha256: f6d569e6129fbba845a0758cf88ffc1d28ead5762e9993ad7743c3ad62443a2f
258
+ answered_field_count: 17
259
+ skipped_field_count: 4
187
260
  final:
188
261
  expect_complete: true
189
262
  expected_completed_form: simple-mock-filled.form.md