# Lend the mower The journey from [Good Fences Make Good Agents](../../../a2030.md): I lend my neighbor a governed mower; the neighbor's tenant, a little tipsy, pushes it until the fence stops it. The design decisions behind each actor are in that doc's Design IBIS (numbers in parentheses below). Actors, by authority: - **fence page**, **js playground**, **governed mower**, and **yard** run in my browser (3a, 8b, 6b). - **Mower factory** trades a webkey for a mower (3b-ii); each **mower DO** is given the yard and cuts the cells it enters (6a, 6d). - The **neighbor's harness** holds the things I send and shows the **model** only their `about` (1b, 2a); it runs the model's code as a **tenant**, endowed with the things (2c, 5a). The yard is 8×8 here and the fence is 2 cells, to keep the diagram short (the story's 10 cells is 6c). The mower starts at (4, 4), facing north. ## Lend a governed mower to a tipsy tenant ```mermaid sequenceDiagram %% ->> is my action at the fence page; -->> is a call or reply it causes. participant F as fence page participant MF as Mower factory participant P as js playground participant G as governed mower participant M as mower DO participant Y as yard participant N as neighbor's harness participant L as model participant TL as tenant loader participant T as tenant F->>F: lend({ webkey: 'mower-key', limit: 2, say }) F-->>MF: mower('mower-key') MF-->>F: mower F-->>P: govern(mower, 2) P-->>F: governed F-->>N: chat({ role, content, things: { mower }, about: { mower } }) N-->>L: complete([{ role, content, about: { mower } }]) L-->>N: code N-->>TL: load(code, { mower }) TL-->>N: tenant N-->>T: run() T-->>G: start() G-->>M: start() M-->>Y: cut(4, 4) T-->>G: push() G-->>M: push() M-->>Y: cut(4, 3) T-->>G: push() G-->>M: push() M-->>Y: cut(4, 2) T-->>G: push() G-->>T: throws 'fence: 2 cells from start' T-->>N: 'fence: 2 cells from start' N-->>F: 'fence: 2 cells from start' ``` The model never sees the mower itself, only `about.mower`. The third `push()` never reaches the mower DO: the governor refuses it (7b).