markform 0.1.1 → 0.1.3
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.
- package/DOCS.md +546 -0
- package/README.md +340 -71
- package/SPEC.md +2779 -0
- package/dist/ai-sdk.d.mts +2 -2
- package/dist/ai-sdk.mjs +5 -3
- package/dist/{apply-BQdd-fdx.mjs → apply-00UmzDKL.mjs} +849 -730
- package/dist/bin.mjs +6 -3
- package/dist/{cli-pjOiHgCW.mjs → cli-D--Lel-e.mjs} +1374 -428
- package/dist/cli.mjs +6 -3
- package/dist/{coreTypes--6etkcwb.d.mts → coreTypes-BXhhz9Iq.d.mts} +1946 -794
- package/dist/coreTypes-Dful87E0.mjs +537 -0
- package/dist/index.d.mts +116 -19
- package/dist/index.mjs +5 -3
- package/dist/session-Bqnwi9wp.mjs +110 -0
- package/dist/session-DdAtY2Ni.mjs +4 -0
- package/dist/shared-D7gf27Tr.mjs +3 -0
- package/dist/shared-N_s1M-_K.mjs +176 -0
- package/dist/src-Dm8jZ5dl.mjs +7587 -0
- package/examples/celebrity-deep-research/celebrity-deep-research.form.md +912 -0
- package/examples/earnings-analysis/earnings-analysis.form.md +6 -1
- package/examples/earnings-analysis/earnings-analysis.valid.ts +119 -59
- package/examples/movie-research/movie-research-basic.form.md +164 -0
- package/examples/movie-research/movie-research-deep.form.md +486 -0
- package/examples/movie-research/movie-research-minimal.form.md +54 -0
- package/examples/simple/simple-mock-filled.form.md +17 -13
- package/examples/simple/simple-skipped-filled.form.md +32 -9
- package/examples/simple/simple-with-skips.session.yaml +102 -143
- package/examples/simple/simple.form.md +13 -13
- package/examples/simple/simple.session.yaml +80 -69
- package/examples/startup-deep-research/startup-deep-research.form.md +60 -8
- package/examples/startup-research/startup-research-mock-filled.form.md +1 -1
- package/examples/startup-research/startup-research.form.md +1 -1
- package/package.json +10 -14
- package/dist/src-Cs4_9lWP.mjs +0 -2151
- package/examples/political-research/political-research.form.md +0 -233
- package/examples/political-research/political-research.mock.lincoln.form.md +0 -355
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
markform:
|
|
3
|
-
|
|
3
|
+
spec: "MF/0.1"
|
|
4
|
+
title: Simple Test Form
|
|
5
|
+
description: "Fully interactive demo - no LLM required. Demonstrates all Markform field types."
|
|
6
|
+
roles:
|
|
7
|
+
- user
|
|
8
|
+
role_instructions:
|
|
9
|
+
user: "Fill in all fields in this form."
|
|
4
10
|
---
|
|
5
11
|
|
|
6
12
|
{% form id="simple_test" title="Simple Test Form" %}
|
|
7
13
|
|
|
8
14
|
{% description ref="simple_test" %}
|
|
9
|
-
A form demonstrating
|
|
15
|
+
A fully interactive form demonstrating all Markform v0.1 field types.
|
|
16
|
+
Fill all fields using interactive prompts - no LLM API key needed.
|
|
10
17
|
{% /description %}
|
|
11
18
|
|
|
12
19
|
{% field-group id="basic_fields" title="Basic Fields" %}
|
|
@@ -33,10 +40,14 @@ test@example.com
|
|
|
33
40
|
```
|
|
34
41
|
{% /number-field %}
|
|
35
42
|
|
|
36
|
-
{% number-field id="score" label="Score" max=100 min=0
|
|
43
|
+
{% number-field id="score" label="Score" max=100 min=0 role="user" state="skipped" %}
|
|
44
|
+
```value
|
|
45
|
+
%SKIP% (Not needed for this test)
|
|
46
|
+
```
|
|
47
|
+
{% /number-field %}
|
|
37
48
|
|
|
38
49
|
{% instructions ref="score" %}
|
|
39
|
-
|
|
50
|
+
Enter a score between 0 and 100 (optional).
|
|
40
51
|
{% /instructions %}
|
|
41
52
|
|
|
42
53
|
{% /field-group %}
|
|
@@ -126,17 +137,25 @@ Add 1-5 unique reference URLs for sources or documentation.
|
|
|
126
137
|
|
|
127
138
|
{% /field-group %}
|
|
128
139
|
|
|
129
|
-
{% field-group id="optional_fields" title="Optional Fields
|
|
140
|
+
{% field-group id="optional_fields" title="Optional Fields" %}
|
|
130
141
|
|
|
131
|
-
{% string-field id="notes" label="Notes"
|
|
142
|
+
{% string-field id="notes" label="Notes" role="user" state="skipped" %}
|
|
143
|
+
```value
|
|
144
|
+
%SKIP% (No notes required)
|
|
145
|
+
```
|
|
146
|
+
{% /string-field %}
|
|
132
147
|
|
|
133
148
|
{% instructions ref="notes" %}
|
|
134
|
-
Add any relevant notes or observations
|
|
149
|
+
Add any relevant notes or observations (optional).
|
|
135
150
|
{% /instructions %}
|
|
136
151
|
|
|
137
|
-
{% number-field id="optional_number" label="Optional Number" %}{% /number-field %}
|
|
152
|
+
{% number-field id="optional_number" label="Optional Number" role="user" state="skipped" %}{% /number-field %}
|
|
138
153
|
|
|
139
|
-
{% url-field id="related_url" label="Related URL"
|
|
154
|
+
{% url-field id="related_url" label="Related URL" role="user" state="skipped" %}
|
|
155
|
+
```value
|
|
156
|
+
%SKIP% (No related URL needed)
|
|
157
|
+
```
|
|
158
|
+
{% /url-field %}
|
|
140
159
|
|
|
141
160
|
{% instructions ref="related_url" %}
|
|
142
161
|
Optionally add a URL to related documentation or resources.
|
|
@@ -144,4 +163,8 @@ Optionally add a URL to related documentation or resources.
|
|
|
144
163
|
|
|
145
164
|
{% /field-group %}
|
|
146
165
|
|
|
166
|
+
{% note id="note-summary" ref="simple_test" role="user" %}
|
|
167
|
+
All required fields completed successfully. Optional fields skipped.
|
|
168
|
+
{% /note %}
|
|
169
|
+
|
|
147
170
|
{% /form %}
|
|
@@ -5,14 +5,13 @@ form:
|
|
|
5
5
|
mock:
|
|
6
6
|
completed_mock: simple-skipped-filled.form.md
|
|
7
7
|
harness:
|
|
8
|
-
max_turns:
|
|
8
|
+
max_turns: 100
|
|
9
9
|
max_patches_per_turn: 20
|
|
10
|
-
|
|
10
|
+
max_issues_per_turn: 10
|
|
11
11
|
target_roles:
|
|
12
|
-
-
|
|
13
|
-
|
|
12
|
+
- '*'
|
|
13
|
+
fill_mode: continue
|
|
14
14
|
turns:
|
|
15
|
-
# Turn 1: Fill basic user fields (name, email, age)
|
|
16
15
|
- turn: 1
|
|
17
16
|
inspect:
|
|
18
17
|
issues:
|
|
@@ -22,85 +21,52 @@ turns:
|
|
|
22
21
|
message: Required field "Age" is empty
|
|
23
22
|
severity: required
|
|
24
23
|
priority: 1
|
|
25
|
-
- ref:
|
|
24
|
+
- ref: categories
|
|
26
25
|
scope: field
|
|
27
26
|
reason: required_missing
|
|
28
|
-
message: Required field "
|
|
27
|
+
message: Required field "Categories" has no selections
|
|
29
28
|
severity: required
|
|
30
29
|
priority: 1
|
|
31
|
-
- ref:
|
|
30
|
+
- ref: confirmations
|
|
32
31
|
scope: field
|
|
33
32
|
reason: required_missing
|
|
34
|
-
message:
|
|
33
|
+
message: All items in "Confirmations (Explicit Mode)" must be answered (2 unfilled)
|
|
35
34
|
severity: required
|
|
36
35
|
priority: 1
|
|
37
|
-
- ref:
|
|
36
|
+
- ref: email
|
|
38
37
|
scope: field
|
|
39
38
|
reason: required_missing
|
|
40
|
-
message: Required field "
|
|
39
|
+
message: Required field "Email" is empty
|
|
41
40
|
severity: required
|
|
42
41
|
priority: 1
|
|
43
|
-
- ref:
|
|
42
|
+
- ref: name
|
|
44
43
|
scope: field
|
|
45
44
|
reason: required_missing
|
|
46
|
-
message: Required field "
|
|
45
|
+
message: Required field "Name" is empty
|
|
47
46
|
severity: required
|
|
48
47
|
priority: 1
|
|
49
|
-
- ref: categories
|
|
50
|
-
scope: field
|
|
51
|
-
reason: validation_error
|
|
52
|
-
message: Required field "Categories" has no selections
|
|
53
|
-
severity: required
|
|
54
|
-
priority: 2
|
|
55
|
-
- ref: confirmations
|
|
56
|
-
scope: field
|
|
57
|
-
reason: validation_error
|
|
58
|
-
message: All items in "Confirmations (Explicit Mode)" must be answered (2 unfilled)
|
|
59
|
-
severity: required
|
|
60
|
-
priority: 2
|
|
61
48
|
- ref: priority
|
|
62
49
|
scope: field
|
|
63
|
-
reason:
|
|
50
|
+
reason: required_missing
|
|
64
51
|
message: Required field "Priority" has no selection
|
|
65
52
|
severity: required
|
|
66
|
-
priority:
|
|
53
|
+
priority: 1
|
|
54
|
+
- ref: tags
|
|
55
|
+
scope: field
|
|
56
|
+
reason: required_missing
|
|
57
|
+
message: Required field "Tags" is empty
|
|
58
|
+
severity: required
|
|
59
|
+
priority: 1
|
|
67
60
|
- ref: tasks_multi
|
|
68
61
|
scope: field
|
|
69
|
-
reason:
|
|
62
|
+
reason: required_missing
|
|
70
63
|
message: All items in "Tasks (Multi Mode)" must be completed
|
|
71
64
|
severity: required
|
|
72
|
-
priority:
|
|
65
|
+
priority: 1
|
|
73
66
|
- ref: tasks_simple
|
|
74
|
-
scope: field
|
|
75
|
-
reason: validation_error
|
|
76
|
-
message: All items in "Agreements (Simple Mode)" must be checked (2 unchecked)
|
|
77
|
-
severity: required
|
|
78
|
-
priority: 2
|
|
79
|
-
apply:
|
|
80
|
-
patches:
|
|
81
|
-
- op: set_string
|
|
82
|
-
field_id: name
|
|
83
|
-
value: Test User
|
|
84
|
-
- op: set_string
|
|
85
|
-
field_id: email
|
|
86
|
-
value: test@example.com
|
|
87
|
-
- op: set_number
|
|
88
|
-
field_id: age
|
|
89
|
-
value: 25
|
|
90
|
-
after:
|
|
91
|
-
required_issue_count: 7
|
|
92
|
-
markdown_sha256: be317980230ed614221e949a31c950d69e170470882a2e69228044b80392d422
|
|
93
|
-
answered_field_count: 3
|
|
94
|
-
skipped_field_count: 0
|
|
95
|
-
|
|
96
|
-
# Turn 2: Fill selection fields (tags, priority, categories, website, references)
|
|
97
|
-
- turn: 2
|
|
98
|
-
inspect:
|
|
99
|
-
issues:
|
|
100
|
-
- ref: tags
|
|
101
67
|
scope: field
|
|
102
68
|
reason: required_missing
|
|
103
|
-
message:
|
|
69
|
+
message: All items in "Agreements (Simple Mode)" must be checked (2 unchecked)
|
|
104
70
|
severity: required
|
|
105
71
|
priority: 1
|
|
106
72
|
- ref: website
|
|
@@ -109,88 +75,35 @@ turns:
|
|
|
109
75
|
message: Required field "Website" is empty
|
|
110
76
|
severity: required
|
|
111
77
|
priority: 1
|
|
112
|
-
- ref: categories
|
|
113
|
-
scope: field
|
|
114
|
-
reason: validation_error
|
|
115
|
-
message: Required field "Categories" has no selections
|
|
116
|
-
severity: required
|
|
117
|
-
priority: 2
|
|
118
|
-
- ref: confirmations
|
|
119
|
-
scope: field
|
|
120
|
-
reason: validation_error
|
|
121
|
-
message: All items in "Confirmations (Explicit Mode)" must be answered (2 unfilled)
|
|
122
|
-
severity: required
|
|
123
|
-
priority: 2
|
|
124
|
-
- ref: priority
|
|
125
|
-
scope: field
|
|
126
|
-
reason: validation_error
|
|
127
|
-
message: Required field "Priority" has no selection
|
|
128
|
-
severity: required
|
|
129
|
-
priority: 2
|
|
130
|
-
- ref: tasks_multi
|
|
131
|
-
scope: field
|
|
132
|
-
reason: validation_error
|
|
133
|
-
message: All items in "Tasks (Multi Mode)" must be completed
|
|
134
|
-
severity: required
|
|
135
|
-
priority: 2
|
|
136
|
-
- ref: tasks_simple
|
|
137
|
-
scope: field
|
|
138
|
-
reason: validation_error
|
|
139
|
-
message: All items in "Agreements (Simple Mode)" must be checked (2 unchecked)
|
|
140
|
-
severity: required
|
|
141
|
-
priority: 2
|
|
142
78
|
apply:
|
|
143
79
|
patches:
|
|
144
|
-
- op:
|
|
145
|
-
field_id:
|
|
146
|
-
|
|
147
|
-
- typescript
|
|
148
|
-
- testing
|
|
149
|
-
- op: set_single_select
|
|
150
|
-
field_id: priority
|
|
151
|
-
selected: high
|
|
80
|
+
- op: set_number
|
|
81
|
+
field_id: age
|
|
82
|
+
value: 25
|
|
152
83
|
- op: set_multi_select
|
|
153
84
|
field_id: categories
|
|
154
85
|
selected:
|
|
155
86
|
- frontend
|
|
156
87
|
- backend
|
|
157
|
-
- op:
|
|
158
|
-
field_id:
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
88
|
+
- op: set_checkboxes
|
|
89
|
+
field_id: confirmations
|
|
90
|
+
values:
|
|
91
|
+
backed_up: yes
|
|
92
|
+
notified: no
|
|
93
|
+
- op: set_string
|
|
94
|
+
field_id: email
|
|
95
|
+
value: test@example.com
|
|
96
|
+
- op: set_string
|
|
97
|
+
field_id: name
|
|
98
|
+
value: Test User
|
|
99
|
+
- op: set_single_select
|
|
100
|
+
field_id: priority
|
|
101
|
+
selected: high
|
|
102
|
+
- op: set_string_list
|
|
103
|
+
field_id: tags
|
|
162
104
|
items:
|
|
163
|
-
-
|
|
164
|
-
|
|
165
|
-
required_issue_count: 3
|
|
166
|
-
markdown_sha256: f3b491aea22dc2da552c3cbb22aad61a13e90383e2a73e3758def7127c739614
|
|
167
|
-
answered_field_count: 8
|
|
168
|
-
skipped_field_count: 0
|
|
169
|
-
|
|
170
|
-
# Turn 3: Fill checkboxes + SKIP optional fields (demonstrates skip_field)
|
|
171
|
-
- turn: 3
|
|
172
|
-
inspect:
|
|
173
|
-
issues:
|
|
174
|
-
- ref: confirmations
|
|
175
|
-
scope: field
|
|
176
|
-
reason: validation_error
|
|
177
|
-
message: All items in "Confirmations (Explicit Mode)" must be answered (2 unfilled)
|
|
178
|
-
severity: required
|
|
179
|
-
priority: 2
|
|
180
|
-
- ref: tasks_multi
|
|
181
|
-
scope: field
|
|
182
|
-
reason: validation_error
|
|
183
|
-
message: All items in "Tasks (Multi Mode)" must be completed
|
|
184
|
-
severity: required
|
|
185
|
-
priority: 2
|
|
186
|
-
- ref: tasks_simple
|
|
187
|
-
scope: field
|
|
188
|
-
reason: validation_error
|
|
189
|
-
message: All items in "Agreements (Simple Mode)" must be checked (2 unchecked)
|
|
190
|
-
severity: required
|
|
191
|
-
priority: 2
|
|
192
|
-
apply:
|
|
193
|
-
patches:
|
|
105
|
+
- typescript
|
|
106
|
+
- testing
|
|
194
107
|
- op: set_checkboxes
|
|
195
108
|
field_id: tasks_multi
|
|
196
109
|
values:
|
|
@@ -203,26 +116,72 @@ turns:
|
|
|
203
116
|
values:
|
|
204
117
|
read_guidelines: done
|
|
205
118
|
agree_terms: done
|
|
206
|
-
- op:
|
|
207
|
-
field_id:
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
119
|
+
- op: set_url
|
|
120
|
+
field_id: website
|
|
121
|
+
value: https://test.example.com
|
|
122
|
+
after:
|
|
123
|
+
required_issue_count: 0
|
|
124
|
+
markdown_sha256: 62c9aad095c2ea5c2947c308c5e4b3c4cbc677a7e481971871c5091d5ca27b02
|
|
125
|
+
answered_field_count: 10
|
|
126
|
+
skipped_field_count: 0
|
|
127
|
+
- turn: 2
|
|
128
|
+
inspect:
|
|
129
|
+
issues:
|
|
130
|
+
- ref: notes
|
|
131
|
+
scope: field
|
|
132
|
+
reason: optional_empty
|
|
133
|
+
message: Optional field has no value
|
|
134
|
+
severity: recommended
|
|
135
|
+
priority: 3
|
|
136
|
+
- ref: optional_number
|
|
137
|
+
scope: field
|
|
138
|
+
reason: optional_empty
|
|
139
|
+
message: Optional field has no value
|
|
140
|
+
severity: recommended
|
|
141
|
+
priority: 3
|
|
142
|
+
- ref: references
|
|
143
|
+
scope: field
|
|
144
|
+
reason: optional_empty
|
|
145
|
+
message: Optional field has no value
|
|
146
|
+
severity: recommended
|
|
147
|
+
priority: 3
|
|
148
|
+
- ref: related_url
|
|
149
|
+
scope: field
|
|
150
|
+
reason: optional_empty
|
|
151
|
+
message: Optional field has no value
|
|
152
|
+
severity: recommended
|
|
153
|
+
priority: 3
|
|
154
|
+
- ref: score
|
|
155
|
+
scope: field
|
|
156
|
+
reason: optional_empty
|
|
157
|
+
message: Optional field has no value
|
|
158
|
+
severity: recommended
|
|
159
|
+
priority: 3
|
|
160
|
+
apply:
|
|
161
|
+
patches:
|
|
215
162
|
- op: skip_field
|
|
216
163
|
field_id: notes
|
|
217
|
-
|
|
164
|
+
role: agent
|
|
165
|
+
reason: No value in mock form
|
|
218
166
|
- op: skip_field
|
|
219
167
|
field_id: optional_number
|
|
168
|
+
role: agent
|
|
169
|
+
reason: No value in mock form
|
|
170
|
+
- op: set_url_list
|
|
171
|
+
field_id: references
|
|
172
|
+
items:
|
|
173
|
+
- https://docs.example.com
|
|
220
174
|
- op: skip_field
|
|
221
175
|
field_id: related_url
|
|
222
|
-
|
|
176
|
+
role: agent
|
|
177
|
+
reason: No value in mock form
|
|
178
|
+
- op: skip_field
|
|
179
|
+
field_id: score
|
|
180
|
+
role: agent
|
|
181
|
+
reason: No value in mock form
|
|
223
182
|
after:
|
|
224
183
|
required_issue_count: 0
|
|
225
|
-
markdown_sha256:
|
|
184
|
+
markdown_sha256: 5ca306e53bdb0213b0558f6132c7a5af491c40c8765f25bc7047efa0478b7876
|
|
226
185
|
answered_field_count: 11
|
|
227
186
|
skipped_field_count: 4
|
|
228
187
|
final:
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
markform:
|
|
3
|
-
|
|
3
|
+
spec: MF/0.1
|
|
4
|
+
title: Simple Test Form
|
|
5
|
+
description: "Fully interactive demo - no LLM required. Demonstrates all Markform field types."
|
|
4
6
|
roles:
|
|
5
7
|
- user
|
|
6
|
-
- agent
|
|
7
8
|
role_instructions:
|
|
8
|
-
user: "Fill in
|
|
9
|
-
agent: "Fill in the optional fields with reasonable test values."
|
|
9
|
+
user: "Fill in all fields in this form."
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
{% form id="simple_test" title="Simple Test Form" %}
|
|
13
13
|
|
|
14
14
|
{% description ref="simple_test" %}
|
|
15
|
-
A form demonstrating
|
|
16
|
-
|
|
15
|
+
A fully interactive form demonstrating all Markform v0.1 field types.
|
|
16
|
+
Fill all fields using interactive prompts - no LLM API key needed.
|
|
17
17
|
{% /description %}
|
|
18
18
|
|
|
19
19
|
{% field-group id="basic_fields" title="Basic Fields" %}
|
|
@@ -28,10 +28,10 @@ Enter your full name (2-50 characters).
|
|
|
28
28
|
|
|
29
29
|
{% number-field id="age" label="Age" role="user" required=true min=0 max=150 integer=true %}{% /number-field %}
|
|
30
30
|
|
|
31
|
-
{% number-field id="score" label="Score" role="
|
|
31
|
+
{% number-field id="score" label="Score" role="user" min=0.0 max=100.0 %}{% /number-field %}
|
|
32
32
|
|
|
33
33
|
{% instructions ref="score" %}
|
|
34
|
-
|
|
34
|
+
Enter a score between 0 and 100 (optional).
|
|
35
35
|
{% /instructions %}
|
|
36
36
|
|
|
37
37
|
{% /field-group %}
|
|
@@ -108,17 +108,17 @@ Add 1-5 unique reference URLs for sources or documentation.
|
|
|
108
108
|
|
|
109
109
|
{% /field-group %}
|
|
110
110
|
|
|
111
|
-
{% field-group id="optional_fields" title="Optional Fields
|
|
111
|
+
{% field-group id="optional_fields" title="Optional Fields" %}
|
|
112
112
|
|
|
113
|
-
{% string-field id="notes" label="Notes" role="
|
|
113
|
+
{% string-field id="notes" label="Notes" role="user" %}{% /string-field %}
|
|
114
114
|
|
|
115
115
|
{% instructions ref="notes" %}
|
|
116
|
-
Add any relevant notes or observations
|
|
116
|
+
Add any relevant notes or observations (optional).
|
|
117
117
|
{% /instructions %}
|
|
118
118
|
|
|
119
|
-
{% number-field id="optional_number" label="Optional Number" role="
|
|
119
|
+
{% number-field id="optional_number" label="Optional Number" role="user" %}{% /number-field %}
|
|
120
120
|
|
|
121
|
-
{% url-field id="related_url" label="Related URL" role="
|
|
121
|
+
{% url-field id="related_url" label="Related URL" role="user" %}{% /url-field %}
|
|
122
122
|
|
|
123
123
|
{% instructions ref="related_url" %}
|
|
124
124
|
Optionally add a URL to related documentation or resources.
|
|
@@ -5,12 +5,12 @@ form:
|
|
|
5
5
|
mock:
|
|
6
6
|
completed_mock: simple-mock-filled.form.md
|
|
7
7
|
harness:
|
|
8
|
-
max_turns:
|
|
8
|
+
max_turns: 100
|
|
9
9
|
max_patches_per_turn: 20
|
|
10
|
-
|
|
10
|
+
max_issues_per_turn: 10
|
|
11
11
|
target_roles:
|
|
12
|
-
-
|
|
13
|
-
|
|
12
|
+
- '*'
|
|
13
|
+
fill_mode: continue
|
|
14
14
|
turns:
|
|
15
15
|
- turn: 1
|
|
16
16
|
inspect:
|
|
@@ -21,90 +21,60 @@ turns:
|
|
|
21
21
|
message: Required field "Age" is empty
|
|
22
22
|
severity: required
|
|
23
23
|
priority: 1
|
|
24
|
-
- ref:
|
|
24
|
+
- ref: categories
|
|
25
25
|
scope: field
|
|
26
26
|
reason: required_missing
|
|
27
|
-
message: Required field "
|
|
27
|
+
message: Required field "Categories" has no selections
|
|
28
28
|
severity: required
|
|
29
29
|
priority: 1
|
|
30
|
-
- ref:
|
|
30
|
+
- ref: confirmations
|
|
31
31
|
scope: field
|
|
32
32
|
reason: required_missing
|
|
33
|
-
message:
|
|
33
|
+
message: All items in "Confirmations (Explicit Mode)" must be answered (2 unfilled)
|
|
34
34
|
severity: required
|
|
35
35
|
priority: 1
|
|
36
|
-
- ref:
|
|
36
|
+
- ref: email
|
|
37
37
|
scope: field
|
|
38
38
|
reason: required_missing
|
|
39
|
-
message: Required field "
|
|
39
|
+
message: Required field "Email" is empty
|
|
40
40
|
severity: required
|
|
41
41
|
priority: 1
|
|
42
|
-
- ref:
|
|
42
|
+
- ref: name
|
|
43
43
|
scope: field
|
|
44
44
|
reason: required_missing
|
|
45
|
-
message: Required field "
|
|
45
|
+
message: Required field "Name" is empty
|
|
46
46
|
severity: required
|
|
47
47
|
priority: 1
|
|
48
|
-
- ref: categories
|
|
49
|
-
scope: field
|
|
50
|
-
reason: validation_error
|
|
51
|
-
message: Required field "Categories" has no selections
|
|
52
|
-
severity: required
|
|
53
|
-
priority: 2
|
|
54
|
-
- ref: confirmations
|
|
55
|
-
scope: field
|
|
56
|
-
reason: validation_error
|
|
57
|
-
message: All items in "Confirmations (Explicit Mode)" must be answered (2 unfilled)
|
|
58
|
-
severity: required
|
|
59
|
-
priority: 2
|
|
60
48
|
- ref: priority
|
|
61
49
|
scope: field
|
|
62
|
-
reason:
|
|
50
|
+
reason: required_missing
|
|
63
51
|
message: Required field "Priority" has no selection
|
|
64
52
|
severity: required
|
|
65
|
-
priority:
|
|
53
|
+
priority: 1
|
|
54
|
+
- ref: tags
|
|
55
|
+
scope: field
|
|
56
|
+
reason: required_missing
|
|
57
|
+
message: Required field "Tags" is empty
|
|
58
|
+
severity: required
|
|
59
|
+
priority: 1
|
|
66
60
|
- ref: tasks_multi
|
|
67
61
|
scope: field
|
|
68
|
-
reason:
|
|
62
|
+
reason: required_missing
|
|
69
63
|
message: All items in "Tasks (Multi Mode)" must be completed
|
|
70
64
|
severity: required
|
|
71
|
-
priority:
|
|
65
|
+
priority: 1
|
|
72
66
|
- ref: tasks_simple
|
|
73
67
|
scope: field
|
|
74
|
-
reason:
|
|
68
|
+
reason: required_missing
|
|
75
69
|
message: All items in "Agreements (Simple Mode)" must be checked (2 unchecked)
|
|
76
70
|
severity: required
|
|
77
|
-
priority:
|
|
78
|
-
- ref:
|
|
79
|
-
scope: field
|
|
80
|
-
reason: optional_empty
|
|
81
|
-
message: Optional field has no value
|
|
82
|
-
severity: recommended
|
|
83
|
-
priority: 3
|
|
84
|
-
- ref: optional_number
|
|
85
|
-
scope: field
|
|
86
|
-
reason: optional_empty
|
|
87
|
-
message: Optional field has no value
|
|
88
|
-
severity: recommended
|
|
89
|
-
priority: 3
|
|
90
|
-
- ref: references
|
|
91
|
-
scope: field
|
|
92
|
-
reason: optional_empty
|
|
93
|
-
message: Optional field has no value
|
|
94
|
-
severity: recommended
|
|
95
|
-
priority: 3
|
|
96
|
-
- ref: related_url
|
|
97
|
-
scope: field
|
|
98
|
-
reason: optional_empty
|
|
99
|
-
message: Optional field has no value
|
|
100
|
-
severity: recommended
|
|
101
|
-
priority: 3
|
|
102
|
-
- ref: score
|
|
71
|
+
priority: 1
|
|
72
|
+
- ref: website
|
|
103
73
|
scope: field
|
|
104
|
-
reason:
|
|
105
|
-
message:
|
|
106
|
-
severity:
|
|
107
|
-
priority:
|
|
74
|
+
reason: required_missing
|
|
75
|
+
message: Required field "Website" is empty
|
|
76
|
+
severity: required
|
|
77
|
+
priority: 1
|
|
108
78
|
apply:
|
|
109
79
|
patches:
|
|
110
80
|
- op: set_number
|
|
@@ -150,27 +120,68 @@ turns:
|
|
|
150
120
|
- op: set_url
|
|
151
121
|
field_id: website
|
|
152
122
|
value: https://alice.dev
|
|
123
|
+
after:
|
|
124
|
+
required_issue_count: 0
|
|
125
|
+
markdown_sha256: 82ebecc97db1321838d47491c23ab951525e1fa5fd14590cd306565faa00b05f
|
|
126
|
+
answered_field_count: 10
|
|
127
|
+
skipped_field_count: 0
|
|
128
|
+
- turn: 2
|
|
129
|
+
inspect:
|
|
130
|
+
issues:
|
|
131
|
+
- ref: notes
|
|
132
|
+
scope: field
|
|
133
|
+
reason: optional_empty
|
|
134
|
+
message: Optional field has no value
|
|
135
|
+
severity: recommended
|
|
136
|
+
priority: 3
|
|
137
|
+
- ref: optional_number
|
|
138
|
+
scope: field
|
|
139
|
+
reason: optional_empty
|
|
140
|
+
message: Optional field has no value
|
|
141
|
+
severity: recommended
|
|
142
|
+
priority: 3
|
|
143
|
+
- ref: references
|
|
144
|
+
scope: field
|
|
145
|
+
reason: optional_empty
|
|
146
|
+
message: Optional field has no value
|
|
147
|
+
severity: recommended
|
|
148
|
+
priority: 3
|
|
149
|
+
- ref: related_url
|
|
150
|
+
scope: field
|
|
151
|
+
reason: optional_empty
|
|
152
|
+
message: Optional field has no value
|
|
153
|
+
severity: recommended
|
|
154
|
+
priority: 3
|
|
155
|
+
- ref: score
|
|
156
|
+
scope: field
|
|
157
|
+
reason: optional_empty
|
|
158
|
+
message: Optional field has no value
|
|
159
|
+
severity: recommended
|
|
160
|
+
priority: 3
|
|
161
|
+
apply:
|
|
162
|
+
patches:
|
|
163
|
+
- op: set_string
|
|
164
|
+
field_id: notes
|
|
165
|
+
value: This is a test note.
|
|
166
|
+
- op: skip_field
|
|
167
|
+
field_id: optional_number
|
|
168
|
+
role: agent
|
|
169
|
+
reason: No value in mock form
|
|
153
170
|
- op: set_url_list
|
|
154
171
|
field_id: references
|
|
155
172
|
items:
|
|
156
173
|
- https://docs.example.com/guide
|
|
157
174
|
- https://github.com/example/project
|
|
158
175
|
- https://medium.com/article-about-forms
|
|
159
|
-
- op: set_string
|
|
160
|
-
field_id: notes
|
|
161
|
-
value: This is a test note.
|
|
162
|
-
- op: skip_field
|
|
163
|
-
field_id: optional_number
|
|
164
|
-
reason: Optional field not needed for this test
|
|
165
|
-
- op: set_number
|
|
166
|
-
field_id: score
|
|
167
|
-
value: 87.5
|
|
168
176
|
- op: set_url
|
|
169
177
|
field_id: related_url
|
|
170
178
|
value: https://markform.dev/docs
|
|
179
|
+
- op: set_number
|
|
180
|
+
field_id: score
|
|
181
|
+
value: 87.5
|
|
171
182
|
after:
|
|
172
183
|
required_issue_count: 0
|
|
173
|
-
markdown_sha256:
|
|
184
|
+
markdown_sha256: 09ad2c0b12f3b27505ea3fbcfd35e025e94d906c1cb9701322b793b233db54dd
|
|
174
185
|
answered_field_count: 14
|
|
175
186
|
skipped_field_count: 1
|
|
176
187
|
final:
|