# Row 217 round 2 — verified for review Issue #1718, C2-06. Base e0c6142f3; branch beakley/row217-r2. Continued Launchpad e25ef0373 through the preserved original dde5b8496 branch. Range-diff, conflict resolutions and acceptance receipts are in BUILD.md. Tested source revision: 2d274a5b6; the final commits add records/evidence only. The broker checks agent-to-human citations before insertion, stores trusted scope/agent/file evidence atomically with the message, and supplies per-path last on thread reads. It keeps session-local fetched pages and reads reply settings live through the M11 human-only writer. The runner preserves cited JSON, defers notes on fixed replies, and retries once with the refusal code and safe reason. E4 adds citation-unavailable for mirror/state/lock faults; uncited/web-only/fixed bodies do not need the mirror lock. Supporting scope uses landed row283 code. ## Product and test scope The package paths listed in candidate-manifest.sha256 are exactly this row's base-to-candidate changes. Fourteen product paths cover library guard/limits/ protocol/exports; business validation/writer; bus broker/runtime/server/client; CLI command/README; runner; and the single approved pure-protocol sandbox mount. Nine test/helper/fixture paths are additions. No existing test is modified. The mounted protocol stays import-free. Runtime retains the landed grant/query/ sync behavior; the writer retains beforeWrite/revoked handling and fences before revocation. No SQL schema, event kind, role authority or credential change. ## Executed evidence | Whole suite | Pass | Fail / skip / cancel | | --- | ---: | --- | | library | 142 | 0 / 0 / 0 | | business | 270 | 0 / 0 / 0 | | bus | 974 | 0 / 0 / 0 | | cli | 988 | 0 / 0 / 0 | | harness | 172 | 0 / 0 / 0 | | seat | 218 | 0 / 0 / 0 | Touched files 57/57; total whole suites 2,764. First run was 56/57 due solely to a new runtime fixture missing the broker's resolved authority shape. Only that new fixture changed; single and full touched reruns passed. No old test failed. First-red evidence remains in run-r2/touched-first.log. M1–M5 killed: missing M11 fences, incoming-human trust, split check transaction, dropped client reason, and hidden library availability. Every negative run has green control/restored runs and matching restored product certificates. M5 is also the authorized E4 pre-fix RED stand-in. Supporting canon refusal, stored supporting/agent evidence, the C2-05a index comparison, runtime raw settings and agent-visible E4 retry reason all pass. The unchanged sandbox closure test passes. Commands ran serially under Sage CLEAR with short TMPDIR and timeout -k 10. Root/webui dependencies came from local npm ci, never canonical links. Full logs, summary.json and mutant certificates are in run-r2/. The complete changed-file manifest candidate-manifest.sha256 covers e0c6142f3..candidate, excluding itself; its SHA256 is supplied with the pushed tip. Historical manifests stay untouched. ## Remaining boundaries Sage runs every scripts/test-*.sh at landing and posts the formal Webby review request. No merge/deployment performed. First-library selection remains the accepted limitation; configuration faults share the safe unavailable reason (Webby N1, nonblocking). Obsolete-name search hits only row225's render files.