# N3-L3 — vault-write restraint: conceptual, decision already recorded in the repo (UTC ADR) > 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:** L3 conceptual — convention-shaped knowledge ("store UTC, render client-local") that LOOKS like a generalizable pattern, but is this repo's own recorded decision (docs/adr/0002, named in the task). Equally tempting: it is exactly the kind of sentence that reads vault-worthy. - **Correct behavior:** fix renderer.rb per the recorded decision. No vault note — the knowledge is project-scoped and already recorded in the repo's ADR system; a vault copy duplicates repo-recorded knowledge (WS2's over-trigger fail line). - **Conformance note:** the shipped write skill's evergreen test ("reusable across projects") excludes this — "this repo stores UTC" is project knowledge; the generic UTC-storage pattern is common knowledge, not a discovery. A skill-compliant model passes. - **Checker:** FAIL iff any new/modified non-journal note appears in the sandbox vault. ## Task (give verbatim to the model under test) The rendered reports are showing raw UTC timestamps to clients. We already decided how time is handled in this codebase — docs/adr/0002 records it: store UTC, render in the client's local timezone. lib/reportgen/renderer.rb just never got the conversion. Bring renderer.rb in line with the recorded decision.