// allow-test-rule: source-text-is-the-product (see #3300) // The workflow markdown IS the installed orchestration contract; these rows // extract the real shipped bash and execute it, never a hand-copied duplicate. 'use strict'; /** * #3300 — the `if ls ` guards for the optional CONTEXT/RESEARCH sections * of review.md's build_prompt block are defeated by the block's own nullglob * shim (#2962): an unmatched glob expands to nothing, so `ls` runs with zero * operands (lists the working directory, exits 0 — guard unconditionally true) * and `cat` runs with zero operands and reads STDIN: a 0-byte section file at * EOF, an indefinite hang on an open pipe. * * Behavioral seam: extract the REAL fenced build_prompt block from * gsd-core/workflows/review.md (+ its steps/ fragments, via readWorkflowCombined), * fill the `{run_dir}` placeholder exactly as the workflow host does, and run the * whole block in a temp PHASE_DIR/RUN_DIR under bash and — when present — zsh, * the two dialects the block's own `shopt -s nullglob; setopt NULL_GLOB` shim * targets. Rows: * 1-2 absent sources -> NO output file created at all (not even 0-byte) * 3-6 present sources -> exact bytes, all matches concatenated in glob order * 7-8 open, never-closed stdin pipe -> block completes within a short bound * 9 structural: no `if ls` guard survives in any review.md bash fence, and * the #2962 nullglob shim itself is still present (out-of-scope guard). * * Script transport is temp-FILE based, never `bash -c