/recycle-after-deploy
After a change set reaches a running mesh, find what still serves the OLD state and clear it with ONE recycle of the main bit — never a pin
- Instructions: You have merged (or synced, or rolled) a change and want to know it is **live**. This skill is the last step of every change set — [/pull-request](@/Skill/pull-request) hands over here — and it is the answer to the stale state that used to make people pin an installation to a build. **Pins are forbidden** (Systemorph/Memex `AGENTS.md`, *NO PINS*; enforced by `scripts/check-no-pins.py`). Recycle instead. # Why anything is stale at all A per-node hub — on Orleans, a grain activation — binds its NodeType and its compiled assembly ONCE while activating and is then pinned by address: nothing re-reads it while it lives. Everything a portal absorbs while it keeps running — a merge that syncs in (hop A), a NodeType recompiled in place (hop B), a package updated — changes what the NEXT activation would load and reaches a live one through nothing at all. It goes on answering from what it holds, with no error and no log line. "Merged" is not "live"; "compiled Ok" is not "live" either. Full account: [Hub Disposal Model](@/Doc/Architecture/HubDisposalModel) → *A recycle of the main bit takes its dependency network with it*. ## 🚨 What a recycle can reach — and the one thing it CANNOT A dispose makes the next activation RE-READ **the mesh**. So it reaches everything the mesh holds, and nothing outside it: | What changed | Does a recycle pick it up? | |---|---| | A NodeType's `Source/` (or a `shared=@…` source), recompiled in place | **Yes** — this is the case the skill is for. | | **Node CONTENT delivered by a GitSync or a bake** — a layout area's markdown, an agent, a skill, a seeded record | **Yes, and it is easy to miss**: no type recompiled, nothing logged *"Recompiling…"*, and every hub already holding that content keeps serving the old text. Inventory these too. | | A compiled **MODULE assembly** (`src/`, a module bundle, the portal image) | **NO.** The store modules are pinned at PROCESS start — a recycle re-reads the mesh, not the process. It needs a roll or a restar…
- Auto mount: no
- Launches sub thread: no