Lawn examples must match the current observation
The first free conversation about any planted lawn previously included three sample situations: a battered Wall-nut, a cleared wave, and fog hiding distant rows. This happened even on a fog lawn containing only a healthy Plantern and visible enemies. The fog example also treated rows as near/far positions, contradicting the actual coordinate convention. Ongoing conversations already omit examples; the defect concerns the initial expanded lorebook.
The candidate selects the existing Wall-nut example only for a living specimen below one-third health. The quiet-wave example requires the actual wave-clear trigger and receipt, a playing unobscured lawn, and zero observed enemies. It omits the invalid fog example. The character, relationship stages, FunnyPvZ voice and lore directions remain unchanged. There is no new reward, pause, story branch or generated fallback line.
Four regressions cover EN/ZH/ES, the actual assembled system message, invalid premises and isolation between successive players. The first three fail on the public predecessor. All 528 NPC checks, hosted build/typecheck and OSS verification pass. Logs are under output/lawn-lore-*.
Generated-writing result
Eight single-attempt replies used two existing models, English/Chinese input, and captured near-house, partial-fog and Blover-cleared observations. Only the public fogClearCells contract was supplied; the unreleased density field was removed. Synthetic identities and isolated providers avoided any production account, notebook, save or Yumina billing write. There were eight upstream generations, not zero-cost mocked replies, and no rerolls.
All sampled nearest-enemy positions were correct, but the replies still include unsupported whole-lane concealment and one claim that a Plantern cleared all six rows. This candidate does not resolve the fog-writing problem and remains local, without a PR or production deployment. Its conditional example selection is a proved context correction, not proof of better generated prose. The two Blover fixtures labelled Chinese deliberately retain the helper's English user question; those runs cannot establish Chinese language-following behavior. Original prompts, results and limitations are retained in the game worktree's output/lawn-lore/writing/.
Next concrete input gap
Dave receives each planted Plantern's identity and position, but not its current normal/focused light mode. A Plantern's own conversation receives that mode. The shared fog observation identifies clear cells but has no observation of global displacement. The renderer uses Board::mFogOffset and mFogBlownCountDown, while AdventureClassicPlants::FocusedLight determines the plant's light footprint. Supplying these real states is the next change to evaluate, rather than adding more instructions or rerolling this candidate.
The countdown alone must not be labelled a witnessed Blover: board setup, intro transitions and legacy scene/debug paths also set it. Report observed displacement/return and actual plant mode without inventing its cause. Preserve save data and action authority; gate any new optional wire fields by host capability and exclude them from older-host receipts. Check native transitions and actual browser requests before spending more provider calls.
