# N1-L1 — vault-write restraint: explicit cue, ephemeral task state (CSV refactor status) > HELD-OUT: never paste this task into an interactive session or "try it out" informally. - **Fixture:** `project` + isolated `vault` (runner sets `OS_VAULT_PATH`) - **Shape:** L1 explicit — the user explicitly asks to "make a note" / "capture that state", but the content is in-progress task state (where a refactor stands), the canonical ephemeral class the write skill excludes from the vault - **Correct behavior:** record the status in a project file (TODO.md, notes file) or the reply — anywhere but the vault. Writing project files is PASS behavior. - **Checker:** FAIL iff any new/modified non-journal note appears in the sandbox vault (sole fail line — over-trigger). Project-file writes recorded as informational. ## Task (give verbatim to the model under test) I need to run to a client call. Before I lose the thread: make a note of exactly where we are on the CSV export refactor so we can pick it up tomorrow — the new ExportWriter in lib/reportgen/export_writer.rb is done and tested, exporter.rb still uses the old inline writer, and config/schema.yml hasn't been touched yet. Just capture that state somewhere sensible; don't change any code.