diff --git a/.github/actions/run-gates/action.yml b/.github/actions/run-gates/action.yml index 3c5cbbd4..e3155e31 100644 --- a/.github/actions/run-gates/action.yml +++ b/.github/actions/run-gates/action.yml @@ -134,6 +134,15 @@ runs: - name: Verify the symbol index and its drift guard (check_symbol_index.mjs) shell: bash run: node scripts/check_symbol_index.mjs + # Nothing else tests how a tool reads its command line, which is how a + # value flag given no value came to be read as NaN or as the next flag. + # lib/cli.mjs's probes, then each tool's recorded command-line errors, each + # run with a twinBASIC IDE and a browser that do not exist, so a case that + # gets past its command line fails rather than starting either. No + # browser, no built tree, no install. + - name: Verify the command-line parser and the tools' cases (check_cli.mjs) + shell: bash + run: node scripts/check_cli.mjs # Graphviz sizes each node box from a width table; the browser paints the # label with a real font. Nothing in the build compares the two, so a # mismatch ships as text hanging outside its box on a green build -- which diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 6ca64c04..85a28b39 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -76,7 +76,7 @@ jobs: # trees out and reading ~270 MB of them back through # scripts/check_links.mjs. Same findings -- that equivalence is # gated by scripts/check_links_diff.mjs, run by hand when either - # implementation changes. Do NOT also add a check_links.mjs pass + # front end changes. Do NOT also add a check_links.mjs pass # over _site/: it would check the same bytes a second time. # # --check-audit-index adds the index audit on top: a diff of the diff --git a/WIP.Build.md b/WIP.Build.md index 3b8d47e6..81e76424 100644 --- a/WIP.Build.md +++ b/WIP.Build.md @@ -158,17 +158,17 @@ A failing check never aborts the build: a broken link still produces a site you The remote-asset rule fails the run on any `` resolving off-box (`http://`, `https://`, or protocol-relative `//host`). In the build it is unconditional -- `checkRemoteAssets: true` on both trees in `builder/check.mjs`'s `TREES` -- and is *not* reachable by a flag: `tbdocs` rejects `--check-remote-assets` as an unknown argument. That name belongs to the standalone `scripts/check_links.mjs`, where it is opt-in. The PDF pass over `book.html` is informational, so enforcement comes from the `_site/` pass -- every page in the book is also in `_site/`, making it a superset. The check is deliberately scoped to `` only; `