jourilo 1.1.0 → 1.2.1
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/README.md +14 -15
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/plugin/dist/jourilo.mjs +6279 -4851
- package/plugin/skills/jourilo/SKILL.md +4 -2
- package/plugin/skills/jourilo/references/cli.md +138 -10
- package/schemas/run.schema.json +555 -0
|
@@ -23,7 +23,7 @@ node "${CLAUDE_PLUGIN_ROOT}/dist/jourilo.mjs" <command> [options] --json
|
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
(Written below as `jourilo`.) Do not wrap it in shell variables, `cd`, `&&` chains or pipes: the plugin
|
|
26
|
-
pre-approves exactly that form. Output is JSON with `--json`;
|
|
26
|
+
pre-approves exactly that form. Output is JSON with `--json`; with `--json`, stderr is a stream of JSON lines (progress, then any error with a stable `code`).
|
|
27
27
|
Command reference: `${CLAUDE_PLUGIN_ROOT}/skills/jourilo/references/cli.md` — read it once per session.
|
|
28
28
|
Run data lives in `.jourilo/` in the current project (git-ignored automatically).
|
|
29
29
|
|
|
@@ -69,7 +69,9 @@ Tell the user which stage you are in. If they asked for one thing (e.g. "just ac
|
|
|
69
69
|
match the real goals (explicit success criteria), then `jourilo journeys run --base <url>`.
|
|
70
70
|
5. **Judge** — Look at the fold and full-page screenshots of key pages. Record design/usability judgments that
|
|
71
71
|
the rules cannot measure (hierarchy, clarity of the value proposition, confusing copy) with `finding add`,
|
|
72
|
-
each tied to a screenshot, labelled as yours.
|
|
72
|
+
each tied to a screenshot, labelled as yours. When a finding is a confirmed false positive, record it with
|
|
73
|
+
`jourilo finding dismiss <id> --run <run> --reason "<why>" --by agent`: the reason is required, a dismissed
|
|
74
|
+
finding is never counted as "fixed", and you dismiss only when the user agrees or the evidence is clear.
|
|
73
75
|
6. **Prioritize** — Group by root cause, not by symptom. Order: blocked journeys and critical/serious defects on key
|
|
74
76
|
journeys → serious accessibility defects → performance on key pages → conversion hypotheses.
|
|
75
77
|
7. **Fix (repository mode, with permission)** — `jourilo optimize <run> --repo <path>` previews deterministic fixes
|
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
Every command prints human-readable text, or JSON with `--json`. Errors go to stderr; with `--json` they are
|
|
6
6
|
`{"error":{"code","message","hint"}}` with a stable `code`. Exit codes: 0 ok, 1 failed gate or error, 2 usage,
|
|
7
|
-
3 blocked by a safety rule (unsafe URL/path, robots.txt, policy), 4 browser unavailable
|
|
7
|
+
3 blocked by a safety rule (unsafe URL/path, robots.txt, policy), 4 browser unavailable, 5 no page could be loaded,
|
|
8
|
+
6 stopped early by SIGINT/SIGTERM or `--max-duration` (a partial run is still written; a second signal exits 130).
|
|
8
9
|
|
|
9
|
-
Global options: `--json`, `--workspace DIR` (default `.jourilo`, or `JOURILO_WORKSPACE`), `--quiet`.
|
|
10
|
+
Global options: `--json`, `--workspace DIR` (default `.jourilo`, or `JOURILO_WORKSPACE`), `--quiet`. With `--json`,
|
|
11
|
+
progress lines on stderr are JSON too: `{"type":"progress","message":"…","at":"<ISO time>"}`.
|
|
10
12
|
|
|
11
13
|
## Understand
|
|
12
14
|
|
|
@@ -15,7 +17,16 @@ Global options: `--json`, `--workspace DIR` (default `.jourilo`, or `JOURILO_WOR
|
|
|
15
17
|
Product intelligence: map a repository (frameworks, routes, design system, i18n, auth, analytics) or a website (pages, conversion points, services).
|
|
16
18
|
|
|
17
19
|
```
|
|
18
|
-
jourilo discover <path|url> [--pages 10]
|
|
20
|
+
jourilo discover <path|url> [--pages 10] [--ignore-robots] [--allow-private] [--deny-local]
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
Options:
|
|
25
|
+
--pages N Pages to read when mapping a website (default 10)
|
|
26
|
+
--ignore-robots Ignore robots.txt (only for sites you own or are authorized to test)
|
|
27
|
+
--allow-private Allow private-network hosts (10.x, 192.168.x, ...)
|
|
28
|
+
--deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
|
|
29
|
+
JOURILO_DENY_LOCAL=1 does the same
|
|
19
30
|
```
|
|
20
31
|
|
|
21
32
|
## Audit
|
|
@@ -30,28 +41,44 @@ jourilo audit <url|dir> [--pages 6] [--viewports desktop,mobile] [--url /path ..
|
|
|
30
41
|
|
|
31
42
|
```
|
|
32
43
|
Options:
|
|
33
|
-
--pages N Pages to audit after discovery (default 6; 1 = only the target)
|
|
44
|
+
--pages N Pages to audit after discovery (default 6; 1 = only the target; 0 is a usage error)
|
|
34
45
|
--depth N Link depth for discovery (default 3)
|
|
35
46
|
--url PATH Audit exactly these paths/URLs on the target origin (repeatable; skips discovery)
|
|
36
47
|
--include PATH Add pages to discovery (repeatable)
|
|
37
48
|
--viewports LIST desktop, laptop, tablet, mobile, reflow (320px) or WIDTHxHEIGHT (default desktop,mobile)
|
|
38
49
|
--browser NAME chromium (default), firefox, webkit, chrome, msedge
|
|
50
|
+
--headed Show the browser window instead of running headless
|
|
51
|
+
--locale TAG Browser locale for every page (e.g. tr-TR); sets Accept-Language and navigator.language
|
|
52
|
+
--timeout SECS Per-page navigation timeout in seconds (default 30)
|
|
39
53
|
--throttle Simulate a mid-range phone network and 4x CPU slowdown (Chromium)
|
|
40
54
|
--runs N Visits per page and viewport for lab metrics; reports the median and range (default 1, max 9)
|
|
41
55
|
--no-keyboard Skip the keyboard-only walk
|
|
42
56
|
--auth FILE Playwright storage state for authenticated pages (see docs/PRIVACY.md)
|
|
57
|
+
--timezone ZONE IANA time zone for every page (e.g. Europe/Istanbul)
|
|
58
|
+
--clock ISO Freeze the page's Date at this date-time (e.g. 2026-11-03T22:30:00+03:00); timers keep running
|
|
59
|
+
--setup-journey REF Run this journey first (an id or a .json file) and audit the state it leaves, e.g. a chosen theme or
|
|
60
|
+
a dismissed banner; it follows the journeys safety policy and starts from --auth
|
|
43
61
|
--mask SELECTOR Extra elements to black out in screenshots (repeatable)
|
|
44
62
|
--repo PATH Map findings to likely source files in this repository (and read its brand/search context)
|
|
45
63
|
--brand SLUG Markilo brand to check design consistency against (default: master brand)
|
|
46
64
|
--ignore-robots Ignore robots.txt (only for sites you own or are authorized to test)
|
|
47
65
|
--allow-private Allow private-network hosts (10.x, 192.168.x, ...)
|
|
66
|
+
--deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
|
|
67
|
+
JOURILO_DENY_LOCAL=1 does the same. Not available with --browser webkit (exit 3). For hosted integrations; a directory target is still served
|
|
48
68
|
--no-forms Skip the form validation probe
|
|
49
69
|
(by default, on local hosts, an empty submission is simulated: nothing that sends data
|
|
50
70
|
leaves the browser, so no database is written; server-side feedback is reported as untested)
|
|
51
71
|
--allow-submit Really send empty submissions to test server-side validation, on local or other hosts
|
|
52
|
-
(disposable/test environments you are authorized to use only; never to delete/payment URLs)
|
|
72
|
+
(disposable/test environments you are authorized to use only; never to delete/payment URLs);
|
|
73
|
+
also lets a --setup-journey submit forms
|
|
53
74
|
--sarif Also write report.sarif for code scanning
|
|
54
75
|
--fail-on SEVERITY Exit 1 if a defect at or above this severity exists (CI gate)
|
|
76
|
+
--evidence MODE full (default) or minimal: keep first screens and only the full-page screenshots findings need; JPEG quality 55
|
|
77
|
+
--run-id ID Use this run id instead of a generated one (1-64 of A-Z a-z 0-9 _ -); refused (exit 2) if its
|
|
78
|
+
directory exists, even without a run.json (left by a crashed run)
|
|
79
|
+
--max-duration SECS Stop after this many seconds (1 to 86400) and write a partial run (exit 6), as SIGINT/SIGTERM do;
|
|
80
|
+
the page in progress gets up to 3 s to finish, then it is left out; a second signal quits at
|
|
81
|
+
once (exit 130) after one line on stderr (STOPPED_TWICE with --json)
|
|
55
82
|
```
|
|
56
83
|
|
|
57
84
|
### `jourilo accessibility`
|
|
@@ -64,28 +91,44 @@ jourilo accessibility <url|dir> [audit options]
|
|
|
64
91
|
|
|
65
92
|
```
|
|
66
93
|
Options:
|
|
67
|
-
--pages N Pages to audit after discovery (default 6; 1 = only the target)
|
|
94
|
+
--pages N Pages to audit after discovery (default 6; 1 = only the target; 0 is a usage error)
|
|
68
95
|
--depth N Link depth for discovery (default 3)
|
|
69
96
|
--url PATH Audit exactly these paths/URLs on the target origin (repeatable; skips discovery)
|
|
70
97
|
--include PATH Add pages to discovery (repeatable)
|
|
71
98
|
--viewports LIST desktop, laptop, tablet, mobile, reflow (320px) or WIDTHxHEIGHT (default desktop,mobile)
|
|
72
99
|
--browser NAME chromium (default), firefox, webkit, chrome, msedge
|
|
100
|
+
--headed Show the browser window instead of running headless
|
|
101
|
+
--locale TAG Browser locale for every page (e.g. tr-TR); sets Accept-Language and navigator.language
|
|
102
|
+
--timeout SECS Per-page navigation timeout in seconds (default 30)
|
|
73
103
|
--throttle Simulate a mid-range phone network and 4x CPU slowdown (Chromium)
|
|
74
104
|
--runs N Visits per page and viewport for lab metrics; reports the median and range (default 1, max 9)
|
|
75
105
|
--no-keyboard Skip the keyboard-only walk
|
|
76
106
|
--auth FILE Playwright storage state for authenticated pages (see docs/PRIVACY.md)
|
|
107
|
+
--timezone ZONE IANA time zone for every page (e.g. Europe/Istanbul)
|
|
108
|
+
--clock ISO Freeze the page's Date at this date-time (e.g. 2026-11-03T22:30:00+03:00); timers keep running
|
|
109
|
+
--setup-journey REF Run this journey first (an id or a .json file) and audit the state it leaves, e.g. a chosen theme or
|
|
110
|
+
a dismissed banner; it follows the journeys safety policy and starts from --auth
|
|
77
111
|
--mask SELECTOR Extra elements to black out in screenshots (repeatable)
|
|
78
112
|
--repo PATH Map findings to likely source files in this repository (and read its brand/search context)
|
|
79
113
|
--brand SLUG Markilo brand to check design consistency against (default: master brand)
|
|
80
114
|
--ignore-robots Ignore robots.txt (only for sites you own or are authorized to test)
|
|
81
115
|
--allow-private Allow private-network hosts (10.x, 192.168.x, ...)
|
|
116
|
+
--deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
|
|
117
|
+
JOURILO_DENY_LOCAL=1 does the same. Not available with --browser webkit (exit 3). For hosted integrations; a directory target is still served
|
|
82
118
|
--no-forms Skip the form validation probe
|
|
83
119
|
(by default, on local hosts, an empty submission is simulated: nothing that sends data
|
|
84
120
|
leaves the browser, so no database is written; server-side feedback is reported as untested)
|
|
85
121
|
--allow-submit Really send empty submissions to test server-side validation, on local or other hosts
|
|
86
|
-
(disposable/test environments you are authorized to use only; never to delete/payment URLs)
|
|
122
|
+
(disposable/test environments you are authorized to use only; never to delete/payment URLs);
|
|
123
|
+
also lets a --setup-journey submit forms
|
|
87
124
|
--sarif Also write report.sarif for code scanning
|
|
88
125
|
--fail-on SEVERITY Exit 1 if a defect at or above this severity exists (CI gate)
|
|
126
|
+
--evidence MODE full (default) or minimal: keep first screens and only the full-page screenshots findings need; JPEG quality 55
|
|
127
|
+
--run-id ID Use this run id instead of a generated one (1-64 of A-Z a-z 0-9 _ -); refused (exit 2) if its
|
|
128
|
+
directory exists, even without a run.json (left by a crashed run)
|
|
129
|
+
--max-duration SECS Stop after this many seconds (1 to 86400) and write a partial run (exit 6), as SIGINT/SIGTERM do;
|
|
130
|
+
the page in progress gets up to 3 s to finish, then it is left out; a second signal quits at
|
|
131
|
+
once (exit 130) after one line on stderr (STOPPED_TWICE with --json)
|
|
89
132
|
```
|
|
90
133
|
|
|
91
134
|
### `jourilo conversion`
|
|
@@ -98,28 +141,44 @@ jourilo conversion <url|dir> [audit options]
|
|
|
98
141
|
|
|
99
142
|
```
|
|
100
143
|
Options:
|
|
101
|
-
--pages N Pages to audit after discovery (default 6; 1 = only the target)
|
|
144
|
+
--pages N Pages to audit after discovery (default 6; 1 = only the target; 0 is a usage error)
|
|
102
145
|
--depth N Link depth for discovery (default 3)
|
|
103
146
|
--url PATH Audit exactly these paths/URLs on the target origin (repeatable; skips discovery)
|
|
104
147
|
--include PATH Add pages to discovery (repeatable)
|
|
105
148
|
--viewports LIST desktop, laptop, tablet, mobile, reflow (320px) or WIDTHxHEIGHT (default desktop,mobile)
|
|
106
149
|
--browser NAME chromium (default), firefox, webkit, chrome, msedge
|
|
150
|
+
--headed Show the browser window instead of running headless
|
|
151
|
+
--locale TAG Browser locale for every page (e.g. tr-TR); sets Accept-Language and navigator.language
|
|
152
|
+
--timeout SECS Per-page navigation timeout in seconds (default 30)
|
|
107
153
|
--throttle Simulate a mid-range phone network and 4x CPU slowdown (Chromium)
|
|
108
154
|
--runs N Visits per page and viewport for lab metrics; reports the median and range (default 1, max 9)
|
|
109
155
|
--no-keyboard Skip the keyboard-only walk
|
|
110
156
|
--auth FILE Playwright storage state for authenticated pages (see docs/PRIVACY.md)
|
|
157
|
+
--timezone ZONE IANA time zone for every page (e.g. Europe/Istanbul)
|
|
158
|
+
--clock ISO Freeze the page's Date at this date-time (e.g. 2026-11-03T22:30:00+03:00); timers keep running
|
|
159
|
+
--setup-journey REF Run this journey first (an id or a .json file) and audit the state it leaves, e.g. a chosen theme or
|
|
160
|
+
a dismissed banner; it follows the journeys safety policy and starts from --auth
|
|
111
161
|
--mask SELECTOR Extra elements to black out in screenshots (repeatable)
|
|
112
162
|
--repo PATH Map findings to likely source files in this repository (and read its brand/search context)
|
|
113
163
|
--brand SLUG Markilo brand to check design consistency against (default: master brand)
|
|
114
164
|
--ignore-robots Ignore robots.txt (only for sites you own or are authorized to test)
|
|
115
165
|
--allow-private Allow private-network hosts (10.x, 192.168.x, ...)
|
|
166
|
+
--deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
|
|
167
|
+
JOURILO_DENY_LOCAL=1 does the same. Not available with --browser webkit (exit 3). For hosted integrations; a directory target is still served
|
|
116
168
|
--no-forms Skip the form validation probe
|
|
117
169
|
(by default, on local hosts, an empty submission is simulated: nothing that sends data
|
|
118
170
|
leaves the browser, so no database is written; server-side feedback is reported as untested)
|
|
119
171
|
--allow-submit Really send empty submissions to test server-side validation, on local or other hosts
|
|
120
|
-
(disposable/test environments you are authorized to use only; never to delete/payment URLs)
|
|
172
|
+
(disposable/test environments you are authorized to use only; never to delete/payment URLs);
|
|
173
|
+
also lets a --setup-journey submit forms
|
|
121
174
|
--sarif Also write report.sarif for code scanning
|
|
122
175
|
--fail-on SEVERITY Exit 1 if a defect at or above this severity exists (CI gate)
|
|
176
|
+
--evidence MODE full (default) or minimal: keep first screens and only the full-page screenshots findings need; JPEG quality 55
|
|
177
|
+
--run-id ID Use this run id instead of a generated one (1-64 of A-Z a-z 0-9 _ -); refused (exit 2) if its
|
|
178
|
+
directory exists, even without a run.json (left by a crashed run)
|
|
179
|
+
--max-duration SECS Stop after this many seconds (1 to 86400) and write a partial run (exit 6), as SIGINT/SIGTERM do;
|
|
180
|
+
the page in progress gets up to 3 s to finish, then it is left out; a second signal quits at
|
|
181
|
+
once (exit 130) after one line on stderr (STOPPED_TWICE with --json)
|
|
123
182
|
```
|
|
124
183
|
|
|
125
184
|
## Journeys
|
|
@@ -139,7 +198,19 @@ Subcommands:
|
|
|
139
198
|
validate [files] Check journey files against the schema
|
|
140
199
|
run [ids|files] Run journeys against --base <url|dir>
|
|
141
200
|
|
|
201
|
+
Suggest options:
|
|
202
|
+
--pages N Pages to read when deriving journeys from a site (default 8)
|
|
203
|
+
--force Overwrite journey files that already exist (by default existing files are kept)
|
|
204
|
+
--allow-private Allow private-network hosts (10.x, 192.168.x, ...)
|
|
205
|
+
--deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
|
|
206
|
+
JOURILO_DENY_LOCAL=1 does the same
|
|
207
|
+
|
|
142
208
|
Run options:
|
|
209
|
+
--base URL|DIR The site or static build to run against (required)
|
|
210
|
+
--browser NAME chromium (default), firefox, webkit, chrome, msedge
|
|
211
|
+
--headed Show the browser window instead of running headless
|
|
212
|
+
--timeout SECS Per-step timeout in seconds (default 10)
|
|
213
|
+
--repo PATH Map failed steps to likely source files in this repository (a directory --base implies it)
|
|
143
214
|
--viewport LIST desktop, mobile, … (default: the journey's own viewport or desktop)
|
|
144
215
|
--var key=value Test data for {{key}} placeholders (also JOURILO_VAR_KEY env vars)
|
|
145
216
|
--allow-submit Allow form submission on non-local hosts (authorized test environments only)
|
|
@@ -148,7 +219,13 @@ Run options:
|
|
|
148
219
|
--trace Record a Playwright trace per journey (contains typed values; keep private)
|
|
149
220
|
--auth FILE Playwright storage state for signed-in journeys
|
|
150
221
|
--save-auth FILE After a passing sign-in journey (exactly one), save its session for --auth (test accounts only)
|
|
222
|
+
--timezone ZONE IANA time zone for the page (e.g. Europe/Istanbul)
|
|
223
|
+
--clock ISO Freeze the page's Date at this date-time (e.g. 2026-11-03T22:30:00+03:00); timers keep running
|
|
224
|
+
--evidence MODE full (default) or minimal: keep only the screenshots of the failed step, the step before it and the last step
|
|
151
225
|
--repeat N Run each journey N times (max 10); mixed outcomes are reported as flaky
|
|
226
|
+
--allow-private Allow private-network hosts (10.x, 192.168.x, ...)
|
|
227
|
+
--deny-local Refuse local targets (localhost, 127.0.0.1, [::1], *.localhost, *.test) (exit 3); a redirect or request to one is blocked by the network guard and listed in the limitations;
|
|
228
|
+
JOURILO_DENY_LOCAL=1 does the same. Not available with --browser webkit (exit 3)
|
|
152
229
|
--fail-on-failure Exit 1 when a journey fails
|
|
153
230
|
|
|
154
231
|
Safety: payment, purchase, delete and cancel actions are never performed on non-local hosts; form submission
|
|
@@ -191,6 +268,11 @@ jourilo optimize [run=latest] --repo <path> [--rule id ...] [--apply]
|
|
|
191
268
|
Deterministic fixers (others are reported with source candidates for a person or agent to fix):
|
|
192
269
|
axe/html-has-lang, jourilo/missing-viewport-meta, jourilo/input-purpose, jourilo/focus-visible, jourilo/paste-blocked,
|
|
193
270
|
jourilo/unsized-images, jourilo/placeholder-label
|
|
271
|
+
Options:
|
|
272
|
+
--repo PATH Repository to fix (default: the run's repo, else the current directory)
|
|
273
|
+
--rule ID Only fix findings of this rule (repeatable)
|
|
274
|
+
--finding ID Only fix this finding, by fingerprint (repeatable)
|
|
275
|
+
--apply Write the changes
|
|
194
276
|
Without --apply nothing is written. With --apply, all files are written as one change: each file must be unchanged
|
|
195
277
|
since the plan, writes are atomic, an interrupted apply is undone, and `jourilo rollback <id>` restores the files
|
|
196
278
|
(git is not required).
|
|
@@ -205,6 +287,15 @@ Repeat a run with the same scope (pages, viewports) after a change and compare:
|
|
|
205
287
|
jourilo verify <baseline-run> [--target url|dir] [--fail-on-regression]
|
|
206
288
|
```
|
|
207
289
|
|
|
290
|
+
```
|
|
291
|
+
Options:
|
|
292
|
+
--target URL|DIR Where to repeat the audit (default: the baseline run's target)
|
|
293
|
+
--repo PATH Repository for source mapping (default: the baseline run's repo)
|
|
294
|
+
--deny-local Refuse a local target (localhost, 127.0.0.1, [::1], *.localhost, *.test) with exit 3; a redirect to one is blocked by the network guard and listed in the limitations;
|
|
295
|
+
JOURILO_DENY_LOCAL=1 does the same. Not available with --browser webkit (exit 3)
|
|
296
|
+
--fail-on-regression Exit 1 when new serious or critical defects appear
|
|
297
|
+
```
|
|
298
|
+
|
|
208
299
|
### `jourilo checkpoint`
|
|
209
300
|
|
|
210
301
|
Record a git checkpoint of the working tree (no commits, branches or stash entries are created).
|
|
@@ -240,6 +331,13 @@ Re-render the report for a run (html, markdown, sarif or json) — default: late
|
|
|
240
331
|
jourilo report [run-id|latest|path] [--format html|md|sarif|json] [--baseline run-id]
|
|
241
332
|
```
|
|
242
333
|
|
|
334
|
+
```
|
|
335
|
+
Options:
|
|
336
|
+
--format FMT html (default), md, sarif or json; sarif and json print to stdout
|
|
337
|
+
--baseline RUN Include a comparison with this earlier run
|
|
338
|
+
--stdout With --format md, print the Markdown instead of only writing the file
|
|
339
|
+
```
|
|
340
|
+
|
|
243
341
|
### `jourilo compare`
|
|
244
342
|
|
|
245
343
|
Compare two runs (before/after): fixed, new and persisting findings plus lab metric deltas.
|
|
@@ -261,7 +359,37 @@ jourilo runs
|
|
|
261
359
|
Add a judgment (AI inference or user input) to a run, tied to evidence in that run; never mixed with measurements.
|
|
262
360
|
|
|
263
361
|
```
|
|
264
|
-
jourilo finding add --run <id> --title … --category usability --description … --evidence screenshots/x.jpg [--by agent|user]
|
|
362
|
+
jourilo finding add --run <id> --title … --category usability --description … --evidence screenshots/x.jpg [--by agent|user] | finding dismiss <id> --run <run> --reason "<text>" [--by user|agent] | finding undismiss <id> [--run <run>]
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
```
|
|
366
|
+
Subcommands:
|
|
367
|
+
add Record a judgment tied to evidence in a run
|
|
368
|
+
dismiss <id> Mark a finding as not a problem; it is kept out of later runs and listed as dismissed
|
|
369
|
+
undismiss <id> Remove a dismissal; the next run reports the finding again
|
|
370
|
+
|
|
371
|
+
add options:
|
|
372
|
+
--run ID Run to add to (default latest)
|
|
373
|
+
--title TEXT Short title (required)
|
|
374
|
+
--category NAME accessibility, usability, responsive, performance, conversion, reliability, content or design-system (required)
|
|
375
|
+
--description TEXT What is wrong and why it matters (required)
|
|
376
|
+
--evidence FILE Screenshot or file inside the run, e.g. screenshots/home-desktop.jpg (required, repeatable)
|
|
377
|
+
--kind KIND defect, hypothesis or needs-review (default: hypothesis for conversion, else needs-review)
|
|
378
|
+
--severity LEVEL critical, serious, moderate, minor or info (default minor)
|
|
379
|
+
--confidence LEVEL low, medium or high (AI judgments are capped at medium)
|
|
380
|
+
--impact TEXT Who is affected and how
|
|
381
|
+
--recommendation TEXT What to change
|
|
382
|
+
--url URL Page the finding is about (default: the run's first page)
|
|
383
|
+
--viewport NAME Viewport the finding was seen in (e.g. desktop, mobile)
|
|
384
|
+
--by WHO agent (default) or user
|
|
385
|
+
|
|
386
|
+
dismiss options:
|
|
387
|
+
--run ID Run to apply it to now (default latest)
|
|
388
|
+
--reason TEXT Why this is not a problem (required)
|
|
389
|
+
--by WHO user (default) or agent
|
|
390
|
+
|
|
391
|
+
undismiss options:
|
|
392
|
+
--run ID Also bring the finding back into this run
|
|
265
393
|
```
|
|
266
394
|
|
|
267
395
|
## System
|