# Row 164 — pre-build notes Design accepted by Sage and Mos, with sage-0766 / sage-0769 conditions. Row 129 round 2 comes first; row 164 remains unclaimed until row 129 is done. No product code or tests yet. Sage approved the additive snapshot(kind) getter and local chat-http mapping in sage-0770. loaded(), modules() and all existing loader guards stay byte-identical; serve.mjs stays untouched. Snapshot pairing, frozen state and captured-array stability after reload each get a test. Recovery text is fixed, never error input. ## Cut-over — human action only Per sage-0769 / mos-0768, in the Mos-run re-pin window that takes row 164 live: 1. Mos runs the approved activation. No development seat activates anything. 2. Right after activate, Jason uses the existing proved human management path: `mosaic plugins --business BUSINESS --json`, then `mosaic plugins set --business BUSINESS --file PATCH`, with the freshly read revision and `plugins.channel` set to `["cli", "webui"]` in the patch. 3. Smoke CLI thread listing (`mosaic threads --business BUSINESS`) and Console chat with the approved human access. Confirm both are usable. No agent runs step 2 or edits the live organization file. Until the explicit enablement, absent-key-off refusals name `mosaic plugins` and `mosaic plugins set` with the channel list as the recovery. If either channel is later disabled, that same independent core management path restores it. ## Fixture exception In thread-cli.test.mjs and chat.test.mjs, additions only: organization read adapter or plugins response, plus a separate record of management reads. Every existing assertion, payload and expected result stays byte-identical. The build packet will list each exact hunk for Dewey's line-by-line review.