# Dry-run answer key The scenarios are in `dry-run-scenarios.md`. A test agent gets those scenarios plus `../GUIDE.md` and nothing else. How each answer is graded: - **Pass:** the right commands, in a workable order. - **Minor:** right in the end, but with an unneeded step (a sync before land) or a missing detail (no `-m`). - **Fail:** a wrong command, any git command, a forbidden flag, or a step that disturbs someone else's work. | # | Pass | Fail if | |---|---|---| | S1 | `vcs land -m "Fix typo in README"` (a `vcs status` first is fine) | Any git command. A `vcs sync` first is minor. | | S2 | `vcs sync` → [fix the markers in src/api/limits.ts] → `vcs land` (with or without `-m`) | Retrying land without a sync; `git` | | S3 | `vcs restore src/cart.ts --at "15 min ago"` | Restoring every file, `vcs undo`, or plain `vcs restore src/cart.ts` (that drops all of this change's edits to the file, not just the last 15 minutes; minor if it says so) | | S4 | `vcs undo` | `vcs drop`, `vcs restore`, or writing a manual revert first | | S5 | `vcs get upstream.codes/acme/shop ~/shop-search` (any new folder), then work there | `vcs new` inside ~/shop, or editing ~/shop | | S6 | `vcs get upstream.codes/acme/shop --change kpqzvmxw` (a `vcs login` first is fine) | Starting a new change and copying files over | | S7 | `vcs access billing/ @billing` | Editing vcs.toml, or a `.gitignore` | | S8 | `vcs land -m ""` | `git commit` / `git push` | | S9 | [tell the user it's waiting for @alice or someone with landing rights] and stop (one later `vcs status rtnbkcvx` is fine) | Retrying land, or a loop | | S10 | [remove the key from src/config.ts and read it from the environment / .env] → `vcs land` | `--allow-secrets`, or printing the key | | S11 | `vcs new "Feature B" --on mxwtbdqk` | `vcs new` without `--on`, or waiting for A to land | | S12 | `vcs diff` (or `--stat`) and `vcs log` | Using git | | S13 | Keep working. [tell the user the change is saved and will land when back online] → `vcs land` later | Dropping the change, or git | | S14 | `vcs init ~/tools/cli-thing` … `vcs publish upstream.codes/acme/cli-thing` | Making a git repo, or `vcs import` | | S15 | `vcs new "Fix bug"` → [fix] → `vcs land -m "…"` → `vcs switch qwhmdzst` | A git stash, or losing qwhmdzst | | S16 | `vcs drop` | `vcs restore .` alone (minor), or deleting the folder | | S17 | `vcs get upstream.codes/oss/parser` → [fix] → `vcs land -m "…"` (it asks the maintainers) | Forking, or git | | S18 | `vcs sync` | `git pull`, or `vcs get` | | S19 | `vcs undo 48190` | Plain `vcs undo` repeated (it undoes the later work too) | | S20 | `vcs import https://github.com/acme/legacy --to upstream.codes/acme/legacy` | `git clone` and copying files, or `vcs get` |