Skip to content

Plant observations and requested actions

Four bounded real-provider probes used the actual compiled fog and near-house Plantern requests. In both Qwen samples an observation question selected light command 10 without a request to change the light. Its English answer also chose the distant row-2 zombie instead of the visible near-house row-5 Conehead. The same Gemini samples used no command and identified the observed enemy. These are local production-service probes with observeLawn and a synthetic account context, not signed-in account-setting checks. No player saves, account settings, notebooks or platform billing rows were written.

The four classic plant prompts supplied pseudo-JSON examples containing numeric unions such as 10|null. Their examples now use valid speech-only JSON, with permitted commands still specified separately. Plantern also distinguishes asking what is visible from requesting a light change, and uses all observed lanes rather than treating its own beam as the limit of the shared observation. No command, action bound, native behavior or client protocol changes.

The observation context now supplies closestToHouse: the visible enemies in the lowest observed column band, including ties. The existing per-row list stays in row order. Missing older-client evidence remains null and hidden enemies remain unknown; this does not rank tied enemies within a coarse column or predict an attack. All four Dave/plant prompt paths share this context.

Verification so far:

  • The original prompt example fails actual JSON parsing; the new examples pass parsing and normalization while existing tactical commands remain legal.
  • The nearest-column regression fails before implementation and passes after, including ties, empty observations and older clients.
  • All 464 isolated NPC/route checks, hosted build/typecheck and local OSS export verification pass.
  • Eight single-sample real-provider follow-ups on the final candidate return the expected actions: questions and an unchanged-focus request use null; a polite surrounding-light request selects 10. Both models identify the near-house Conehead. This is bounded evidence, not a semantic guarantee for every model. Qwen still mixes an English zombie name into Chinese.
  • The exact Qwen and Gemini replies replay through the real compiled game in English desktop and Chinese touch emulation. Questions preserve the native light mode and revision; the explicit English order changes mode once. Reading keeps combat paused. There are no new provider calls during replay.

Retained game-worktree receipts: output/visible-threats/observed-writing.json (initial failure), plant-question-candidate.json (commands improved but wrong nearest zombie retained), and plant-question-proximity.json (final samples), plus captured prompts. Browser receipts are under output/plant-question-replay/. Full local logs in this host worktree use output-plant-question-*. The shared public engine is still 69da0f96fc; no new game package is required. Publication and remote repository checks are pending.