Documentation navigation

Stateful wizard: create-vite with a file oracle#

Goal: create-vite 9.2.1 creates one Vanilla JavaScript project named playtestr-recipe, while dependency installation and server startup remain declined. The retained npm tarball SHA-256 is in the corpus manifest .

Setup and pass#

Obtain and verify the exact tarball first. Install it without lifecycle scripts into the ignored recipe root, then create an empty owned working directory:

$root = '.trial-private\recipes\create-vite'
New-Item -ItemType Directory -Force "$root\runtime", "$root\work" | Out-Null
npm install --ignore-scripts --no-audit --no-fund --cache "$root\npm-cache" --prefix "$root\runtime" <verified-create-vite-9.2.1.tgz>
go run ./cmd/playtestr test examples/recipes/stateful-wizard.json
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/recipes/check-create-vite.ps1 -Root "$root\work\playtestr-recipe" -ExpectedName playtestr-recipe

The spec waits after each prompt-changing input. The independent oracle parses the package, requires the selected template files, and rejects an unexpected project node_modules; the final screen alone cannot prove the scaffold.

Intentional failure and recovery#

Run the same successful screen flow, then prove the harness rejects the wrong state expectation before returning to the reviewed expectation:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/recipes/check-create-vite.ps1 -Root "$root\work\playtestr-recipe" -ExpectedName wrong-name
powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/recipes/check-create-vite.ps1 -Root "$root\work\playtestr-recipe" -ExpectedName playtestr-recipe

The first oracle must fail. Historical pilot evidence additionally removes the selected template and observes the intended readiness failure before restoring the pinned package.

Cleanup: resolve the exact $root\work\playtestr-recipe path, confirm it is below the owned recipe root, then remove that project. Do not point this recipe at an existing application directory.