POST /v1/report
When an AI decision ends, the game reports how it ended and what changed. The service stores the last 8 reports per entity and includes them in the next /v1/decide for that entity — this is the entity’s short-term memory.
Request
Section titled “Request”Except in the local profile, every request MUST include Authorization: Bearer <session_token> (see Security).
{ "client_id": "lango-5f2c91", "entity_id": "28735", "decision_id": "d_01J9Z4K7", "action": "flee", "status": "executed", "outcome": { "hp_fraction_delta": 0, "distance_to_player_delta": 116.2, "world_player_hp_fraction_delta": -0.1, "seconds": 4.2 }}| Field | Notes |
|---|---|
decision_id |
The decision_id of the decision being reported. Reports for ids not issued to this session and entity, or already reported, are ignored — fake reports cannot poison memory |
status |
executed — ran until replaced; blocked — the game refused to execute it; expired — TTL passed |
outcome |
Up to 12 scalar values chosen by the game |
The reference SDK reports numeric deltas of the observation and world (<field>_delta, world keys prefixed world_) between the decision and its end, plus seconds. This is a convention, not a requirement.
Memory for an entity is dropped when it disappears from telemetry, and all memory is lost when the service restarts.
Response
Section titled “Response”{ "ok": true }Proposed: training fields
Section titled “Proposed: training fields”Reports become training examples for the local policy. Additional optional fields:
{ "client_id": "…", "entity_id": "72259471404", "action": "flee", "source": "AI", "status": "executed", "outcome": { "hp_fraction_delta": 0, "seconds": 4.2 }, "local_prediction": { "action": "flee", "confidence": 0.74 }, "policy_version": "2026-10-12.3"}| Field | Notes |
|---|---|
source |
AI (service decision) or LOCAL (local-policy decision) |
local_prediction |
In shadow and cascade: what the local policy would have chosen, for agreement metrics |
policy_version |
The local policy that made or predicted the decision |
The reference service would keep these examples in a persistent decision log, tagged with the manifest hash, instead of only in memory.