Skip to content

Dave current-scene context

Current status: the context-selection fix is prepared for release. This is a narrow fix for routing unrelated examples into a conversation, not an approval of overall generated writing. The original failed candidate audit below is retained; the witnessed-social-action follow-up explains the release scope.

Base: public host commit 397dabdc9372829a16d62235d3df1ae4c03f297d.

The candidate selects arrival/background/interaction guidance by the actual trigger. Typed conversation no longer receives an entrance script and idle interruption instructions at the same time. It also withholds detailed tin and cast-receipt interpretation when no current or witnessed corresponding scene exists. Real outcomes, legal offers, dialogue, social state and source-story choices remain. No native gameplay, save schema or account setting changes.

Five new regressions failed before the changes. All 411 isolated game-NPC tests, full hosted build and typecheck pass. Tests preserve current and historical tin outcomes, cast-memory interpretation, trigger behavior and a real legal gift. The saved 3-3 windup request drops from 27,060 to 21,292 characters; the follow-up drops from 26,924 to 21,156. These are context measurements, not writing scores.

Writing checks failed

The two fixed Free-router samples are in the game worktree's output/current-scene-first-live-local.json. The English response invented a Potato Mine incident; its captured lawn has only two Peashooters. Chinese denied interest but added an unconvincing generic explanation. No resampling was used.

A separate comparison used one fixed model, qwen/qwen3-30b-a3b-instruct-2507, with the same saved requests/settings, one sample per locale/variant, no fallback and no account/save/notebook writes. The baseline prompt was assembled from frozen main source, not reconstructed by guessing. output/current-scene-fixed-model-comparison.json retains all results:

CaseBaselineCandidate
EN, trick not yet performedInvented a misfire billClaimed an unreached one-pea-to-two transformation
ZH, free transformation observedInvented interest and a peanut giftInvented an earlier 50-sun gift spent on a hat

Neither version meets the writing requirement. The candidate reduced irrelevant input, but there is no evidence that it improves first-reply grounding. It is therefore held locally, with no PR merge or production deployment.

Next investigation

The request mixes observed facts with long conditional explanations of possible events. For example, socialRules explains what player_gift would mean even when witnessedMoments is empty; the failed candidate then narrates that gift as shared history. Global Funny voice guidance similarly contains conditional interest/upgrade examples that need not have occurred. Investigate separating current facts, reached dialogue and legal next actions from such hypothetical examples. Retain actual source plots, current legal choices and genuine earned callbacks. Do not treat another green schema test or smaller prompt as proof of entertaining, grounded dialogue, and do not change players' chosen models or generation settings to conceal the problem.

Witnessed social actions follow-up

The exact Chinese question in the failed comparison contained . That matched the gift-lore keyword filter even though no gift had occurred. It injected a long reaction guide including spending a gift on a hat; the candidate's reply then narrated that example as shared history.

Gift reaction lore now needs both a relevant current message and a real native gift flag or scoped gift receipt. A punch after a gift does not become a new gift merely because native flags are cumulative. Social context separately includes only witnessed gift, punch and apology guidance. Current flags work before notebook observation; prior events remain scoped by level and cycle. Unreached interest and prank examples were removed from the global voice guide; actual authored lines, observed plot events and all legal action contracts stay.

Two new regression cases and the corrected sun-question expectation failed before the fix. The 413-test isolated NPC suite passes; the subsequent cumulative flag check passes in the 13-test focused suite. Hosted build/typecheck pass. No model/profile/generation setting, native game rule, save schema or game artifact changes.

One fixed-model sample per original case, without fallback or resampling, is retained in the game worktree's output/observed-social-context-live.json:

  • EN windup: "Just recalibrating the head magic. No bill—unless you count my dignity." No claimed completed upgrade or transfer, but generic wording.
  • ZH transformed: "嘿,这次是白送!上回那笔账,咱俩都忘了吧?" The fabricated 50-sun gift/hat is gone, but this still implies an unrecorded earlier debt. It is a failing grounding sample, not a polished-writing pass.

Shipping correct scene selection does not resolve that remaining model behavior. It prevents a deterministic source of false history and unrelated instructions; it does not promise that all generated speech is grounded. No account, notebook or save writes were made by these provider samples.