The verbatim-retrieval rule -- "for irreversible / one-shot / secret steps, retrieve the exact prior working command verbatim, never improvise" (the DOCFIX-006 vault-init loss is the cautionary tale) -- is only as strong as the artifact it retrieves from. Until now "the as-executed log" was a habit with no defined location, format, or retention. This defines it.
WHERE: jumphost, ~/as-executed/<UTC date>-<label>.log (dir 0700, files 0600). NEVER in the repo: sessions are secret-adjacent (tokens print, paths leak, hidden-prompt secrets do NOT echo but everything around them does).
HOW: start every consequential session (any RUN/CAUTION work) with bash scripts/run-logged.sh <label> -- it opens a logged subshell via script(1); exit to close. Labels: phase-NN-<topic> for deploy work, ops-<topic> for operations, incident-<date>-<topic> for incidents.
CLAUDE CODE LANE (operator-ruled 2026-07-06, DOCFIX-097): the interactive subshell does not map to the harness's one-shot shells. The sanctioned adaptation is a per-command wrap to the SAME log file: script -aqe ~/as-executed/<UTC date>-<label>.log -c '<command>' (create dir/file first under umask 077). Same location, perms, and verbatim capture; every live-window command runs wrapped; the index entry rule is unchanged.
INDEX (this IS committed): logs/as-executed-index.md -- one line per session: date, label, operator, one-phrase scope. No content, no hostnames beyond the jumphost, no secrets. The index is what makes a two-year-old one-shot command findable by a Roosevelt operator who knows only "vault was initialized around June 2026".
RETENTION: keep indefinitely on the jumphost; include ~/as-executed in the jumphost backup set. A log that would age out is exactly the one the verbatim rule will someday need.
WHAT STILL GOES IN RUNBOOKS: the PROCEDURE. Logs capture what actually ran (with its warts); runbooks capture what SHOULD run. When they diverge, that divergence is a DOCFIX.