Ground bot intentions in live game knowledge and verify outcomes
Core tests / core (push) Successful in 28s

This commit is contained in:
Codex
2026-09-25 13:28:03 +08:00
parent 20ccd0fced
commit 502cb1e4fd
17 changed files with 251 additions and 24 deletions
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env python3
"""Read-only checkpoint for the grounded-decision trial. No keys or player whispers."""
import collections,json,time,urllib.request
from pathlib import Path
base='http://127.0.0.1:8787'
def get(path):
with urllib.request.urlopen(base+path,timeout=20) as r:return json.load(r)
s=get('/api/state');insights=get('/api/realm-insights');now=time.time()
bots=[b for b in s['bots'] if b.get('status')=='online' and b.get('autonomy',{}).get('managed')]
checks=[c for b in bots for c in b.get('autonomy',{}).get('intentChecks',[])]
report={'checkedAt':now,'online':len(bots),'teams':dict(collections.Counter(b.get('world',{}).get('team') for b in bots)),
'freshObservations':sum(0<=now-b.get('world',{}).get('at',0)<90 for b in bots),
'groupedBots':sum(bool(b.get('world',{}).get('groupId')) for b in bots),
'questKnowledge':sum(bool(b.get('world',{}).get('questBrief')) for b in bots),
'evaluation':insights.get('evaluation'),'recentIntentResults':dict(collections.Counter(c['status'] for c in checks)),
'currentActivity':dict(collections.Counter(b['label'] for b in insights.get('activity',[]))),
'zaku':[{k:b.get(k) for k in ('name','level','zone','lastDecision')} for b in bots if b['name']=='Zaku'],
'limitations':['Rates use fresh sampled bot-hours; collection gaps excluded.','Native death deltas use retained death records; retention can undercount at rollover.','An observed outcome following an intention does not establish causation.','One day is an initial comparison, not proof of long-term reliability.']}
print(json.dumps(report,indent=2))