fix(make-pdf): --strict and --confidential join BOOLEAN_FLAGS; the guard test derives the set from source

Both flags are read as '=== true' booleans but were missing from
BOOLEAN_FLAGS, so 'generate --strict essay.md' still ate essay.md as the
flag's value — the exact #2514 failure the set exists to prevent. The
completeness guard hardcoded six names and could not catch it; it now
derives every boolean read from cli.ts itself (direct reads plus
booleanFlag pairs), so the next boolean flag fails the suite until it
joins the set.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-08-16 13:36:06 -07:00
co-authored by Claude Fable 5
parent 6430197131
commit f8087829eb
2 changed files with 37 additions and 6 deletions
+2 -2
View File
@@ -28,9 +28,9 @@ interface ParsedArgs {
* `essay.md` as --toc's value and failed with "missing input".
*/
export const BOOLEAN_FLAGS = new Set([
"cover", "toc", "no-chapter-breaks", "no-confidential",
"cover", "toc", "no-chapter-breaks", "confidential", "no-confidential",
"page-numbers", "no-page-numbers", "tagged", "no-tagged",
"outline", "no-outline", "quiet", "verbose", "allow-network",
"outline", "no-outline", "quiet", "verbose", "allow-network", "strict",
]);
export function parseArgs(argv: string[]): ParsedArgs {