Skip to content

Dave's visible boss observations

Dave previously received enemy counts but not the boss progress displayed to the player. visible-boss-v1 advertises an optional observation containing current health, displayed maximum health and the active warning flag. The shared schema binds the source ID to the current authored chapter and rejects hidden/ended lawns, zero health, unsupported fields and foreign chapters. Older clients omit the field and keep working. No save schema, provider selection, billing or native action authority changes.

The source context and a final factual reminder distinguish remaining health from damage already dealt. The reminder forbids guessing the next attack or turning an ordinary tactical answer into a signature shout. These are current observations, not persistent achievements or future phase data.

Verification:

  • Whole repository build and typecheck, and all 390 isolated NPC tests, pass including the final factual reminder. Receipts: output-boss-host-*-final.log.
  • The companion game checks actual EN desktop/ZH touch-emulated 2-10 snapshots, the native 7000-health boss/warning/save/death path, and capability negotiation.
  • The real compiled 2-10 capture initially exposed a separate client defect: unsupported individual plant fields made the request fail validation. The companion game now omits those fields for 2-8/2-9/2-10, preserving row counts and local inspection rather than weakening the server's plant-identity rules.
  • Two bounded official-Free calls before and after the final reminder use the real compiled lawn capture through local service code. Before, Chinese confused 1400 damage with 5600 remaining health, and English invented a fire attack. After, both languages give 5600 and acknowledge the active warning. Chinese still adds an impending-explosion remark; this is not evidence that every generated tactical statement is reliable. No repeated rerolls are counted as a writing-quality pass. Receipts are in the game worktree's output/boss-observation-live-before.json and output/boss-observation-live-local.json. No account/save writes occurred.

This is not a full balance pass, a physical-phone check or an advertising-scale capacity claim.

Host PR236 deployed successfully on September 21 (Railway deployment 986d2b15-1790-4a92-af25-ebe816e61631, commit fff8c2dedcbf89c28a837b06c4fb4401b5b6d527). Its Studio successor ce9c1c34ccf775bef5040ebe8d6ee3b90a4b86aa is a verified descendant and also deployed successfully. Public game 793e03343a now sends the observations. Authenticated configuration advertises the capability, and actual compiled EN/ZH 2-10 notebook visits return 200 using a temporary ordinary account. The account and its notebooks were removed; this check makes no provider calls or save writes. The companion game's night-finale report records public byte hashes, fresh boot and private Versus checks in both regions. Actions had startup failures without jobs for PR236, so local verification is not described as a CI pass.