You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 3770719
Browse filesBrowse the repository at this point in the historyBrowse files
fix(cli): refuse missing validator flag values by name
Fixes#288
what changed: path-authority and researcher-release now check value tokens before their handwritten parsers consume them. Missing, empty or next-flag tokens produce a named usage error on stderr with exit 2, before path resolution or input reading. Added a regression table in each CLI's existing validator test file for --file, --schema and --root at the end of the command or before --json.
why: A bare --file reached path.resolve(undefined), surfacing a Node internal message or stack trace and, for researcher-release, exit 1 instead of a usage refusal (#288). Apply the existing usage-error boundary; no alternative design was set aside.
what it touched: the two validator CLI parsers, path-authority/release-validator tests, their architecture descriptions, changelog and README test inventory. Repeated --file values remain supported; validation statuses and their exit-code mapping are unchanged.
what you verified: verified - red-first 38 passed and two expected failures, reproducing the path-authority JSON-READ/paths[0] message and researcher-release TypeError/exit 1. Then path-authority, release-validator and support-policy passed 40 tests with zero failures in 210.9 seconds, including named exit-2 refusals and normal CLI conformance/validation. Architecture-map passed 21 tests; handoff OK (33 ledger entries, 27 evidence rows), preflight PASS (28 passing, one warning, no blockers), doctor READY collector/firecrawl-cli. After refresh onto merged main 82a02cb, the same 40 focused tests passed with zero failures and zero unsupported cases in 14.5 seconds. The patch was then advanced to main 194bcfb after PR411 landed; staged code/test blobs match the focused-tested source, while shared documentation includes that fix and the 1,838-test inventory. The normal full commit gate runs before acceptance; GitHub CI must verify the published head before merge.
what you got wrong and fixed: nothing to report.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,8 @@ Each release of Research-Kit, newest first. The version is `KIT_VERSION` in
5
5
6
6
## Unreleased
7
7
8
+
-`path-authority` and `researcher-release` name a value flag with no value and print usage with exit 2 before resolving paths, including when another flag follows (#288).
9
+
8
10
-`property-replay --all` refuses a missing regression directory with exit 2 and
9
11
names it; an existing empty directory explicitly reports no captured regressions.
10
12
JSON results identify the directory and zero count (#307).
and a **usage error exits 2 from every subcommand**, printing the usage block to stderr;
289
+
its argument parser names a value flag without a value before resolving any path,
290
+
including when the next token is another flag;
288
291
`test/support-policy.test.mjs` pins that by running the CLI. It writes exactly one thing,
289
292
only when asked: `fi-validate --report <file>`),
290
293
`selftest.mjs` (every requested group must match a test file before any test starts; an unmatched group is named and refused with exit 2, including beside a valid group; #332. CLI regressions isolate child report paths from the parent suite; the whole suite, queued by the harness — which **awaits** every test,
0 commit comments