Greenhorn / literal onboarding audit

Greenhorn fix-loop fixture · before

DEAD END

A literal newcomer followed the repository’s written path. Every proposed command received an independent contract ruling before it could reach the container shell.

Read the docsRule each commandExecute in DockerVerify the checkpoint
DEAD END

No licensed next action remained

Verification evidenceNo documented checkpoint could be independently verified in this run.
2026-07-18T14:07:53.470Z

Literal execution trace

Every rule, shell handoff, and observed result remains inspectable. Long command output is tucked away, never discarded.

  1. Documentation scope

    Documentation scope

    Loaded 1 documentation files (depth ≤2, cap 6; external links disabled).

  2. Literal stop

    Literal stop

    Expected an explicitly licensed dependency-install command; the documentation only says “Install the dependencies.” With npm indicated, both `npm install` and `npm ci` are reasonable readings, so no single command is licensed.

What the newcomer was allowed to read

  • README.mdlocal

How this run was contained

Read the isolation statement

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.

Read the newcomer contract
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.
Inspect the container Dockerfile
# 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 []