Skip to content

Commit 88cea38

Browse files
fix: keep ambient resident AI hard off (#87)
Follow-up to #86 and #80.
1 parent ab484ac commit 88cea38

3 files changed

Lines changed: 7 additions & 4 deletions

File tree

cloudflare-taxi/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ to best-effort accounting.
365365
| Var | Default | Meaning |
366366
|---|---|---|
367367
| `NPC_AI_ENABLED` | `false` | Top-level env ceiling. Anything except `"true"` means **never** a resident model call. KV cannot override it on. |
368-
| `NPC_AMBIENT_ENABLED` | `false` | Env ceiling for model-powered ambient turns (also requires `NPC_AI_ENABLED`). |
368+
| `NPC_AMBIENT_ENABLED` | `false` | Env ceiling for model-powered ambient turns (also requires `NPC_AI_ENABLED`). The canonical Phase 3 deployment keeps this `false`; ambient town life is scripted and costs $0. |
369369
| `NPC_PLAYER_CHAT_ENABLED` | `false` | Env ceiling for model-powered player chat (also requires `NPC_AI_ENABLED`). |
370370
| `NPC_LIVE_TOGGLE` | `false` | Enables per-request `NPC_FLAGS` kill switches. When off, KV is ignored. |
371371
| `NPC_MODEL_DEFAULT` | `gpt-5.4-mini` | Azure OpenAI deployment name for resident turns. |

cloudflare-taxi/wrangler.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@ NPC_MAX_COMPLETION_TOKENS = "120"
8686
NPC_BUDGET_TIMEOUT_MS = "3000"
8787
NPC_DAILY_ATTEMPT_MAX = "5000"
8888
NPC_RESERVATION_LEASE_MS = "60000"
89-
# Deployment ceilings permit the owner-only KV switches to turn resident AI on.
90-
# Live mode still requires explicit KV "true" values; missing keys fail closed.
89+
# Explicit visitor dialogue may be enabled by the owner-only KV switches. Model-powered
90+
# ambient chatter stays hard-off so background town life is always scripted and $0.
9191
NPC_AI_ENABLED = "true"
92-
NPC_AMBIENT_ENABLED = "true"
92+
NPC_AMBIENT_ENABLED = "false"
9393
NPC_PLAYER_CHAT_ENABLED = "true"
9494
# 31-day worst case = $4.65 for resident Azure model calls.
9595
NPC_DAY_CAP_USD = "0.15"

scripts/smoke.mjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2237,6 +2237,9 @@ ok(/test_resident_profiles\.py/.test(REFRESH_WORKFLOW)
22372237
&& /validate_resident_profiles\.py/.test(REFRESH_WORKFLOW)
22382238
&& /scan_public_artifacts\.py/.test(REFRESH_WORKFLOW),
22392239
'daily publication is gated by resident determinism, schema, and public-safety checks');
2240+
ok(/NPC_AMBIENT_ENABLED = "false"/.test(TAXI_WRANGLER)
2241+
&& /scriptedAmbient:true/.test(npcBlock),
2242+
'canonical ambient town life is scripted and zero-cost; only explicit resident dialogue may reach a model');
22402243

22412244
group('AURI market oracle — grounded market KB + read-only crypto MCP');
22422245
const marketActionSrc=(HTML.match(/function marketActionQuestion\(q\)\{[\s\S]*?(?=\nfunction marketQuestion)/)||[''])[0];

0 commit comments

Comments
 (0)