inspector/scripts/lib
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall 8b02329703 chore(scripts): walk the workflow schema's executable paths, and resolve aliases (#2146)
Copilot, fourth review — four findings, all real:

- Matching pairs by KEY NAME anywhere in the tree scanned things that execute
  nothing. Workflow input ids are user-defined, so an input legitimately named
  `env` put its own description and default in front of the rules — failing
  the gate on documentation OF the gate. The walk is structural now: workflow
  `env`, job `env`/`with`, step `run`/`env`/`with`, and nothing else.

- YAML aliases were read as scalars, which have no `.value` on an alias node —
  so `run: *command`, with the command anchored in a metadata scalar the walk
  never visits, invoked anything at all while the guard saw an empty string.
  Aliases are resolved, and reported at the line where they are USED.

- `file` was accepted for diagnostics and then not forwarded, so a malformed
  real workflow was reported as `<workflow>`.

- One negative fixture was a YAML comment, which the parser strips — so it
  asserted nothing. Inside a `run:` block the comment text really does survive
  into the scalar, so the "a comment invokes nothing" rule is now applied
  there, where it actually has to be, and the fixture is a real block scalar.

The table's fixtures are schema-valid workflows now rather than bare `- run:`
fragments, which a structural walk correctly cannot see.

Signed-off-by: Cliff Hall <cliff@futurescale.com>
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-27 01:07:57 -04:00
..
announced-child.mjs chore(scripts): rename the local pre-push gate off ci, and guard it out of CI (#2146) 2026-08-26 23:56:34 -04:00
announced-child.test.mjs chore(scripts): rename the local pre-push gate off ci, and guard it out of CI (#2146) 2026-08-26 23:56:34 -04:00
child-cleanup.mjs fix(scripts): await the pack:verify web child's exit before removing its work dir (#1895) 2026-08-01 19:50:00 -04:00
child-cleanup.test.mjs fix(scripts): await the pack:verify web child's exit before removing its work dir (#1895) 2026-08-01 19:50:00 -04:00
deep-link-connect.mjs chore(web): connected-flow smoke for the Tools, Resources and Prompts tabs 2026-08-26 23:09:44 -04:00
deep-link-connect.test.mjs chore(web): connected-flow smoke for the Tools, Resources and Prompts tabs 2026-08-26 23:09:44 -04:00
ensure-test-servers.mjs docs(scripts): correct the deleted-source caveat — it is silent, not loud 2026-08-25 01:37:40 -04:00
ensure-test-servers.test.mjs fix(scripts): pin the tsbuildinfo inside build/, assert on cache hits 2026-08-25 01:11:10 -04:00
headless-browser.mjs fix(smoke): assert the requested engine is the one launched; fix the remedy 2026-08-26 09:33:21 -04:00
headless-browser.test.mjs fix(smoke): assert the requested engine is the one launched; fix the remedy 2026-08-26 09:33:21 -04:00
mcp-app-flow.mjs chore(web): connected-flow smoke for the Tools, Resources and Prompts tabs 2026-08-26 23:09:44 -04:00
mcp-app-flow.test.mjs Merge branch 'v2/main' into v2/chore/2003-pack-verify-app-render 2026-08-24 09:05:53 -04:00
npm-scripts.mjs test(cli,tui): typecheck the __tests__ dirs (#1791) (#1799) 2026-07-27 12:05:35 -04:00
npm-scripts.test.mjs test(cli,tui): typecheck the __tests__ dirs (#1791) (#1799) 2026-07-27 12:05:35 -04:00
prod-web-server.mjs test(smoke): cover loadBrowser's failure branches; fix a stale helper comment 2026-08-25 22:42:06 -04:00
prod-web-server.test.mjs fix(smoke): pin the teardown ordering, and correct a docblock the test refuted 2026-08-11 15:17:56 -04:00
pty.mjs fix(scripts): address Copilot review round 2 on #2147 2026-08-26 21:36:40 -04:00
pty.test.mjs fix(scripts): address Copilot review round 2 on #2147 2026-08-26 21:36:40 -04:00
render-smoke.mjs fix(scripts): make the test stubs drain, and the raw-mode guard testable (#2147) 2026-08-26 22:13:35 -04:00
render-smoke.test.mjs fix(scripts): make the test stubs drain, and the raw-mode guard testable (#2147) 2026-08-26 22:13:35 -04:00
resolve-node-bin.mjs fix(scripts): keep the resolver local, complete the cmd.exe quoting 2026-08-17 00:18:40 -04:00
resolve-node-bin.test.mjs fix(scripts): keep the resolver local, complete the cmd.exe quoting 2026-08-17 00:18:40 -04:00
tsc-program.mjs fix(scripts): validate the bin name and that its file exists 2026-08-16 23:43:24 -04:00
tsc-program.test.mjs chore(scripts): compare only the copies a program actually met 2026-08-16 12:35:38 -04:00
win-shell-args.mjs fix(scripts): keep the resolver local, complete the cmd.exe quoting 2026-08-17 00:18:40 -04:00
win-shell-args.test.mjs fix(scripts): keep the resolver local, complete the cmd.exe quoting 2026-08-17 00:18:40 -04:00
workflow-gate.mjs chore(scripts): walk the workflow schema's executable paths, and resolve aliases (#2146) 2026-08-27 01:07:57 -04:00
workflow-gate.test.mjs chore(scripts): walk the workflow schema's executable paths, and resolve aliases (#2146) 2026-08-27 01:07:57 -04:00