Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
47 lines
3.8 KiB
JSON
47 lines
3.8 KiB
JSON
{
|
|
"scope": "Read-only current production release predicates; failure-time fixture diagnostic recommendation, no historical cause attribution.",
|
|
"source_sha256": {
|
|
"addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c": "6ca333da6183c86d19f09d0ad2b4d789879ebad2cb43dbe7fd3eb06d6f4e5a53",
|
|
"addons/core/Scripts/Game/ERR/00_Core/ERR_Actors.c": "980d30964845600a261693cc5c5553e1472e8e54867bdc06133ff5c7b36c9128",
|
|
"addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeConvoyProbe.c": "7e6d5b367f71539cdac1e5f406d650d7d06bfd26a3ce3404abfb0ac5d88d3411"
|
|
},
|
|
"release_paths": {
|
|
"ERR_ConvoyVehicle.Tick": "CrewValid false; existing Waypoint and now>=LegDeadline; Order false. Arrived sets Arrived without immediate individual Release; final task Stop later releases all.",
|
|
"ERR_ConvoyTask.Stop": "Sets Reason and releases each original vehicle; capture, startup/admission failure, all-ended, and service Stop callers retain task reason.",
|
|
"combat_resume": "Combat hold removal calls Order when not SupplyHeld; false releases unit."
|
|
},
|
|
"crew_predicates": {
|
|
"root": "Group and Entity present; ERR_Actors.Alive(Entity); group faction==mode.EnemyFaction.",
|
|
"driver": "Original Driver CanFight, non-player and native GetVehicleIn tree includes original Entity.",
|
|
"members": "Each original member Alive, non-player and ERR_Actors.Group(member)==original Group. No passenger-consciousness/seat requirement in CrewValid."
|
|
},
|
|
"bounded_snapshot": [
|
|
"Once on failure: task Ready/Stopped/Reason, failing array index and unit.Index, original entity identity match, mode Active/current identity.",
|
|
"Unit Released/Arrived/Registered, entity present+Alive, Group present+enemy faction, current CrewValid and Captured (only after safe null guards).",
|
|
"Route presence/count/index, now/LegDeadline, own Waypoint/current native waypoint presence and equality, entity position and distance from frozen origin.",
|
|
"Driver identity/presence/Alive/CanFight/Player/current Group, aboard entity and PartOf original tree.",
|
|
"For original Members (cap19): index, identity, Alive, Player, Group equality. Optional native seat/CanFight useful context but label separately from release predicate.",
|
|
"Current combat held/supply token+held/intercept token+active; these values may already be cleared by Release."
|
|
],
|
|
"cautions": [
|
|
"Release clears own waypoint, combat/supply/intercept flags and unregisters group; their absence afterward cannot establish the trigger.",
|
|
"Order can fail native waypoint spawn; a later null Waypoint is not evidence of that failure because Release also deletes it.",
|
|
"Crew state can change after release; diagnostics are current-state evidence, not proof of earlier predicate.",
|
|
"Do not invoke Order, Tick, Release or any action to obtain diagnostics. Keep one failure readout, bounded exact original arrays and <=6 PrintFormat arguments per line.",
|
|
"Missing vehicle/actor/group must be null-guarded; SeatDiagnostic currently assumes group exists, so do not call it unguarded for loss."
|
|
],
|
|
"tests_run": false,
|
|
"native_run": false,
|
|
"target_writes": false,
|
|
"draft_review": {
|
|
"result": "Scope and API approved; recommend splitting two7argument rows to<=6 and parent-planned task/route context.",
|
|
"patch_sha256": "5198ebf6959db1f0354e656d57d24cd3245af8629cb2e520f5de78b47ec71e62",
|
|
"source_sha256": "0156fb019a5e4d2741c1a6aba0bffeca71af4a57ae1308e62b2ae348c3e901d5",
|
|
"notes": [
|
|
"All APIs already appear in production or same fixture. No new traversal beyond bounded original Members.",
|
|
"New !vehicle failure guard prevents null record dereference at existing proof boundary.",
|
|
"Earlier stopped-task branch reports task Reason without this per-vehicle helper; failure-time snapshot is not historical release tracing."
|
|
]
|
|
}
|
|
}
|