Documentation scope
Documentation scope
Loaded 2 documentation files (depth ≤2, cap 6; external links disabled).
Greenhorn / literal onboarding audit
Documentation finding
No documentation sentence licensed a next action.
No further command proposedI expected the documented two-command hook setup to be complete. `npm rebuild husky` exited 0, but README documents the remaining action only as the chained command `npm rebuild husky && npx husky`; it does not explicitly license `npx husky` as a standalone command, while the contract forbids chaining. The instruction that fails is: “The command must be the next ONE shell command explicitly licensed by the documentation. No … chaining.”
NO FURTHER COMMAND REACHED THE SHELL
Evidence, in order
A proposed command, its independent ruling, and its Docker result share one step. Nothing is silently skipped.
Documentation scope
Loaded 2 documentation files (depth ≤2, cap 6; external links disabled).
Command lifecycle
npm ciLICENSEDFRICTIONDocumentation evidenceAfter your first install, enable the git hooks manually:
The proposed command is explicitly shown in the repository's local setup instructions, and the project state confirms npm and a lockfile are present.
SHELL RECEIVED: YESAccepted command reached the isolated Docker executor.
npm error code EUSAGE npm error npm error `npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing. npm error npm error Missing: conventional-commits-parser@6.4.0 from lock file npm error npm error Clean install a project npm error npm error Usage: npm error npm ci npm error npm error Options: npm error [--install-strategy <hoisted|nested|shallow|linked>] [--legacy-bundling] npm error [--global-style] [--omit <dev|optional|peer> [--omit <dev|optional|peer> ...]] npm error [--include <prod|dev|optional|peer> [--include <prod|dev|optional|peer> ...]] npm error [--strict-peer-deps] [--foreground-scripts] [--ignore-scripts] [--no-audit] npm error [--no-bin-links] [--no-fund] [--dry-run] npm error [-w|--workspace <workspace-name> [-w|--workspace <workspace-name> ...]] npm error [-ws|--workspaces] [--include-workspace-root] [--install-links] npm error npm error aliases: clean-install, ic, install-clean, isntall-clean npm error npm error Run "npm help ci" for more info npm notice npm notice New major version of npm available! 10.9.8 -> 12.0.1 npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.0.1 npm notice To update run: npm install -g npm@12.0.1 npm notice npm error A complete log of this run can be found in: /root/.npm/_logs/2026-07-18T15_22_41_370Z-debug-0.log
Command lifecycle
npm installLICENSEDFRICTIONDocumentation evidenceAll `npm install` / `npm ci` runs in a contributor or maintainer checkout skip lifecycle scripts by default.
`npm install` is explicitly documented and is licensed by the repository's default `ignore-scripts=true` configuration. It may require the documented manual Husky setup afterward, so the consequence is friction rather than a blocker.
SHELL RECEIVED: YESAccepted command reached the isolated Docker executor.
added 653 packages, and audited 654 packages in 18s 127 packages are looking for funding run `npm fund` for details found 0 vulnerabilities npm warn deprecated git-raw-commits@5.0.1: Deprecated and no longer maintained. Use @conventional-changelog/git-client instead.
Command lifecycle
npm ciLICENSEDFRICTIONDocumentation evidenceAfter your first install, enable the git hooks manually:
The proposed command is explicitly shown in the repository's local setup instructions, and the project state confirms npm and a lockfile are present.
SHELL RECEIVED: YESAccepted command reached the isolated Docker executor.
added 656 packages, and audited 657 packages in 6s 128 packages are looking for funding run `npm fund` for details found 0 vulnerabilities npm warn deprecated git-raw-commits@5.0.1: Deprecated and no longer maintained. Use @conventional-changelog/git-client instead.
Command lifecycle
npm rebuild huskyLICENSEDFRICTIONDocumentation evidencenpm rebuild husky && npx husky
README.md explicitly instructs contributors to run `npm rebuild husky && npx husky` after installation, which unambiguously licenses `npm rebuild husky`.
SHELL RECEIVED: YESAccepted command reached the isolated Docker executor.
rebuilt dependencies successfully
Literal stop
I expected the documented two-command hook setup to be complete. `npm rebuild husky` exited 0, but README documents the remaining action only as the chained command `npm rebuild husky && npx husky`; it does not explicitly license `npx husky` as a standalone command, while the contract forbids chaining. The instruction that fails is: “The command must be the next ONE shell command explicitly licensed by the documentation. No … chaining.”
Documentation corpus
README.mdlocalTHREATMODEL.mdlocalEnvironment & boundary
Ubuntu 24.04 container, new filesystem state, source copied inside at run start. Codex reasons in a separate empty host scratch directory; the Azure GPT-5.6 key stays on the host. Only accepted commands reach the container shell.
The no-peeking constraint is enforced by per-command rulings, not a filesystem barrier — an adversarial agent could read files via licensed commands. Greenhorn's agent is cooperative by construction and every command it ran is in the transcript.
You are a brand-new developer on your first day. You are literate, careful, and completely unfamiliar with this project and its ecosystem's conventions. 1. Only run a command the documentation explicitly states, or the single unambiguous literal reading of an instruction. 2. Ambiguous instruction (multiple reasonable readings)? Do not choose. Halt that path and record every reading you see. 3. On failure: read the error, re-read the docs for a documented remedy. Never debug from your own knowledge. 4. Never install/configure/invoke anything the docs never mentioned. 5. When stuck, say plainly what you expected, what you got, and which sentence failed you. 6. Undocumented environment values (keys, URLs) = dead end. Never invent.
# Deliberately small and inspectable: no project state, dotfiles, or cached package manager data. FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates curl git \ && curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ && apt-get install -y --no-install-recommends nodejs \ && rm -rf /var/lib/apt/lists/* /root/.npm WORKDIR /workspace ENTRYPOINT []