nmarshall commited on
Commit
b9f1c35
·
1 Parent(s): 6d07d15

qvm: recover mode8 eligibility scan

Browse files
docs/FINDINGS.md CHANGED
@@ -1933,3 +1933,5 @@ RE-997: Rust ports actual self-recovery gates, wrapped signed elapsed time, stag
1933
  RE-998: Twenty-eight original-QVM fixtures recover152792 admission and its first entity-pool scan through152994. Protected self mask16384 clears own assistance mask8192, active6316 and target6320, then returns. Otherwise active helpers lose those fields when their target disconnects, dies or follows; healthy targets retain assistance. Loop order, zero/64 counts, absent entity/client, high-bit preservation and all self admission exits are covered. The subsequent distance/assistance search remains outside this boundary. [Evidence](research/QVM_MOVE_ASSIST_CLEANUP.md).
1934
 
1935
  RE-999: Rust ports152792 admission and first scan across28 original cases, including full64-slot and zero-count pools. Typed indices replace supplied entity/client pointers; inactive targets are not dereferenced. Protected self returns before scanning, preserving other helpers. Dead/disconnected/following targets clear only assistance mask8192, active state and target. Invalid active indices/counts reject atomically; unit tests cover high-bit preservation, early bypass and rollback after a prior planned cleanup. [Evidence](research/RUST_MOVE_ASSIST_CLEANUP.md).
 
 
 
1933
  RE-998: Twenty-eight original-QVM fixtures recover152792 admission and its first entity-pool scan through152994. Protected self mask16384 clears own assistance mask8192, active6316 and target6320, then returns. Otherwise active helpers lose those fields when their target disconnects, dies or follows; healthy targets retain assistance. Loop order, zero/64 counts, absent entity/client, high-bit preservation and all self admission exits are covered. The subsequent distance/assistance search remains outside this boundary. [Evidence](research/QVM_MOVE_ASSIST_CLEANUP.md).
1934
 
1935
  RE-999: Rust ports152792 admission and first scan across28 original cases, including full64-slot and zero-count pools. Typed indices replace supplied entity/client pointers; inactive targets are not dereferenced. Protected self returns before scanning, preserving other helpers. Dead/disconnected/following targets clear only assistance mask8192, active state and target. Invalid active indices/counts reject atomically; unit tests cover high-bit preservation, early bypass and rollback after a prior planned cleanup. [Evidence](research/RUST_MOVE_ASSIST_CLEANUP.md).
1936
+
1937
+ RE-1000: Sixty-six original-QVM cases recover153419 admission through153596. Both global enables, strict signed wrapped elapsed greater than delay*1000, incomplete state, connected/live/non-following self and selected team are required. Selector exactly1 chooses team2; other values choose team1. A live connected non-following teammate with nonzero6164 blocks entry, while self is excluded. All fields remain unchanged. Exact/negative/wrapped times, three selectors, zero/64 pools and teammate bypasses are covered; flag search and objective effects remain open. [Evidence](research/QVM_MOVE_MODE8_ELIGIBILITY.md).
docs/PROVISIONAL_TODO.md CHANGED
@@ -1990,3 +1990,5 @@ RE-974–983 completed routing, command rewrite, inactivity, movement-parameter
1990
  - [x] RE-998 Recover mode10 assistance admission and cleanup scan ([evidence](research/QVM_MOVE_ASSIST_CLEANUP.md)).
1991
 
1992
  - [x] RE-999 Port assistance cleanup and typed target ownership ([evidence](research/RUST_MOVE_ASSIST_CLEANUP.md)).
 
 
 
1990
  - [x] RE-998 Recover mode10 assistance admission and cleanup scan ([evidence](research/QVM_MOVE_ASSIST_CLEANUP.md)).
1991
 
1992
  - [x] RE-999 Port assistance cleanup and typed target ownership ([evidence](research/RUST_MOVE_ASSIST_CLEANUP.md)).
1993
+
1994
+ - [x] RE-1000 Recover mode8 eligibility and teammate exclusion ([evidence](research/QVM_MOVE_MODE8_ELIGIBILITY.md)).
docs/RESEARCH_LEDGER.md CHANGED
@@ -2671,3 +2671,7 @@ Twenty-eight original-QVM fixtures recover152792 admission and its first entity-
2671
  ## 2026-10-29 — RE-999 Port assistance cleanup and typed target ownership
2672
 
2673
  Rust ports152792 admission and first scan across28 original cases, including full64-slot and zero-count pools. Typed indices replace supplied entity/client pointers; inactive targets are not dereferenced. Protected self returns before scanning, preserving other helpers. Dead/disconnected/following targets clear only assistance mask8192, active state and target. Invalid active indices/counts reject atomically; unit tests cover high-bit preservation, early bypass and rollback after a prior planned cleanup. Focused `cargo xtask test-group rust-move-assist-cleanup` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime.
 
 
 
 
 
2671
  ## 2026-10-29 — RE-999 Port assistance cleanup and typed target ownership
2672
 
2673
  Rust ports152792 admission and first scan across28 original cases, including full64-slot and zero-count pools. Typed indices replace supplied entity/client pointers; inactive targets are not dereferenced. Protected self returns before scanning, preserving other helpers. Dead/disconnected/following targets clear only assistance mask8192, active state and target. Invalid active indices/counts reject atomically; unit tests cover high-bit preservation, early bypass and rollback after a prior planned cleanup. Focused `cargo xtask test-group rust-move-assist-cleanup` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime.
2674
+
2675
+ ## 2026-10-29 — RE-1000 Recover mode8 eligibility and teammate exclusion
2676
+
2677
+ Sixty-six original-QVM cases recover153419 admission through153596. Both global enables, strict signed wrapped elapsed greater than delay*1000, incomplete state, connected/live/non-following self and selected team are required. Selector exactly1 chooses team2; other values choose team1. A live connected non-following teammate with nonzero6164 blocks entry, while self is excluded. All fields remain unchanged. Exact/negative/wrapped times, three selectors, zero/64 pools and teammate bypasses are covered; flag search and objective effects remain open. Focused `cargo xtask test-group qvm-move-mode8-eligibility` passes with deterministic report regeneration and selected regressions. Full suite deferred to task ten. Original assets unchanged; Python uses the flake-declared Nix runtime.
docs/REVERSE_ENGINEERING_TODO.md CHANGED
@@ -2027,3 +2027,5 @@ RE-974–983 recover routing, command rewriting, inactivity and composed setup t
2027
  - [x] RE-998 Recover mode10 assistance admission and cleanup scan ([evidence](research/QVM_MOVE_ASSIST_CLEANUP.md)).
2028
 
2029
  - [x] RE-999 Port assistance cleanup and typed target ownership ([evidence](research/RUST_MOVE_ASSIST_CLEANUP.md)).
 
 
 
2027
  - [x] RE-998 Recover mode10 assistance admission and cleanup scan ([evidence](research/QVM_MOVE_ASSIST_CLEANUP.md)).
2028
 
2029
  - [x] RE-999 Port assistance cleanup and typed target ownership ([evidence](research/RUST_MOVE_ASSIST_CLEANUP.md)).
2030
+
2031
+ - [x] RE-1000 Recover mode8 eligibility and teammate exclusion ([evidence](research/QVM_MOVE_MODE8_ELIGIBILITY.md)).
docs/research/QVM_MOVE_MODE8_ELIGIBILITY.md ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ # Recover mode8 eligibility and teammate exclusion
2
+
3
+ RE-1000. Focused validation: `cargo xtask test-group qvm-move-mode8-eligibility`. [Machine report](qvm-move-mode8-eligibility.json).
4
+
5
+ Sixty-six original-QVM cases recover153419 admission through153596. Both global enables, strict signed wrapped elapsed greater than delay*1000, incomplete state, connected/live/non-following self and selected team are required. Selector exactly1 chooses team2; other values choose team1. A live connected non-following teammate with nonzero6164 blocks entry, while self is excluded. All fields remain unchanged. Exact/negative/wrapped times, three selectors, zero/64 pools and teammate bypasses are covered; flag search and objective effects remain open.
docs/research/README.md CHANGED
@@ -1561,3 +1561,5 @@ The extension collector adds five focused tests for native tail calls, command-r
1561
  - [RE-998: Recover mode10 assistance admission and cleanup scan](QVM_MOVE_ASSIST_CLEANUP.md).
1562
 
1563
  - [RE-999: Port assistance cleanup and typed target ownership](RUST_MOVE_ASSIST_CLEANUP.md).
 
 
 
1561
  - [RE-998: Recover mode10 assistance admission and cleanup scan](QVM_MOVE_ASSIST_CLEANUP.md).
1562
 
1563
  - [RE-999: Port assistance cleanup and typed target ownership](RUST_MOVE_ASSIST_CLEANUP.md).
1564
+
1565
+ - [RE-1000: Recover mode8 eligibility and teammate exclusion](QVM_MOVE_MODE8_ELIGIBILITY.md).
docs/research/qvm-move-mode8-eligibility.json ADDED
@@ -0,0 +1,2219 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "limits": "Actual153419 admission/teammate scan through153596 or154087 return. Stops before flag search, distance and objective mutation; no mode8 body completion claimed.",
3
+ "probes": [
4
+ {
5
+ "eligible": true,
6
+ "execution": {
7
+ "stop": 153596,
8
+ "trace_length": 245,
9
+ "trace_sha256": "44ba48e6f2b7b990a58631757608185e6b8b449eb085a512113022a49d7698c3"
10
+ },
11
+ "input": {
12
+ "busy_slot": 0,
13
+ "client": 1,
14
+ "complete": 0,
15
+ "connection": 2,
16
+ "count": 3,
17
+ "delay": 1,
18
+ "enabled_a": 1,
19
+ "enabled_b": 1,
20
+ "entity": 1,
21
+ "follow": 0,
22
+ "health": 1,
23
+ "name": "normal",
24
+ "other_busy": 0,
25
+ "other_connection": 2,
26
+ "other_follow": 0,
27
+ "other_health": 1,
28
+ "other_team": 0,
29
+ "own_busy": 0,
30
+ "selector": 0,
31
+ "start": 8000,
32
+ "team": 0,
33
+ "tick": 10000
34
+ },
35
+ "unchanged": true
36
+ },
37
+ {
38
+ "eligible": true,
39
+ "execution": {
40
+ "stop": 153596,
41
+ "trace_length": 247,
42
+ "trace_sha256": "f26856fab38858f4e765c9d1a9db6e1e38482f4110d22e0b7f2db95ce670bb18"
43
+ },
44
+ "input": {
45
+ "busy_slot": 0,
46
+ "client": 1,
47
+ "complete": 0,
48
+ "connection": 2,
49
+ "count": 3,
50
+ "delay": 1,
51
+ "enabled_a": 1,
52
+ "enabled_b": 1,
53
+ "entity": 1,
54
+ "follow": 0,
55
+ "health": 1,
56
+ "name": "normal",
57
+ "other_busy": 0,
58
+ "other_connection": 2,
59
+ "other_follow": 0,
60
+ "other_health": 1,
61
+ "other_team": 0,
62
+ "own_busy": 0,
63
+ "selector": 1,
64
+ "start": 8000,
65
+ "team": 0,
66
+ "tick": 10000
67
+ },
68
+ "unchanged": true
69
+ },
70
+ {
71
+ "eligible": true,
72
+ "execution": {
73
+ "stop": 153596,
74
+ "trace_length": 245,
75
+ "trace_sha256": "44ba48e6f2b7b990a58631757608185e6b8b449eb085a512113022a49d7698c3"
76
+ },
77
+ "input": {
78
+ "busy_slot": 0,
79
+ "client": 1,
80
+ "complete": 0,
81
+ "connection": 2,
82
+ "count": 3,
83
+ "delay": 1,
84
+ "enabled_a": 1,
85
+ "enabled_b": 1,
86
+ "entity": 1,
87
+ "follow": 0,
88
+ "health": 1,
89
+ "name": "normal",
90
+ "other_busy": 0,
91
+ "other_connection": 2,
92
+ "other_follow": 0,
93
+ "other_health": 1,
94
+ "other_team": 0,
95
+ "own_busy": 0,
96
+ "selector": 2,
97
+ "start": 8000,
98
+ "team": 0,
99
+ "tick": 10000
100
+ },
101
+ "unchanged": true
102
+ },
103
+ {
104
+ "eligible": false,
105
+ "execution": {
106
+ "stop": 154087,
107
+ "trace_length": 21,
108
+ "trace_sha256": "b4c583cd676746dc4ed5bd3bd822062b4041277019a24793e60b53c954f063bb"
109
+ },
110
+ "input": {
111
+ "busy_slot": 0,
112
+ "client": 1,
113
+ "complete": 0,
114
+ "connection": 2,
115
+ "count": 3,
116
+ "delay": 1,
117
+ "enabled_a": 0,
118
+ "enabled_b": 1,
119
+ "entity": 1,
120
+ "follow": 0,
121
+ "health": 1,
122
+ "name": "disabled-a",
123
+ "other_busy": 0,
124
+ "other_connection": 2,
125
+ "other_follow": 0,
126
+ "other_health": 1,
127
+ "other_team": 0,
128
+ "own_busy": 0,
129
+ "selector": 0,
130
+ "start": 8000,
131
+ "team": 0,
132
+ "tick": 10000
133
+ },
134
+ "unchanged": true
135
+ },
136
+ {
137
+ "eligible": false,
138
+ "execution": {
139
+ "stop": 154087,
140
+ "trace_length": 21,
141
+ "trace_sha256": "b4c583cd676746dc4ed5bd3bd822062b4041277019a24793e60b53c954f063bb"
142
+ },
143
+ "input": {
144
+ "busy_slot": 0,
145
+ "client": 1,
146
+ "complete": 0,
147
+ "connection": 2,
148
+ "count": 3,
149
+ "delay": 1,
150
+ "enabled_a": 0,
151
+ "enabled_b": 1,
152
+ "entity": 1,
153
+ "follow": 0,
154
+ "health": 1,
155
+ "name": "disabled-a",
156
+ "other_busy": 0,
157
+ "other_connection": 2,
158
+ "other_follow": 0,
159
+ "other_health": 1,
160
+ "other_team": 0,
161
+ "own_busy": 0,
162
+ "selector": 1,
163
+ "start": 8000,
164
+ "team": 0,
165
+ "tick": 10000
166
+ },
167
+ "unchanged": true
168
+ },
169
+ {
170
+ "eligible": false,
171
+ "execution": {
172
+ "stop": 154087,
173
+ "trace_length": 21,
174
+ "trace_sha256": "b4c583cd676746dc4ed5bd3bd822062b4041277019a24793e60b53c954f063bb"
175
+ },
176
+ "input": {
177
+ "busy_slot": 0,
178
+ "client": 1,
179
+ "complete": 0,
180
+ "connection": 2,
181
+ "count": 3,
182
+ "delay": 1,
183
+ "enabled_a": 0,
184
+ "enabled_b": 1,
185
+ "entity": 1,
186
+ "follow": 0,
187
+ "health": 1,
188
+ "name": "disabled-a",
189
+ "other_busy": 0,
190
+ "other_connection": 2,
191
+ "other_follow": 0,
192
+ "other_health": 1,
193
+ "other_team": 0,
194
+ "own_busy": 0,
195
+ "selector": 2,
196
+ "start": 8000,
197
+ "team": 0,
198
+ "tick": 10000
199
+ },
200
+ "unchanged": true
201
+ },
202
+ {
203
+ "eligible": false,
204
+ "execution": {
205
+ "stop": 154087,
206
+ "trace_length": 25,
207
+ "trace_sha256": "c592fe6c8f661117097392f81c0678fe8aee688f5862b5a9fafe50fdf006b1ca"
208
+ },
209
+ "input": {
210
+ "busy_slot": 0,
211
+ "client": 1,
212
+ "complete": 0,
213
+ "connection": 2,
214
+ "count": 3,
215
+ "delay": 1,
216
+ "enabled_a": 1,
217
+ "enabled_b": 0,
218
+ "entity": 1,
219
+ "follow": 0,
220
+ "health": 1,
221
+ "name": "disabled-b",
222
+ "other_busy": 0,
223
+ "other_connection": 2,
224
+ "other_follow": 0,
225
+ "other_health": 1,
226
+ "other_team": 0,
227
+ "own_busy": 0,
228
+ "selector": 0,
229
+ "start": 8000,
230
+ "team": 0,
231
+ "tick": 10000
232
+ },
233
+ "unchanged": true
234
+ },
235
+ {
236
+ "eligible": false,
237
+ "execution": {
238
+ "stop": 154087,
239
+ "trace_length": 25,
240
+ "trace_sha256": "c592fe6c8f661117097392f81c0678fe8aee688f5862b5a9fafe50fdf006b1ca"
241
+ },
242
+ "input": {
243
+ "busy_slot": 0,
244
+ "client": 1,
245
+ "complete": 0,
246
+ "connection": 2,
247
+ "count": 3,
248
+ "delay": 1,
249
+ "enabled_a": 1,
250
+ "enabled_b": 0,
251
+ "entity": 1,
252
+ "follow": 0,
253
+ "health": 1,
254
+ "name": "disabled-b",
255
+ "other_busy": 0,
256
+ "other_connection": 2,
257
+ "other_follow": 0,
258
+ "other_health": 1,
259
+ "other_team": 0,
260
+ "own_busy": 0,
261
+ "selector": 1,
262
+ "start": 8000,
263
+ "team": 0,
264
+ "tick": 10000
265
+ },
266
+ "unchanged": true
267
+ },
268
+ {
269
+ "eligible": false,
270
+ "execution": {
271
+ "stop": 154087,
272
+ "trace_length": 25,
273
+ "trace_sha256": "c592fe6c8f661117097392f81c0678fe8aee688f5862b5a9fafe50fdf006b1ca"
274
+ },
275
+ "input": {
276
+ "busy_slot": 0,
277
+ "client": 1,
278
+ "complete": 0,
279
+ "connection": 2,
280
+ "count": 3,
281
+ "delay": 1,
282
+ "enabled_a": 1,
283
+ "enabled_b": 0,
284
+ "entity": 1,
285
+ "follow": 0,
286
+ "health": 1,
287
+ "name": "disabled-b",
288
+ "other_busy": 0,
289
+ "other_connection": 2,
290
+ "other_follow": 0,
291
+ "other_health": 1,
292
+ "other_team": 0,
293
+ "own_busy": 0,
294
+ "selector": 2,
295
+ "start": 8000,
296
+ "team": 0,
297
+ "tick": 10000
298
+ },
299
+ "unchanged": true
300
+ },
301
+ {
302
+ "eligible": false,
303
+ "execution": {
304
+ "stop": 154087,
305
+ "trace_length": 35,
306
+ "trace_sha256": "d4fb51ffd60186dab10ef98ff501ccc8eda3f17e1c3d7bc04d6d49e4ee3c70ea"
307
+ },
308
+ "input": {
309
+ "busy_slot": 0,
310
+ "client": 1,
311
+ "complete": 0,
312
+ "connection": 2,
313
+ "count": 3,
314
+ "delay": 1,
315
+ "enabled_a": 1,
316
+ "enabled_b": 1,
317
+ "entity": 1,
318
+ "follow": 0,
319
+ "health": 1,
320
+ "name": "exact-time",
321
+ "other_busy": 0,
322
+ "other_connection": 2,
323
+ "other_follow": 0,
324
+ "other_health": 1,
325
+ "other_team": 0,
326
+ "own_busy": 0,
327
+ "selector": 0,
328
+ "start": 9000,
329
+ "team": 0,
330
+ "tick": 10000
331
+ },
332
+ "unchanged": true
333
+ },
334
+ {
335
+ "eligible": false,
336
+ "execution": {
337
+ "stop": 154087,
338
+ "trace_length": 35,
339
+ "trace_sha256": "d4fb51ffd60186dab10ef98ff501ccc8eda3f17e1c3d7bc04d6d49e4ee3c70ea"
340
+ },
341
+ "input": {
342
+ "busy_slot": 0,
343
+ "client": 1,
344
+ "complete": 0,
345
+ "connection": 2,
346
+ "count": 3,
347
+ "delay": 1,
348
+ "enabled_a": 1,
349
+ "enabled_b": 1,
350
+ "entity": 1,
351
+ "follow": 0,
352
+ "health": 1,
353
+ "name": "exact-time",
354
+ "other_busy": 0,
355
+ "other_connection": 2,
356
+ "other_follow": 0,
357
+ "other_health": 1,
358
+ "other_team": 0,
359
+ "own_busy": 0,
360
+ "selector": 1,
361
+ "start": 9000,
362
+ "team": 0,
363
+ "tick": 10000
364
+ },
365
+ "unchanged": true
366
+ },
367
+ {
368
+ "eligible": false,
369
+ "execution": {
370
+ "stop": 154087,
371
+ "trace_length": 35,
372
+ "trace_sha256": "d4fb51ffd60186dab10ef98ff501ccc8eda3f17e1c3d7bc04d6d49e4ee3c70ea"
373
+ },
374
+ "input": {
375
+ "busy_slot": 0,
376
+ "client": 1,
377
+ "complete": 0,
378
+ "connection": 2,
379
+ "count": 3,
380
+ "delay": 1,
381
+ "enabled_a": 1,
382
+ "enabled_b": 1,
383
+ "entity": 1,
384
+ "follow": 0,
385
+ "health": 1,
386
+ "name": "exact-time",
387
+ "other_busy": 0,
388
+ "other_connection": 2,
389
+ "other_follow": 0,
390
+ "other_health": 1,
391
+ "other_team": 0,
392
+ "own_busy": 0,
393
+ "selector": 2,
394
+ "start": 9000,
395
+ "team": 0,
396
+ "tick": 10000
397
+ },
398
+ "unchanged": true
399
+ },
400
+ {
401
+ "eligible": false,
402
+ "execution": {
403
+ "stop": 154087,
404
+ "trace_length": 35,
405
+ "trace_sha256": "d4fb51ffd60186dab10ef98ff501ccc8eda3f17e1c3d7bc04d6d49e4ee3c70ea"
406
+ },
407
+ "input": {
408
+ "busy_slot": 0,
409
+ "client": 1,
410
+ "complete": 0,
411
+ "connection": 2,
412
+ "count": 3,
413
+ "delay": 1,
414
+ "enabled_a": 1,
415
+ "enabled_b": 1,
416
+ "entity": 1,
417
+ "follow": 0,
418
+ "health": 1,
419
+ "name": "before-time",
420
+ "other_busy": 0,
421
+ "other_connection": 2,
422
+ "other_follow": 0,
423
+ "other_health": 1,
424
+ "other_team": 0,
425
+ "own_busy": 0,
426
+ "selector": 0,
427
+ "start": 9500,
428
+ "team": 0,
429
+ "tick": 10000
430
+ },
431
+ "unchanged": true
432
+ },
433
+ {
434
+ "eligible": false,
435
+ "execution": {
436
+ "stop": 154087,
437
+ "trace_length": 35,
438
+ "trace_sha256": "d4fb51ffd60186dab10ef98ff501ccc8eda3f17e1c3d7bc04d6d49e4ee3c70ea"
439
+ },
440
+ "input": {
441
+ "busy_slot": 0,
442
+ "client": 1,
443
+ "complete": 0,
444
+ "connection": 2,
445
+ "count": 3,
446
+ "delay": 1,
447
+ "enabled_a": 1,
448
+ "enabled_b": 1,
449
+ "entity": 1,
450
+ "follow": 0,
451
+ "health": 1,
452
+ "name": "before-time",
453
+ "other_busy": 0,
454
+ "other_connection": 2,
455
+ "other_follow": 0,
456
+ "other_health": 1,
457
+ "other_team": 0,
458
+ "own_busy": 0,
459
+ "selector": 1,
460
+ "start": 9500,
461
+ "team": 0,
462
+ "tick": 10000
463
+ },
464
+ "unchanged": true
465
+ },
466
+ {
467
+ "eligible": false,
468
+ "execution": {
469
+ "stop": 154087,
470
+ "trace_length": 35,
471
+ "trace_sha256": "d4fb51ffd60186dab10ef98ff501ccc8eda3f17e1c3d7bc04d6d49e4ee3c70ea"
472
+ },
473
+ "input": {
474
+ "busy_slot": 0,
475
+ "client": 1,
476
+ "complete": 0,
477
+ "connection": 2,
478
+ "count": 3,
479
+ "delay": 1,
480
+ "enabled_a": 1,
481
+ "enabled_b": 1,
482
+ "entity": 1,
483
+ "follow": 0,
484
+ "health": 1,
485
+ "name": "before-time",
486
+ "other_busy": 0,
487
+ "other_connection": 2,
488
+ "other_follow": 0,
489
+ "other_health": 1,
490
+ "other_team": 0,
491
+ "own_busy": 0,
492
+ "selector": 2,
493
+ "start": 9500,
494
+ "team": 0,
495
+ "tick": 10000
496
+ },
497
+ "unchanged": true
498
+ },
499
+ {
500
+ "eligible": true,
501
+ "execution": {
502
+ "stop": 153596,
503
+ "trace_length": 245,
504
+ "trace_sha256": "44ba48e6f2b7b990a58631757608185e6b8b449eb085a512113022a49d7698c3"
505
+ },
506
+ "input": {
507
+ "busy_slot": 0,
508
+ "client": 1,
509
+ "complete": 0,
510
+ "connection": 2,
511
+ "count": 3,
512
+ "delay": 1,
513
+ "enabled_a": 1,
514
+ "enabled_b": 1,
515
+ "entity": 1,
516
+ "follow": 0,
517
+ "health": 1,
518
+ "name": "wrapped-time",
519
+ "other_busy": 0,
520
+ "other_connection": 2,
521
+ "other_follow": 0,
522
+ "other_health": 1,
523
+ "other_team": 0,
524
+ "own_busy": 0,
525
+ "selector": 0,
526
+ "start": 4294963200,
527
+ "team": 0,
528
+ "tick": 10
529
+ },
530
+ "unchanged": true
531
+ },
532
+ {
533
+ "eligible": true,
534
+ "execution": {
535
+ "stop": 153596,
536
+ "trace_length": 247,
537
+ "trace_sha256": "f26856fab38858f4e765c9d1a9db6e1e38482f4110d22e0b7f2db95ce670bb18"
538
+ },
539
+ "input": {
540
+ "busy_slot": 0,
541
+ "client": 1,
542
+ "complete": 0,
543
+ "connection": 2,
544
+ "count": 3,
545
+ "delay": 1,
546
+ "enabled_a": 1,
547
+ "enabled_b": 1,
548
+ "entity": 1,
549
+ "follow": 0,
550
+ "health": 1,
551
+ "name": "wrapped-time",
552
+ "other_busy": 0,
553
+ "other_connection": 2,
554
+ "other_follow": 0,
555
+ "other_health": 1,
556
+ "other_team": 0,
557
+ "own_busy": 0,
558
+ "selector": 1,
559
+ "start": 4294963200,
560
+ "team": 0,
561
+ "tick": 10
562
+ },
563
+ "unchanged": true
564
+ },
565
+ {
566
+ "eligible": true,
567
+ "execution": {
568
+ "stop": 153596,
569
+ "trace_length": 245,
570
+ "trace_sha256": "44ba48e6f2b7b990a58631757608185e6b8b449eb085a512113022a49d7698c3"
571
+ },
572
+ "input": {
573
+ "busy_slot": 0,
574
+ "client": 1,
575
+ "complete": 0,
576
+ "connection": 2,
577
+ "count": 3,
578
+ "delay": 1,
579
+ "enabled_a": 1,
580
+ "enabled_b": 1,
581
+ "entity": 1,
582
+ "follow": 0,
583
+ "health": 1,
584
+ "name": "wrapped-time",
585
+ "other_busy": 0,
586
+ "other_connection": 2,
587
+ "other_follow": 0,
588
+ "other_health": 1,
589
+ "other_team": 0,
590
+ "own_busy": 0,
591
+ "selector": 2,
592
+ "start": 4294963200,
593
+ "team": 0,
594
+ "tick": 10
595
+ },
596
+ "unchanged": true
597
+ },
598
+ {
599
+ "eligible": true,
600
+ "execution": {
601
+ "stop": 153596,
602
+ "trace_length": 245,
603
+ "trace_sha256": "44ba48e6f2b7b990a58631757608185e6b8b449eb085a512113022a49d7698c3"
604
+ },
605
+ "input": {
606
+ "busy_slot": 0,
607
+ "client": 1,
608
+ "complete": 0,
609
+ "connection": 2,
610
+ "count": 3,
611
+ "delay": 4294967295,
612
+ "enabled_a": 1,
613
+ "enabled_b": 1,
614
+ "entity": 1,
615
+ "follow": 0,
616
+ "health": 1,
617
+ "name": "negative-delay",
618
+ "other_busy": 0,
619
+ "other_connection": 2,
620
+ "other_follow": 0,
621
+ "other_health": 1,
622
+ "other_team": 0,
623
+ "own_busy": 0,
624
+ "selector": 0,
625
+ "start": 10000,
626
+ "team": 0,
627
+ "tick": 10000
628
+ },
629
+ "unchanged": true
630
+ },
631
+ {
632
+ "eligible": true,
633
+ "execution": {
634
+ "stop": 153596,
635
+ "trace_length": 247,
636
+ "trace_sha256": "f26856fab38858f4e765c9d1a9db6e1e38482f4110d22e0b7f2db95ce670bb18"
637
+ },
638
+ "input": {
639
+ "busy_slot": 0,
640
+ "client": 1,
641
+ "complete": 0,
642
+ "connection": 2,
643
+ "count": 3,
644
+ "delay": 4294967295,
645
+ "enabled_a": 1,
646
+ "enabled_b": 1,
647
+ "entity": 1,
648
+ "follow": 0,
649
+ "health": 1,
650
+ "name": "negative-delay",
651
+ "other_busy": 0,
652
+ "other_connection": 2,
653
+ "other_follow": 0,
654
+ "other_health": 1,
655
+ "other_team": 0,
656
+ "own_busy": 0,
657
+ "selector": 1,
658
+ "start": 10000,
659
+ "team": 0,
660
+ "tick": 10000
661
+ },
662
+ "unchanged": true
663
+ },
664
+ {
665
+ "eligible": true,
666
+ "execution": {
667
+ "stop": 153596,
668
+ "trace_length": 245,
669
+ "trace_sha256": "44ba48e6f2b7b990a58631757608185e6b8b449eb085a512113022a49d7698c3"
670
+ },
671
+ "input": {
672
+ "busy_slot": 0,
673
+ "client": 1,
674
+ "complete": 0,
675
+ "connection": 2,
676
+ "count": 3,
677
+ "delay": 4294967295,
678
+ "enabled_a": 1,
679
+ "enabled_b": 1,
680
+ "entity": 1,
681
+ "follow": 0,
682
+ "health": 1,
683
+ "name": "negative-delay",
684
+ "other_busy": 0,
685
+ "other_connection": 2,
686
+ "other_follow": 0,
687
+ "other_health": 1,
688
+ "other_team": 0,
689
+ "own_busy": 0,
690
+ "selector": 2,
691
+ "start": 10000,
692
+ "team": 0,
693
+ "tick": 10000
694
+ },
695
+ "unchanged": true
696
+ },
697
+ {
698
+ "eligible": false,
699
+ "execution": {
700
+ "stop": 154087,
701
+ "trace_length": 39,
702
+ "trace_sha256": "e9d790f6ce2fe52a768db34a7c1b3afd91bb1ebeda84c353f8a4ea0b445c7111"
703
+ },
704
+ "input": {
705
+ "busy_slot": 0,
706
+ "client": 1,
707
+ "complete": 1,
708
+ "connection": 2,
709
+ "count": 3,
710
+ "delay": 1,
711
+ "enabled_a": 1,
712
+ "enabled_b": 1,
713
+ "entity": 1,
714
+ "follow": 0,
715
+ "health": 1,
716
+ "name": "completed",
717
+ "other_busy": 0,
718
+ "other_connection": 2,
719
+ "other_follow": 0,
720
+ "other_health": 1,
721
+ "other_team": 0,
722
+ "own_busy": 0,
723
+ "selector": 0,
724
+ "start": 8000,
725
+ "team": 0,
726
+ "tick": 10000
727
+ },
728
+ "unchanged": true
729
+ },
730
+ {
731
+ "eligible": false,
732
+ "execution": {
733
+ "stop": 154087,
734
+ "trace_length": 39,
735
+ "trace_sha256": "e9d790f6ce2fe52a768db34a7c1b3afd91bb1ebeda84c353f8a4ea0b445c7111"
736
+ },
737
+ "input": {
738
+ "busy_slot": 0,
739
+ "client": 1,
740
+ "complete": 1,
741
+ "connection": 2,
742
+ "count": 3,
743
+ "delay": 1,
744
+ "enabled_a": 1,
745
+ "enabled_b": 1,
746
+ "entity": 1,
747
+ "follow": 0,
748
+ "health": 1,
749
+ "name": "completed",
750
+ "other_busy": 0,
751
+ "other_connection": 2,
752
+ "other_follow": 0,
753
+ "other_health": 1,
754
+ "other_team": 0,
755
+ "own_busy": 0,
756
+ "selector": 1,
757
+ "start": 8000,
758
+ "team": 0,
759
+ "tick": 10000
760
+ },
761
+ "unchanged": true
762
+ },
763
+ {
764
+ "eligible": false,
765
+ "execution": {
766
+ "stop": 154087,
767
+ "trace_length": 39,
768
+ "trace_sha256": "e9d790f6ce2fe52a768db34a7c1b3afd91bb1ebeda84c353f8a4ea0b445c7111"
769
+ },
770
+ "input": {
771
+ "busy_slot": 0,
772
+ "client": 1,
773
+ "complete": 1,
774
+ "connection": 2,
775
+ "count": 3,
776
+ "delay": 1,
777
+ "enabled_a": 1,
778
+ "enabled_b": 1,
779
+ "entity": 1,
780
+ "follow": 0,
781
+ "health": 1,
782
+ "name": "completed",
783
+ "other_busy": 0,
784
+ "other_connection": 2,
785
+ "other_follow": 0,
786
+ "other_health": 1,
787
+ "other_team": 0,
788
+ "own_busy": 0,
789
+ "selector": 2,
790
+ "start": 8000,
791
+ "team": 0,
792
+ "tick": 10000
793
+ },
794
+ "unchanged": true
795
+ },
796
+ {
797
+ "eligible": false,
798
+ "execution": {
799
+ "stop": 154087,
800
+ "trace_length": 53,
801
+ "trace_sha256": "a032d7e4d6cfeb2a51cac356e6903338ffa13cc7377f44928e30fe7a60fe0690"
802
+ },
803
+ "input": {
804
+ "busy_slot": 0,
805
+ "client": 1,
806
+ "complete": 0,
807
+ "connection": 1,
808
+ "count": 3,
809
+ "delay": 1,
810
+ "enabled_a": 1,
811
+ "enabled_b": 1,
812
+ "entity": 1,
813
+ "follow": 0,
814
+ "health": 1,
815
+ "name": "unconnected",
816
+ "other_busy": 0,
817
+ "other_connection": 2,
818
+ "other_follow": 0,
819
+ "other_health": 1,
820
+ "other_team": 0,
821
+ "own_busy": 0,
822
+ "selector": 0,
823
+ "start": 8000,
824
+ "team": 0,
825
+ "tick": 10000
826
+ },
827
+ "unchanged": true
828
+ },
829
+ {
830
+ "eligible": false,
831
+ "execution": {
832
+ "stop": 154087,
833
+ "trace_length": 53,
834
+ "trace_sha256": "a032d7e4d6cfeb2a51cac356e6903338ffa13cc7377f44928e30fe7a60fe0690"
835
+ },
836
+ "input": {
837
+ "busy_slot": 0,
838
+ "client": 1,
839
+ "complete": 0,
840
+ "connection": 1,
841
+ "count": 3,
842
+ "delay": 1,
843
+ "enabled_a": 1,
844
+ "enabled_b": 1,
845
+ "entity": 1,
846
+ "follow": 0,
847
+ "health": 1,
848
+ "name": "unconnected",
849
+ "other_busy": 0,
850
+ "other_connection": 2,
851
+ "other_follow": 0,
852
+ "other_health": 1,
853
+ "other_team": 0,
854
+ "own_busy": 0,
855
+ "selector": 1,
856
+ "start": 8000,
857
+ "team": 0,
858
+ "tick": 10000
859
+ },
860
+ "unchanged": true
861
+ },
862
+ {
863
+ "eligible": false,
864
+ "execution": {
865
+ "stop": 154087,
866
+ "trace_length": 53,
867
+ "trace_sha256": "a032d7e4d6cfeb2a51cac356e6903338ffa13cc7377f44928e30fe7a60fe0690"
868
+ },
869
+ "input": {
870
+ "busy_slot": 0,
871
+ "client": 1,
872
+ "complete": 0,
873
+ "connection": 1,
874
+ "count": 3,
875
+ "delay": 1,
876
+ "enabled_a": 1,
877
+ "enabled_b": 1,
878
+ "entity": 1,
879
+ "follow": 0,
880
+ "health": 1,
881
+ "name": "unconnected",
882
+ "other_busy": 0,
883
+ "other_connection": 2,
884
+ "other_follow": 0,
885
+ "other_health": 1,
886
+ "other_team": 0,
887
+ "own_busy": 0,
888
+ "selector": 2,
889
+ "start": 8000,
890
+ "team": 0,
891
+ "tick": 10000
892
+ },
893
+ "unchanged": true
894
+ },
895
+ {
896
+ "eligible": false,
897
+ "execution": {
898
+ "stop": 154087,
899
+ "trace_length": 60,
900
+ "trace_sha256": "a825cd99f76bbd15e4584c1943cdfbe407c84c0e858dec33e0a4d39f260ab551"
901
+ },
902
+ "input": {
903
+ "busy_slot": 0,
904
+ "client": 1,
905
+ "complete": 0,
906
+ "connection": 2,
907
+ "count": 3,
908
+ "delay": 1,
909
+ "enabled_a": 1,
910
+ "enabled_b": 1,
911
+ "entity": 1,
912
+ "follow": 0,
913
+ "health": 0,
914
+ "name": "dead",
915
+ "other_busy": 0,
916
+ "other_connection": 2,
917
+ "other_follow": 0,
918
+ "other_health": 1,
919
+ "other_team": 0,
920
+ "own_busy": 0,
921
+ "selector": 0,
922
+ "start": 8000,
923
+ "team": 0,
924
+ "tick": 10000
925
+ },
926
+ "unchanged": true
927
+ },
928
+ {
929
+ "eligible": false,
930
+ "execution": {
931
+ "stop": 154087,
932
+ "trace_length": 60,
933
+ "trace_sha256": "a825cd99f76bbd15e4584c1943cdfbe407c84c0e858dec33e0a4d39f260ab551"
934
+ },
935
+ "input": {
936
+ "busy_slot": 0,
937
+ "client": 1,
938
+ "complete": 0,
939
+ "connection": 2,
940
+ "count": 3,
941
+ "delay": 1,
942
+ "enabled_a": 1,
943
+ "enabled_b": 1,
944
+ "entity": 1,
945
+ "follow": 0,
946
+ "health": 0,
947
+ "name": "dead",
948
+ "other_busy": 0,
949
+ "other_connection": 2,
950
+ "other_follow": 0,
951
+ "other_health": 1,
952
+ "other_team": 0,
953
+ "own_busy": 0,
954
+ "selector": 1,
955
+ "start": 8000,
956
+ "team": 0,
957
+ "tick": 10000
958
+ },
959
+ "unchanged": true
960
+ },
961
+ {
962
+ "eligible": false,
963
+ "execution": {
964
+ "stop": 154087,
965
+ "trace_length": 60,
966
+ "trace_sha256": "a825cd99f76bbd15e4584c1943cdfbe407c84c0e858dec33e0a4d39f260ab551"
967
+ },
968
+ "input": {
969
+ "busy_slot": 0,
970
+ "client": 1,
971
+ "complete": 0,
972
+ "connection": 2,
973
+ "count": 3,
974
+ "delay": 1,
975
+ "enabled_a": 1,
976
+ "enabled_b": 1,
977
+ "entity": 1,
978
+ "follow": 0,
979
+ "health": 0,
980
+ "name": "dead",
981
+ "other_busy": 0,
982
+ "other_connection": 2,
983
+ "other_follow": 0,
984
+ "other_health": 1,
985
+ "other_team": 0,
986
+ "own_busy": 0,
987
+ "selector": 2,
988
+ "start": 8000,
989
+ "team": 0,
990
+ "tick": 10000
991
+ },
992
+ "unchanged": true
993
+ },
994
+ {
995
+ "eligible": false,
996
+ "execution": {
997
+ "stop": 154087,
998
+ "trace_length": 67,
999
+ "trace_sha256": "01be4305384015bda37dc1478470e42c0e2b5c009dcbaa6c2055b802ed3519d6"
1000
+ },
1001
+ "input": {
1002
+ "busy_slot": 0,
1003
+ "client": 1,
1004
+ "complete": 0,
1005
+ "connection": 2,
1006
+ "count": 3,
1007
+ "delay": 1,
1008
+ "enabled_a": 1,
1009
+ "enabled_b": 1,
1010
+ "entity": 1,
1011
+ "follow": 1,
1012
+ "health": 1,
1013
+ "name": "following",
1014
+ "other_busy": 0,
1015
+ "other_connection": 2,
1016
+ "other_follow": 0,
1017
+ "other_health": 1,
1018
+ "other_team": 0,
1019
+ "own_busy": 0,
1020
+ "selector": 0,
1021
+ "start": 8000,
1022
+ "team": 0,
1023
+ "tick": 10000
1024
+ },
1025
+ "unchanged": true
1026
+ },
1027
+ {
1028
+ "eligible": false,
1029
+ "execution": {
1030
+ "stop": 154087,
1031
+ "trace_length": 67,
1032
+ "trace_sha256": "01be4305384015bda37dc1478470e42c0e2b5c009dcbaa6c2055b802ed3519d6"
1033
+ },
1034
+ "input": {
1035
+ "busy_slot": 0,
1036
+ "client": 1,
1037
+ "complete": 0,
1038
+ "connection": 2,
1039
+ "count": 3,
1040
+ "delay": 1,
1041
+ "enabled_a": 1,
1042
+ "enabled_b": 1,
1043
+ "entity": 1,
1044
+ "follow": 1,
1045
+ "health": 1,
1046
+ "name": "following",
1047
+ "other_busy": 0,
1048
+ "other_connection": 2,
1049
+ "other_follow": 0,
1050
+ "other_health": 1,
1051
+ "other_team": 0,
1052
+ "own_busy": 0,
1053
+ "selector": 1,
1054
+ "start": 8000,
1055
+ "team": 0,
1056
+ "tick": 10000
1057
+ },
1058
+ "unchanged": true
1059
+ },
1060
+ {
1061
+ "eligible": false,
1062
+ "execution": {
1063
+ "stop": 154087,
1064
+ "trace_length": 67,
1065
+ "trace_sha256": "01be4305384015bda37dc1478470e42c0e2b5c009dcbaa6c2055b802ed3519d6"
1066
+ },
1067
+ "input": {
1068
+ "busy_slot": 0,
1069
+ "client": 1,
1070
+ "complete": 0,
1071
+ "connection": 2,
1072
+ "count": 3,
1073
+ "delay": 1,
1074
+ "enabled_a": 1,
1075
+ "enabled_b": 1,
1076
+ "entity": 1,
1077
+ "follow": 1,
1078
+ "health": 1,
1079
+ "name": "following",
1080
+ "other_busy": 0,
1081
+ "other_connection": 2,
1082
+ "other_follow": 0,
1083
+ "other_health": 1,
1084
+ "other_team": 0,
1085
+ "own_busy": 0,
1086
+ "selector": 2,
1087
+ "start": 8000,
1088
+ "team": 0,
1089
+ "tick": 10000
1090
+ },
1091
+ "unchanged": true
1092
+ },
1093
+ {
1094
+ "eligible": false,
1095
+ "execution": {
1096
+ "stop": 154087,
1097
+ "trace_length": 82,
1098
+ "trace_sha256": "04f1008081dd916f7f12c925d6421219f7823d8a044b18f90dc291e6a1dcdc0c"
1099
+ },
1100
+ "input": {
1101
+ "busy_slot": 0,
1102
+ "client": 1,
1103
+ "complete": 0,
1104
+ "connection": 2,
1105
+ "count": 3,
1106
+ "delay": 1,
1107
+ "enabled_a": 1,
1108
+ "enabled_b": 1,
1109
+ "entity": 1,
1110
+ "follow": 0,
1111
+ "health": 1,
1112
+ "name": "wrong-team",
1113
+ "other_busy": 0,
1114
+ "other_connection": 2,
1115
+ "other_follow": 0,
1116
+ "other_health": 1,
1117
+ "other_team": 0,
1118
+ "own_busy": 0,
1119
+ "selector": 0,
1120
+ "start": 8000,
1121
+ "team": 3,
1122
+ "tick": 10000
1123
+ },
1124
+ "unchanged": true
1125
+ },
1126
+ {
1127
+ "eligible": false,
1128
+ "execution": {
1129
+ "stop": 154087,
1130
+ "trace_length": 84,
1131
+ "trace_sha256": "6bb3dca95793a6e4800f6b2b297f55324d5e6945405a69383778606d2442f4a0"
1132
+ },
1133
+ "input": {
1134
+ "busy_slot": 0,
1135
+ "client": 1,
1136
+ "complete": 0,
1137
+ "connection": 2,
1138
+ "count": 3,
1139
+ "delay": 1,
1140
+ "enabled_a": 1,
1141
+ "enabled_b": 1,
1142
+ "entity": 1,
1143
+ "follow": 0,
1144
+ "health": 1,
1145
+ "name": "wrong-team",
1146
+ "other_busy": 0,
1147
+ "other_connection": 2,
1148
+ "other_follow": 0,
1149
+ "other_health": 1,
1150
+ "other_team": 0,
1151
+ "own_busy": 0,
1152
+ "selector": 1,
1153
+ "start": 8000,
1154
+ "team": 3,
1155
+ "tick": 10000
1156
+ },
1157
+ "unchanged": true
1158
+ },
1159
+ {
1160
+ "eligible": false,
1161
+ "execution": {
1162
+ "stop": 154087,
1163
+ "trace_length": 82,
1164
+ "trace_sha256": "04f1008081dd916f7f12c925d6421219f7823d8a044b18f90dc291e6a1dcdc0c"
1165
+ },
1166
+ "input": {
1167
+ "busy_slot": 0,
1168
+ "client": 1,
1169
+ "complete": 0,
1170
+ "connection": 2,
1171
+ "count": 3,
1172
+ "delay": 1,
1173
+ "enabled_a": 1,
1174
+ "enabled_b": 1,
1175
+ "entity": 1,
1176
+ "follow": 0,
1177
+ "health": 1,
1178
+ "name": "wrong-team",
1179
+ "other_busy": 0,
1180
+ "other_connection": 2,
1181
+ "other_follow": 0,
1182
+ "other_health": 1,
1183
+ "other_team": 0,
1184
+ "own_busy": 0,
1185
+ "selector": 2,
1186
+ "start": 8000,
1187
+ "team": 3,
1188
+ "tick": 10000
1189
+ },
1190
+ "unchanged": true
1191
+ },
1192
+ {
1193
+ "eligible": false,
1194
+ "execution": {
1195
+ "stop": 154087,
1196
+ "trace_length": 10,
1197
+ "trace_sha256": "1f7d93086bd47bcb62053126dead607c5b9452628ea8dc18671ad3c157158249"
1198
+ },
1199
+ "input": {
1200
+ "busy_slot": 0,
1201
+ "client": 1,
1202
+ "complete": 0,
1203
+ "connection": 2,
1204
+ "count": 3,
1205
+ "delay": 1,
1206
+ "enabled_a": 1,
1207
+ "enabled_b": 1,
1208
+ "entity": 0,
1209
+ "follow": 0,
1210
+ "health": 1,
1211
+ "name": "null-entity",
1212
+ "other_busy": 0,
1213
+ "other_connection": 2,
1214
+ "other_follow": 0,
1215
+ "other_health": 1,
1216
+ "other_team": 0,
1217
+ "own_busy": 0,
1218
+ "selector": 0,
1219
+ "start": 8000,
1220
+ "team": 0,
1221
+ "tick": 10000
1222
+ },
1223
+ "unchanged": true
1224
+ },
1225
+ {
1226
+ "eligible": false,
1227
+ "execution": {
1228
+ "stop": 154087,
1229
+ "trace_length": 10,
1230
+ "trace_sha256": "1f7d93086bd47bcb62053126dead607c5b9452628ea8dc18671ad3c157158249"
1231
+ },
1232
+ "input": {
1233
+ "busy_slot": 0,
1234
+ "client": 1,
1235
+ "complete": 0,
1236
+ "connection": 2,
1237
+ "count": 3,
1238
+ "delay": 1,
1239
+ "enabled_a": 1,
1240
+ "enabled_b": 1,
1241
+ "entity": 0,
1242
+ "follow": 0,
1243
+ "health": 1,
1244
+ "name": "null-entity",
1245
+ "other_busy": 0,
1246
+ "other_connection": 2,
1247
+ "other_follow": 0,
1248
+ "other_health": 1,
1249
+ "other_team": 0,
1250
+ "own_busy": 0,
1251
+ "selector": 1,
1252
+ "start": 8000,
1253
+ "team": 0,
1254
+ "tick": 10000
1255
+ },
1256
+ "unchanged": true
1257
+ },
1258
+ {
1259
+ "eligible": false,
1260
+ "execution": {
1261
+ "stop": 154087,
1262
+ "trace_length": 10,
1263
+ "trace_sha256": "1f7d93086bd47bcb62053126dead607c5b9452628ea8dc18671ad3c157158249"
1264
+ },
1265
+ "input": {
1266
+ "busy_slot": 0,
1267
+ "client": 1,
1268
+ "complete": 0,
1269
+ "connection": 2,
1270
+ "count": 3,
1271
+ "delay": 1,
1272
+ "enabled_a": 1,
1273
+ "enabled_b": 1,
1274
+ "entity": 0,
1275
+ "follow": 0,
1276
+ "health": 1,
1277
+ "name": "null-entity",
1278
+ "other_busy": 0,
1279
+ "other_connection": 2,
1280
+ "other_follow": 0,
1281
+ "other_health": 1,
1282
+ "other_team": 0,
1283
+ "own_busy": 0,
1284
+ "selector": 2,
1285
+ "start": 8000,
1286
+ "team": 0,
1287
+ "tick": 10000
1288
+ },
1289
+ "unchanged": true
1290
+ },
1291
+ {
1292
+ "eligible": false,
1293
+ "execution": {
1294
+ "stop": 154087,
1295
+ "trace_length": 17,
1296
+ "trace_sha256": "d36a0cc16161a894486655d9ff8bd5194b3973c1371cbf4eb6951483d86e8276"
1297
+ },
1298
+ "input": {
1299
+ "busy_slot": 0,
1300
+ "client": 0,
1301
+ "complete": 0,
1302
+ "connection": 2,
1303
+ "count": 3,
1304
+ "delay": 1,
1305
+ "enabled_a": 1,
1306
+ "enabled_b": 1,
1307
+ "entity": 1,
1308
+ "follow": 0,
1309
+ "health": 1,
1310
+ "name": "null-client",
1311
+ "other_busy": 0,
1312
+ "other_connection": 2,
1313
+ "other_follow": 0,
1314
+ "other_health": 1,
1315
+ "other_team": 0,
1316
+ "own_busy": 0,
1317
+ "selector": 0,
1318
+ "start": 8000,
1319
+ "team": 0,
1320
+ "tick": 10000
1321
+ },
1322
+ "unchanged": true
1323
+ },
1324
+ {
1325
+ "eligible": false,
1326
+ "execution": {
1327
+ "stop": 154087,
1328
+ "trace_length": 17,
1329
+ "trace_sha256": "d36a0cc16161a894486655d9ff8bd5194b3973c1371cbf4eb6951483d86e8276"
1330
+ },
1331
+ "input": {
1332
+ "busy_slot": 0,
1333
+ "client": 0,
1334
+ "complete": 0,
1335
+ "connection": 2,
1336
+ "count": 3,
1337
+ "delay": 1,
1338
+ "enabled_a": 1,
1339
+ "enabled_b": 1,
1340
+ "entity": 1,
1341
+ "follow": 0,
1342
+ "health": 1,
1343
+ "name": "null-client",
1344
+ "other_busy": 0,
1345
+ "other_connection": 2,
1346
+ "other_follow": 0,
1347
+ "other_health": 1,
1348
+ "other_team": 0,
1349
+ "own_busy": 0,
1350
+ "selector": 1,
1351
+ "start": 8000,
1352
+ "team": 0,
1353
+ "tick": 10000
1354
+ },
1355
+ "unchanged": true
1356
+ },
1357
+ {
1358
+ "eligible": false,
1359
+ "execution": {
1360
+ "stop": 154087,
1361
+ "trace_length": 17,
1362
+ "trace_sha256": "d36a0cc16161a894486655d9ff8bd5194b3973c1371cbf4eb6951483d86e8276"
1363
+ },
1364
+ "input": {
1365
+ "busy_slot": 0,
1366
+ "client": 0,
1367
+ "complete": 0,
1368
+ "connection": 2,
1369
+ "count": 3,
1370
+ "delay": 1,
1371
+ "enabled_a": 1,
1372
+ "enabled_b": 1,
1373
+ "entity": 1,
1374
+ "follow": 0,
1375
+ "health": 1,
1376
+ "name": "null-client",
1377
+ "other_busy": 0,
1378
+ "other_connection": 2,
1379
+ "other_follow": 0,
1380
+ "other_health": 1,
1381
+ "other_team": 0,
1382
+ "own_busy": 0,
1383
+ "selector": 2,
1384
+ "start": 8000,
1385
+ "team": 0,
1386
+ "tick": 10000
1387
+ },
1388
+ "unchanged": true
1389
+ },
1390
+ {
1391
+ "eligible": false,
1392
+ "execution": {
1393
+ "stop": 154087,
1394
+ "trace_length": 145,
1395
+ "trace_sha256": "21c46890f6a2da6277f8dba084056e3a1c0852e27db09e19837627f420244186"
1396
+ },
1397
+ "input": {
1398
+ "busy_slot": 0,
1399
+ "client": 1,
1400
+ "complete": 0,
1401
+ "connection": 2,
1402
+ "count": 3,
1403
+ "delay": 1,
1404
+ "enabled_a": 1,
1405
+ "enabled_b": 1,
1406
+ "entity": 1,
1407
+ "follow": 0,
1408
+ "health": 1,
1409
+ "name": "other-busy",
1410
+ "other_busy": 1,
1411
+ "other_connection": 2,
1412
+ "other_follow": 0,
1413
+ "other_health": 1,
1414
+ "other_team": 0,
1415
+ "own_busy": 0,
1416
+ "selector": 0,
1417
+ "start": 8000,
1418
+ "team": 0,
1419
+ "tick": 10000
1420
+ },
1421
+ "unchanged": true
1422
+ },
1423
+ {
1424
+ "eligible": false,
1425
+ "execution": {
1426
+ "stop": 154087,
1427
+ "trace_length": 147,
1428
+ "trace_sha256": "fb5d306162a2b8e5014083565ffa19456da2ccf271b61f09a505d6a4f6aa963b"
1429
+ },
1430
+ "input": {
1431
+ "busy_slot": 0,
1432
+ "client": 1,
1433
+ "complete": 0,
1434
+ "connection": 2,
1435
+ "count": 3,
1436
+ "delay": 1,
1437
+ "enabled_a": 1,
1438
+ "enabled_b": 1,
1439
+ "entity": 1,
1440
+ "follow": 0,
1441
+ "health": 1,
1442
+ "name": "other-busy",
1443
+ "other_busy": 1,
1444
+ "other_connection": 2,
1445
+ "other_follow": 0,
1446
+ "other_health": 1,
1447
+ "other_team": 0,
1448
+ "own_busy": 0,
1449
+ "selector": 1,
1450
+ "start": 8000,
1451
+ "team": 0,
1452
+ "tick": 10000
1453
+ },
1454
+ "unchanged": true
1455
+ },
1456
+ {
1457
+ "eligible": false,
1458
+ "execution": {
1459
+ "stop": 154087,
1460
+ "trace_length": 145,
1461
+ "trace_sha256": "21c46890f6a2da6277f8dba084056e3a1c0852e27db09e19837627f420244186"
1462
+ },
1463
+ "input": {
1464
+ "busy_slot": 0,
1465
+ "client": 1,
1466
+ "complete": 0,
1467
+ "connection": 2,
1468
+ "count": 3,
1469
+ "delay": 1,
1470
+ "enabled_a": 1,
1471
+ "enabled_b": 1,
1472
+ "entity": 1,
1473
+ "follow": 0,
1474
+ "health": 1,
1475
+ "name": "other-busy",
1476
+ "other_busy": 1,
1477
+ "other_connection": 2,
1478
+ "other_follow": 0,
1479
+ "other_health": 1,
1480
+ "other_team": 0,
1481
+ "own_busy": 0,
1482
+ "selector": 2,
1483
+ "start": 8000,
1484
+ "team": 0,
1485
+ "tick": 10000
1486
+ },
1487
+ "unchanged": true
1488
+ },
1489
+ {
1490
+ "eligible": true,
1491
+ "execution": {
1492
+ "stop": 153596,
1493
+ "trace_length": 222,
1494
+ "trace_sha256": "9fdadad2ce5234c4dbe4291dfd0913cc57b32c0d04973db8584de87003739ce5"
1495
+ },
1496
+ "input": {
1497
+ "busy_slot": 0,
1498
+ "client": 1,
1499
+ "complete": 0,
1500
+ "connection": 2,
1501
+ "count": 3,
1502
+ "delay": 1,
1503
+ "enabled_a": 1,
1504
+ "enabled_b": 1,
1505
+ "entity": 1,
1506
+ "follow": 0,
1507
+ "health": 1,
1508
+ "name": "other-dead",
1509
+ "other_busy": 1,
1510
+ "other_connection": 2,
1511
+ "other_follow": 0,
1512
+ "other_health": 0,
1513
+ "other_team": 0,
1514
+ "own_busy": 0,
1515
+ "selector": 0,
1516
+ "start": 8000,
1517
+ "team": 0,
1518
+ "tick": 10000
1519
+ },
1520
+ "unchanged": true
1521
+ },
1522
+ {
1523
+ "eligible": true,
1524
+ "execution": {
1525
+ "stop": 153596,
1526
+ "trace_length": 224,
1527
+ "trace_sha256": "21acea3a46f7556c47e5f18b32b18a1e79ffec8cec150981e5d167282c961677"
1528
+ },
1529
+ "input": {
1530
+ "busy_slot": 0,
1531
+ "client": 1,
1532
+ "complete": 0,
1533
+ "connection": 2,
1534
+ "count": 3,
1535
+ "delay": 1,
1536
+ "enabled_a": 1,
1537
+ "enabled_b": 1,
1538
+ "entity": 1,
1539
+ "follow": 0,
1540
+ "health": 1,
1541
+ "name": "other-dead",
1542
+ "other_busy": 1,
1543
+ "other_connection": 2,
1544
+ "other_follow": 0,
1545
+ "other_health": 0,
1546
+ "other_team": 0,
1547
+ "own_busy": 0,
1548
+ "selector": 1,
1549
+ "start": 8000,
1550
+ "team": 0,
1551
+ "tick": 10000
1552
+ },
1553
+ "unchanged": true
1554
+ },
1555
+ {
1556
+ "eligible": true,
1557
+ "execution": {
1558
+ "stop": 153596,
1559
+ "trace_length": 222,
1560
+ "trace_sha256": "9fdadad2ce5234c4dbe4291dfd0913cc57b32c0d04973db8584de87003739ce5"
1561
+ },
1562
+ "input": {
1563
+ "busy_slot": 0,
1564
+ "client": 1,
1565
+ "complete": 0,
1566
+ "connection": 2,
1567
+ "count": 3,
1568
+ "delay": 1,
1569
+ "enabled_a": 1,
1570
+ "enabled_b": 1,
1571
+ "entity": 1,
1572
+ "follow": 0,
1573
+ "health": 1,
1574
+ "name": "other-dead",
1575
+ "other_busy": 1,
1576
+ "other_connection": 2,
1577
+ "other_follow": 0,
1578
+ "other_health": 0,
1579
+ "other_team": 0,
1580
+ "own_busy": 0,
1581
+ "selector": 2,
1582
+ "start": 8000,
1583
+ "team": 0,
1584
+ "tick": 10000
1585
+ },
1586
+ "unchanged": true
1587
+ },
1588
+ {
1589
+ "eligible": true,
1590
+ "execution": {
1591
+ "stop": 153596,
1592
+ "trace_length": 229,
1593
+ "trace_sha256": "9f1d1bd138374f0ab80a319ced020983883f55db5df9866913567e80fd1e8640"
1594
+ },
1595
+ "input": {
1596
+ "busy_slot": 0,
1597
+ "client": 1,
1598
+ "complete": 0,
1599
+ "connection": 2,
1600
+ "count": 3,
1601
+ "delay": 1,
1602
+ "enabled_a": 1,
1603
+ "enabled_b": 1,
1604
+ "entity": 1,
1605
+ "follow": 0,
1606
+ "health": 1,
1607
+ "name": "other-following",
1608
+ "other_busy": 1,
1609
+ "other_connection": 2,
1610
+ "other_follow": 1,
1611
+ "other_health": 1,
1612
+ "other_team": 0,
1613
+ "own_busy": 0,
1614
+ "selector": 0,
1615
+ "start": 8000,
1616
+ "team": 0,
1617
+ "tick": 10000
1618
+ },
1619
+ "unchanged": true
1620
+ },
1621
+ {
1622
+ "eligible": true,
1623
+ "execution": {
1624
+ "stop": 153596,
1625
+ "trace_length": 231,
1626
+ "trace_sha256": "363374718969de78f2a04437ea3907d6ffad2b61b7425a627b3b59ccd088c994"
1627
+ },
1628
+ "input": {
1629
+ "busy_slot": 0,
1630
+ "client": 1,
1631
+ "complete": 0,
1632
+ "connection": 2,
1633
+ "count": 3,
1634
+ "delay": 1,
1635
+ "enabled_a": 1,
1636
+ "enabled_b": 1,
1637
+ "entity": 1,
1638
+ "follow": 0,
1639
+ "health": 1,
1640
+ "name": "other-following",
1641
+ "other_busy": 1,
1642
+ "other_connection": 2,
1643
+ "other_follow": 1,
1644
+ "other_health": 1,
1645
+ "other_team": 0,
1646
+ "own_busy": 0,
1647
+ "selector": 1,
1648
+ "start": 8000,
1649
+ "team": 0,
1650
+ "tick": 10000
1651
+ },
1652
+ "unchanged": true
1653
+ },
1654
+ {
1655
+ "eligible": true,
1656
+ "execution": {
1657
+ "stop": 153596,
1658
+ "trace_length": 229,
1659
+ "trace_sha256": "9f1d1bd138374f0ab80a319ced020983883f55db5df9866913567e80fd1e8640"
1660
+ },
1661
+ "input": {
1662
+ "busy_slot": 0,
1663
+ "client": 1,
1664
+ "complete": 0,
1665
+ "connection": 2,
1666
+ "count": 3,
1667
+ "delay": 1,
1668
+ "enabled_a": 1,
1669
+ "enabled_b": 1,
1670
+ "entity": 1,
1671
+ "follow": 0,
1672
+ "health": 1,
1673
+ "name": "other-following",
1674
+ "other_busy": 1,
1675
+ "other_connection": 2,
1676
+ "other_follow": 1,
1677
+ "other_health": 1,
1678
+ "other_team": 0,
1679
+ "own_busy": 0,
1680
+ "selector": 2,
1681
+ "start": 8000,
1682
+ "team": 0,
1683
+ "tick": 10000
1684
+ },
1685
+ "unchanged": true
1686
+ },
1687
+ {
1688
+ "eligible": true,
1689
+ "execution": {
1690
+ "stop": 153596,
1691
+ "trace_length": 215,
1692
+ "trace_sha256": "0c14afda485eea698199bde8038d05351409a74b5317ace2ecf80a83553fd23e"
1693
+ },
1694
+ "input": {
1695
+ "busy_slot": 0,
1696
+ "client": 1,
1697
+ "complete": 0,
1698
+ "connection": 2,
1699
+ "count": 3,
1700
+ "delay": 1,
1701
+ "enabled_a": 1,
1702
+ "enabled_b": 1,
1703
+ "entity": 1,
1704
+ "follow": 0,
1705
+ "health": 1,
1706
+ "name": "other-disconnected",
1707
+ "other_busy": 1,
1708
+ "other_connection": 1,
1709
+ "other_follow": 0,
1710
+ "other_health": 1,
1711
+ "other_team": 0,
1712
+ "own_busy": 0,
1713
+ "selector": 0,
1714
+ "start": 8000,
1715
+ "team": 0,
1716
+ "tick": 10000
1717
+ },
1718
+ "unchanged": true
1719
+ },
1720
+ {
1721
+ "eligible": true,
1722
+ "execution": {
1723
+ "stop": 153596,
1724
+ "trace_length": 217,
1725
+ "trace_sha256": "4ae366a916caea8b0817e2b0d5e5789a13cdbf0eead4ec290e64507a509ce61a"
1726
+ },
1727
+ "input": {
1728
+ "busy_slot": 0,
1729
+ "client": 1,
1730
+ "complete": 0,
1731
+ "connection": 2,
1732
+ "count": 3,
1733
+ "delay": 1,
1734
+ "enabled_a": 1,
1735
+ "enabled_b": 1,
1736
+ "entity": 1,
1737
+ "follow": 0,
1738
+ "health": 1,
1739
+ "name": "other-disconnected",
1740
+ "other_busy": 1,
1741
+ "other_connection": 1,
1742
+ "other_follow": 0,
1743
+ "other_health": 1,
1744
+ "other_team": 0,
1745
+ "own_busy": 0,
1746
+ "selector": 1,
1747
+ "start": 8000,
1748
+ "team": 0,
1749
+ "tick": 10000
1750
+ },
1751
+ "unchanged": true
1752
+ },
1753
+ {
1754
+ "eligible": true,
1755
+ "execution": {
1756
+ "stop": 153596,
1757
+ "trace_length": 215,
1758
+ "trace_sha256": "0c14afda485eea698199bde8038d05351409a74b5317ace2ecf80a83553fd23e"
1759
+ },
1760
+ "input": {
1761
+ "busy_slot": 0,
1762
+ "client": 1,
1763
+ "complete": 0,
1764
+ "connection": 2,
1765
+ "count": 3,
1766
+ "delay": 1,
1767
+ "enabled_a": 1,
1768
+ "enabled_b": 1,
1769
+ "entity": 1,
1770
+ "follow": 0,
1771
+ "health": 1,
1772
+ "name": "other-disconnected",
1773
+ "other_busy": 1,
1774
+ "other_connection": 1,
1775
+ "other_follow": 0,
1776
+ "other_health": 1,
1777
+ "other_team": 0,
1778
+ "own_busy": 0,
1779
+ "selector": 2,
1780
+ "start": 8000,
1781
+ "team": 0,
1782
+ "tick": 10000
1783
+ },
1784
+ "unchanged": true
1785
+ },
1786
+ {
1787
+ "eligible": true,
1788
+ "execution": {
1789
+ "stop": 153596,
1790
+ "trace_length": 240,
1791
+ "trace_sha256": "d6dddf0032beb801101b5c6df037606849ff7e990af0e0c24f45482311212bd4"
1792
+ },
1793
+ "input": {
1794
+ "busy_slot": 0,
1795
+ "client": 1,
1796
+ "complete": 0,
1797
+ "connection": 2,
1798
+ "count": 3,
1799
+ "delay": 1,
1800
+ "enabled_a": 1,
1801
+ "enabled_b": 1,
1802
+ "entity": 1,
1803
+ "follow": 0,
1804
+ "health": 1,
1805
+ "name": "other-team",
1806
+ "other_busy": 1,
1807
+ "other_connection": 2,
1808
+ "other_follow": 0,
1809
+ "other_health": 1,
1810
+ "other_team": 3,
1811
+ "own_busy": 0,
1812
+ "selector": 0,
1813
+ "start": 8000,
1814
+ "team": 0,
1815
+ "tick": 10000
1816
+ },
1817
+ "unchanged": true
1818
+ },
1819
+ {
1820
+ "eligible": true,
1821
+ "execution": {
1822
+ "stop": 153596,
1823
+ "trace_length": 242,
1824
+ "trace_sha256": "2ba3f3fb0bd0df8307800c950c53867bdc693df4573760f599ac77861fdc43e6"
1825
+ },
1826
+ "input": {
1827
+ "busy_slot": 0,
1828
+ "client": 1,
1829
+ "complete": 0,
1830
+ "connection": 2,
1831
+ "count": 3,
1832
+ "delay": 1,
1833
+ "enabled_a": 1,
1834
+ "enabled_b": 1,
1835
+ "entity": 1,
1836
+ "follow": 0,
1837
+ "health": 1,
1838
+ "name": "other-team",
1839
+ "other_busy": 1,
1840
+ "other_connection": 2,
1841
+ "other_follow": 0,
1842
+ "other_health": 1,
1843
+ "other_team": 3,
1844
+ "own_busy": 0,
1845
+ "selector": 1,
1846
+ "start": 8000,
1847
+ "team": 0,
1848
+ "tick": 10000
1849
+ },
1850
+ "unchanged": true
1851
+ },
1852
+ {
1853
+ "eligible": true,
1854
+ "execution": {
1855
+ "stop": 153596,
1856
+ "trace_length": 240,
1857
+ "trace_sha256": "d6dddf0032beb801101b5c6df037606849ff7e990af0e0c24f45482311212bd4"
1858
+ },
1859
+ "input": {
1860
+ "busy_slot": 0,
1861
+ "client": 1,
1862
+ "complete": 0,
1863
+ "connection": 2,
1864
+ "count": 3,
1865
+ "delay": 1,
1866
+ "enabled_a": 1,
1867
+ "enabled_b": 1,
1868
+ "entity": 1,
1869
+ "follow": 0,
1870
+ "health": 1,
1871
+ "name": "other-team",
1872
+ "other_busy": 1,
1873
+ "other_connection": 2,
1874
+ "other_follow": 0,
1875
+ "other_health": 1,
1876
+ "other_team": 3,
1877
+ "own_busy": 0,
1878
+ "selector": 2,
1879
+ "start": 8000,
1880
+ "team": 0,
1881
+ "tick": 10000
1882
+ },
1883
+ "unchanged": true
1884
+ },
1885
+ {
1886
+ "eligible": true,
1887
+ "execution": {
1888
+ "stop": 153596,
1889
+ "trace_length": 245,
1890
+ "trace_sha256": "44ba48e6f2b7b990a58631757608185e6b8b449eb085a512113022a49d7698c3"
1891
+ },
1892
+ "input": {
1893
+ "busy_slot": 0,
1894
+ "client": 1,
1895
+ "complete": 0,
1896
+ "connection": 2,
1897
+ "count": 3,
1898
+ "delay": 1,
1899
+ "enabled_a": 1,
1900
+ "enabled_b": 1,
1901
+ "entity": 1,
1902
+ "follow": 0,
1903
+ "health": 1,
1904
+ "name": "self-busy",
1905
+ "other_busy": 0,
1906
+ "other_connection": 2,
1907
+ "other_follow": 0,
1908
+ "other_health": 1,
1909
+ "other_team": 0,
1910
+ "own_busy": 1,
1911
+ "selector": 0,
1912
+ "start": 8000,
1913
+ "team": 0,
1914
+ "tick": 10000
1915
+ },
1916
+ "unchanged": true
1917
+ },
1918
+ {
1919
+ "eligible": true,
1920
+ "execution": {
1921
+ "stop": 153596,
1922
+ "trace_length": 247,
1923
+ "trace_sha256": "f26856fab38858f4e765c9d1a9db6e1e38482f4110d22e0b7f2db95ce670bb18"
1924
+ },
1925
+ "input": {
1926
+ "busy_slot": 0,
1927
+ "client": 1,
1928
+ "complete": 0,
1929
+ "connection": 2,
1930
+ "count": 3,
1931
+ "delay": 1,
1932
+ "enabled_a": 1,
1933
+ "enabled_b": 1,
1934
+ "entity": 1,
1935
+ "follow": 0,
1936
+ "health": 1,
1937
+ "name": "self-busy",
1938
+ "other_busy": 0,
1939
+ "other_connection": 2,
1940
+ "other_follow": 0,
1941
+ "other_health": 1,
1942
+ "other_team": 0,
1943
+ "own_busy": 1,
1944
+ "selector": 1,
1945
+ "start": 8000,
1946
+ "team": 0,
1947
+ "tick": 10000
1948
+ },
1949
+ "unchanged": true
1950
+ },
1951
+ {
1952
+ "eligible": true,
1953
+ "execution": {
1954
+ "stop": 153596,
1955
+ "trace_length": 245,
1956
+ "trace_sha256": "44ba48e6f2b7b990a58631757608185e6b8b449eb085a512113022a49d7698c3"
1957
+ },
1958
+ "input": {
1959
+ "busy_slot": 0,
1960
+ "client": 1,
1961
+ "complete": 0,
1962
+ "connection": 2,
1963
+ "count": 3,
1964
+ "delay": 1,
1965
+ "enabled_a": 1,
1966
+ "enabled_b": 1,
1967
+ "entity": 1,
1968
+ "follow": 0,
1969
+ "health": 1,
1970
+ "name": "self-busy",
1971
+ "other_busy": 0,
1972
+ "other_connection": 2,
1973
+ "other_follow": 0,
1974
+ "other_health": 1,
1975
+ "other_team": 0,
1976
+ "own_busy": 1,
1977
+ "selector": 2,
1978
+ "start": 8000,
1979
+ "team": 0,
1980
+ "tick": 10000
1981
+ },
1982
+ "unchanged": true
1983
+ },
1984
+ {
1985
+ "eligible": true,
1986
+ "execution": {
1987
+ "stop": 153596,
1988
+ "trace_length": 90,
1989
+ "trace_sha256": "12c91ba1ffde190fc70539f5c3126a74723d04ec4c5258050f8675bbfb844960"
1990
+ },
1991
+ "input": {
1992
+ "busy_slot": 0,
1993
+ "client": 1,
1994
+ "complete": 0,
1995
+ "connection": 2,
1996
+ "count": 0,
1997
+ "delay": 1,
1998
+ "enabled_a": 1,
1999
+ "enabled_b": 1,
2000
+ "entity": 1,
2001
+ "follow": 0,
2002
+ "health": 1,
2003
+ "name": "count-zero",
2004
+ "other_busy": 1,
2005
+ "other_connection": 2,
2006
+ "other_follow": 0,
2007
+ "other_health": 1,
2008
+ "other_team": 0,
2009
+ "own_busy": 0,
2010
+ "selector": 0,
2011
+ "start": 8000,
2012
+ "team": 0,
2013
+ "tick": 10000
2014
+ },
2015
+ "unchanged": true
2016
+ },
2017
+ {
2018
+ "eligible": true,
2019
+ "execution": {
2020
+ "stop": 153596,
2021
+ "trace_length": 92,
2022
+ "trace_sha256": "1ffcf68caa1b1223b8da66ac9e8d118131d2a1b4d7f443866e9ab9b94d1b9a13"
2023
+ },
2024
+ "input": {
2025
+ "busy_slot": 0,
2026
+ "client": 1,
2027
+ "complete": 0,
2028
+ "connection": 2,
2029
+ "count": 0,
2030
+ "delay": 1,
2031
+ "enabled_a": 1,
2032
+ "enabled_b": 1,
2033
+ "entity": 1,
2034
+ "follow": 0,
2035
+ "health": 1,
2036
+ "name": "count-zero",
2037
+ "other_busy": 1,
2038
+ "other_connection": 2,
2039
+ "other_follow": 0,
2040
+ "other_health": 1,
2041
+ "other_team": 0,
2042
+ "own_busy": 0,
2043
+ "selector": 1,
2044
+ "start": 8000,
2045
+ "team": 0,
2046
+ "tick": 10000
2047
+ },
2048
+ "unchanged": true
2049
+ },
2050
+ {
2051
+ "eligible": true,
2052
+ "execution": {
2053
+ "stop": 153596,
2054
+ "trace_length": 90,
2055
+ "trace_sha256": "12c91ba1ffde190fc70539f5c3126a74723d04ec4c5258050f8675bbfb844960"
2056
+ },
2057
+ "input": {
2058
+ "busy_slot": 0,
2059
+ "client": 1,
2060
+ "complete": 0,
2061
+ "connection": 2,
2062
+ "count": 0,
2063
+ "delay": 1,
2064
+ "enabled_a": 1,
2065
+ "enabled_b": 1,
2066
+ "entity": 1,
2067
+ "follow": 0,
2068
+ "health": 1,
2069
+ "name": "count-zero",
2070
+ "other_busy": 1,
2071
+ "other_connection": 2,
2072
+ "other_follow": 0,
2073
+ "other_health": 1,
2074
+ "other_team": 0,
2075
+ "own_busy": 0,
2076
+ "selector": 2,
2077
+ "start": 8000,
2078
+ "team": 0,
2079
+ "tick": 10000
2080
+ },
2081
+ "unchanged": true
2082
+ },
2083
+ {
2084
+ "eligible": false,
2085
+ "execution": {
2086
+ "stop": 154087,
2087
+ "trace_length": 4140,
2088
+ "trace_sha256": "eed8cfbcf8009a685db6bfc01077617473cdef6cbab1ab41dcdb3290a47101ef"
2089
+ },
2090
+ "input": {
2091
+ "busy_slot": 63,
2092
+ "client": 1,
2093
+ "complete": 0,
2094
+ "connection": 2,
2095
+ "count": 64,
2096
+ "delay": 1,
2097
+ "enabled_a": 1,
2098
+ "enabled_b": 1,
2099
+ "entity": 1,
2100
+ "follow": 0,
2101
+ "health": 1,
2102
+ "name": "full-pool",
2103
+ "other_busy": 1,
2104
+ "other_connection": 2,
2105
+ "other_follow": 0,
2106
+ "other_health": 1,
2107
+ "other_team": 0,
2108
+ "own_busy": 0,
2109
+ "selector": 0,
2110
+ "start": 8000,
2111
+ "team": 0,
2112
+ "tick": 10000
2113
+ },
2114
+ "unchanged": true
2115
+ },
2116
+ {
2117
+ "eligible": false,
2118
+ "execution": {
2119
+ "stop": 154087,
2120
+ "trace_length": 4142,
2121
+ "trace_sha256": "19ad11d682f008a265026992cd17d2aa82cba1f900f73e966256b4010a1b5c24"
2122
+ },
2123
+ "input": {
2124
+ "busy_slot": 63,
2125
+ "client": 1,
2126
+ "complete": 0,
2127
+ "connection": 2,
2128
+ "count": 64,
2129
+ "delay": 1,
2130
+ "enabled_a": 1,
2131
+ "enabled_b": 1,
2132
+ "entity": 1,
2133
+ "follow": 0,
2134
+ "health": 1,
2135
+ "name": "full-pool",
2136
+ "other_busy": 1,
2137
+ "other_connection": 2,
2138
+ "other_follow": 0,
2139
+ "other_health": 1,
2140
+ "other_team": 0,
2141
+ "own_busy": 0,
2142
+ "selector": 1,
2143
+ "start": 8000,
2144
+ "team": 0,
2145
+ "tick": 10000
2146
+ },
2147
+ "unchanged": true
2148
+ },
2149
+ {
2150
+ "eligible": false,
2151
+ "execution": {
2152
+ "stop": 154087,
2153
+ "trace_length": 4140,
2154
+ "trace_sha256": "eed8cfbcf8009a685db6bfc01077617473cdef6cbab1ab41dcdb3290a47101ef"
2155
+ },
2156
+ "input": {
2157
+ "busy_slot": 63,
2158
+ "client": 1,
2159
+ "complete": 0,
2160
+ "connection": 2,
2161
+ "count": 64,
2162
+ "delay": 1,
2163
+ "enabled_a": 1,
2164
+ "enabled_b": 1,
2165
+ "entity": 1,
2166
+ "follow": 0,
2167
+ "health": 1,
2168
+ "name": "full-pool",
2169
+ "other_busy": 1,
2170
+ "other_connection": 2,
2171
+ "other_follow": 0,
2172
+ "other_health": 1,
2173
+ "other_team": 0,
2174
+ "own_busy": 0,
2175
+ "selector": 2,
2176
+ "start": 8000,
2177
+ "team": 0,
2178
+ "tick": 10000
2179
+ },
2180
+ "unchanged": true
2181
+ }
2182
+ ],
2183
+ "sha256": "a589351dfe517470a1b121dd2164714987d9e4577bf00c6486e1540035d7a79d",
2184
+ "source": {
2185
+ "archive": "zUrT43_qvm.pk3",
2186
+ "archive_sha256": "b59bf0c5bedf11d50e0edd220da7eade96de40601e98ae14c54c819047df0796",
2187
+ "member": {
2188
+ "bytes": 983300,
2189
+ "comment_hex": "",
2190
+ "compressed_bytes": 246560,
2191
+ "compression": 8,
2192
+ "crc32": "98ea1768",
2193
+ "create_system": 0,
2194
+ "create_version": 63,
2195
+ "date_time": [
2196
+ 2018,
2197
+ 6,
2198
+ 18,
2199
+ 22,
2200
+ 11,
2201
+ 50
2202
+ ],
2203
+ "directory": false,
2204
+ "entry_index": 2,
2205
+ "external_attr": 32,
2206
+ "extra_hex": "0a0020000000000001001800d1e24e974007d40116dcbf962f1fd20116dcbf962f1fd201",
2207
+ "extract_version": 20,
2208
+ "flags": 0,
2209
+ "header_offset": 221309,
2210
+ "internal_attr": 0,
2211
+ "occurrence": 0,
2212
+ "output": "assets/extracted/zUrT43_qvm.pk3/members/000002/vm/qagame.qvm",
2213
+ "path": "vm/qagame.qvm",
2214
+ "sha256": "a589351dfe517470a1b121dd2164714987d9e4577bf00c6486e1540035d7a79d",
2215
+ "type": "member",
2216
+ "volume": 0
2217
+ }
2218
+ }
2219
+ }
docs/research/qvm-resumer-audit.json CHANGED
@@ -9286,6 +9286,100 @@
9286
  "repeated_calls_opt_in": true,
9287
  "repeated_calls_setting": "literal_true"
9288
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9289
  {
9290
  "backward_conditional_branches": [],
9291
  "calls": [],
@@ -10378,7 +10472,7 @@
10378
  }
10379
  },
10380
  "summary": {
10381
- "call_expressions": 209,
10382
  "files": 161,
10383
  "legacy_expressions": 158,
10384
  "nonliteral_ranges": 29,
 
9286
  "repeated_calls_opt_in": true,
9287
  "repeated_calls_setting": "literal_true"
9288
  },
9289
+ {
9290
+ "backward_conditional_branches": [
9291
+ 153595
9292
+ ],
9293
+ "calls": [
9294
+ {
9295
+ "dynamic_store_requires_review": false,
9296
+ "implicit_local_offset": 56,
9297
+ "instruction": 153602,
9298
+ "stores_result": true,
9299
+ "target": 276433
9300
+ },
9301
+ {
9302
+ "dynamic_store_requires_review": false,
9303
+ "implicit_local_offset": null,
9304
+ "instruction": 153615,
9305
+ "stores_result": false,
9306
+ "target": 2319
9307
+ },
9308
+ {
9309
+ "dynamic_store_requires_review": false,
9310
+ "implicit_local_offset": 60,
9311
+ "instruction": 153629,
9312
+ "stores_result": true,
9313
+ "target": 65655
9314
+ },
9315
+ {
9316
+ "dynamic_store_requires_review": false,
9317
+ "implicit_local_offset": null,
9318
+ "instruction": 153670,
9319
+ "stores_result": false,
9320
+ "target": 7259
9321
+ },
9322
+ {
9323
+ "dynamic_store_requires_review": false,
9324
+ "implicit_local_offset": 72,
9325
+ "instruction": 153721,
9326
+ "stores_result": true,
9327
+ "target": 277695
9328
+ },
9329
+ {
9330
+ "dynamic_store_requires_review": false,
9331
+ "implicit_local_offset": null,
9332
+ "instruction": 153762,
9333
+ "stores_result": false,
9334
+ "target": 205260
9335
+ },
9336
+ {
9337
+ "dynamic_store_requires_review": false,
9338
+ "implicit_local_offset": null,
9339
+ "instruction": 153770,
9340
+ "stores_result": false,
9341
+ "target": 283463
9342
+ },
9343
+ {
9344
+ "dynamic_store_requires_review": false,
9345
+ "implicit_local_offset": 84,
9346
+ "instruction": 153890,
9347
+ "stores_result": true,
9348
+ "target": 277695
9349
+ },
9350
+ {
9351
+ "dynamic_store_requires_review": false,
9352
+ "implicit_local_offset": null,
9353
+ "instruction": 153923,
9354
+ "stores_result": false,
9355
+ "target": 193620
9356
+ },
9357
+ {
9358
+ "dynamic_store_requires_review": false,
9359
+ "implicit_local_offset": 72,
9360
+ "instruction": 153980,
9361
+ "stores_result": true,
9362
+ "target": 277695
9363
+ },
9364
+ {
9365
+ "dynamic_store_requires_review": false,
9366
+ "implicit_local_offset": 72,
9367
+ "instruction": 154061,
9368
+ "stores_result": true,
9369
+ "target": 277695
9370
+ }
9371
+ ],
9372
+ "explicit_result_offsets": null,
9373
+ "helper": "qvm_trace_support.resume",
9374
+ "line": 113,
9375
+ "literal_range": [
9376
+ 153420,
9377
+ 154088
9378
+ ],
9379
+ "path": "scripts/qvm_move_callbacks_support.py",
9380
+ "repeated_calls_opt_in": true,
9381
+ "repeated_calls_setting": "literal_true"
9382
+ },
9383
  {
9384
  "backward_conditional_branches": [],
9385
  "calls": [],
 
10472
  }
10473
  },
10474
  "summary": {
10475
+ "call_expressions": 210,
10476
  "files": 161,
10477
  "legacy_expressions": 158,
10478
  "nonliteral_ranges": 29,
scripts/analyze_qvm_move_mode8_eligibility.py ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Verified original movement-context source contract."""
2
+ from pathlib import Path
3
+ from analyze_qvm import write_json
4
+ from qvm_research_support import source
5
+ from qvm_move_callbacks_support import seed,eligibility,eligibility_fixtures
6
+
7
+ def main():
8
+ q,raw,h,ins=source();probes=[]
9
+ for a in eligibility_fixtures():
10
+ m,b=seed(raw,h,a);m,p,b=eligibility(ins,m,b,a);p['input']=a;probes.append(p)
11
+ write_json(Path('docs/research/qvm-move-mode8-eligibility.json'),dict(source=q['source'],sha256=q['sha256'],probes=probes,limits='Actual153419 admission/teammate scan through153596 or154087 return. Stops before flag search, distance and objective mutation; no mode8 body completion claimed.'))
12
+ if __name__=='__main__':main()
scripts/qvm_move_callbacks_oracle.py CHANGED
@@ -31,3 +31,9 @@ def cleanup(a):
31
  if rows[j][1] and (a['target_connection']!=2 or signed(a['target_health'])<=0 or a['target_follow']):rows[j]=[rows[j][0]&~8192,0,None]
32
  proceed=True
33
  return dict(clients=rows,proceed=proceed)
 
 
 
 
 
 
 
31
  if rows[j][1] and (a['target_connection']!=2 or signed(a['target_health'])<=0 or a['target_follow']):rows[j]=[rows[j][0]&~8192,0,None]
32
  proceed=True
33
  return dict(clients=rows,proceed=proceed)
34
+
35
+ def eligibility(a):
36
+ selected=2 if a['selector']==1 else 1;own=a['team'] or selected;other=a['other_team'] or selected
37
+ eligible=bool(a['entity'] and a['client'] and a['enabled_a'] and a['enabled_b'] and signed((a['tick']-a['start'])&0xffffffff)>signed((a['delay']*1000)&0xffffffff) and not a['complete'] and a['connection']==2 and signed(a['health'])>0 and not a['follow'] and own==selected)
38
+ if eligible and a['busy_slot']<a['count'] and a['busy_slot']!=2 and a['other_connection']==2 and signed(a['other_health'])>0 and not a['other_follow'] and other==own and a['other_busy']:eligible=False
39
+ return dict(eligible=eligible,unchanged=True)
scripts/qvm_move_callbacks_support.py CHANGED
@@ -93,3 +93,22 @@ def cleanup(ins,m,b,a):
93
  cleanup_seed(m,a);base=ROOT+0x70000;m,b=frame_args(m,b,{base+96:ENTITY if a['entity'] else 0})
94
  m,p=resume(ins,152793,153418,m,base,boundaries=(152994,153417),byte_inputs=b,repeated_calls=True,sync_child_words=True,coherent_memory=True,byte_handlers=True,capture_byte_memory=True,limit=32768)
95
  return m,dict(clients=cleanup_view(m,a),proceed=p['stop']==152994,execution={k:p[k] for k in ['stop','trace_length','trace_sha256']}),p['byte_memory']
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  cleanup_seed(m,a);base=ROOT+0x70000;m,b=frame_args(m,b,{base+96:ENTITY if a['entity'] else 0})
94
  m,p=resume(ins,152793,153418,m,base,boundaries=(152994,153417),byte_inputs=b,repeated_calls=True,sync_child_words=True,coherent_memory=True,byte_handlers=True,capture_byte_memory=True,limit=32768)
95
  return m,dict(clients=cleanup_view(m,a),proceed=p['stop']==152994,execution={k:p[k] for k in ['stop','trace_length','trace_sha256']}),p['byte_memory']
96
+
97
+ def eligibility_fixtures():
98
+ defaults=dict(entity=1,client=1,enabled_a=1,enabled_b=1,tick=10000,start=8000,delay=1,complete=0,connection=2,health=1,follow=0,own_busy=0,other_busy=0,other_connection=2,other_health=1,other_follow=0,other_team=0,team=0,count=3,busy_slot=0)
99
+ profiles=[('normal',{}),('disabled-a',dict(enabled_a=0)),('disabled-b',dict(enabled_b=0)),('exact-time',dict(start=9000)),('before-time',dict(start=9500)),('wrapped-time',dict(tick=10,start=0xfffff000)),('negative-delay',dict(delay=0xffffffff,start=10000)),('completed',dict(complete=1)),('unconnected',dict(connection=1)),('dead',dict(health=0)),('following',dict(follow=1)),('wrong-team',dict(team=3)),('null-entity',dict(entity=0)),('null-client',dict(client=0)),('other-busy',dict(other_busy=1)),('other-dead',dict(other_busy=1,other_health=0)),('other-following',dict(other_busy=1,other_follow=1)),('other-disconnected',dict(other_busy=1,other_connection=1)),('other-team',dict(other_busy=1,other_team=3)),('self-busy',dict(own_busy=1)),('count-zero',dict(count=0,other_busy=1)),('full-pool',dict(count=64,other_busy=1,busy_slot=63))]
100
+ return [dict(defaults,**changes,name=name,selector=s) for name,changes in profiles for s in [0,1,2]]
101
+
102
+ def eligibility_seed(m,a):
103
+ selected=2 if a['selector']==1 else 1;own=a['team'] or selected;other=a['other_team'] or selected
104
+ m.update({35000400:a['enabled_a'],35000380:a['enabled_b'],34992532:a['tick'],35000412:a['start'],34080428:a['delay'],35000396:a['complete'],35000476:a['selector'],34992524:a['count'],34992496:CPOOL})
105
+ for j in range(max(3,a['count'])):
106
+ c=CPOOL+6336*j;m.update({c+468:2,c+208:1,c+4324:0,c+3096:selected,c+6164:0})
107
+ c=CPOOL+6336*a['busy_slot'];m.update({c+468:a['other_connection'],c+208:a['other_health'],c+4324:a['other_follow'],c+3096:other,c+6164:a['other_busy'],ENTITY+520:CLIENT if a['client'] else 0,CLIENT+468:a['connection'],CLIENT+208:a['health'],CLIENT+4324:a['follow'],CLIENT+3096:own,CLIENT+6164:a['own_busy']})
108
+
109
+ def eligibility(ins,m,b,a):
110
+ from qvm_string_memory_support import frame_args
111
+ from qvm_trace_support import resume
112
+ eligibility_seed(m,a);before=dict(m);base=ROOT+0x80000;m,b=frame_args(m,b,{base+100:ENTITY if a['entity'] else 0})
113
+ m,p=resume(ins,153420,154088,m,base,boundaries=(153596,154087),byte_inputs=b,repeated_calls=True,sync_child_words=True,coherent_memory=True,byte_handlers=True,capture_byte_memory=True,limit=32768)
114
+ return m,dict(eligible=p['stop']==153596,unchanged=all(m[k]==v for k,v in before.items()),execution={k:p[k] for k in ['stop','trace_length','trace_sha256']}),p['byte_memory']
scripts/test_qvm_move_mode8_eligibility.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json,unittest
2
+ from pathlib import Path
3
+ from qvm_move_callbacks_oracle import eligibility
4
+ class OriginalTests(unittest.TestCase):
5
+ def test_original_contract(self):
6
+ rows=json.loads(Path('docs/research/qvm-move-mode8-eligibility.json').read_text())['probes'];self.assertEqual(len(rows),66)
7
+ for p in rows:
8
+ with self.subTest(input=p['input']):
9
+ for k,v in eligibility(p['input']).items():self.assertEqual(p[k],v,k)
10
+ def test_fixture_identity_and_trace(self):
11
+ r=json.loads(Path('docs/research/qvm-move-mode8-eligibility.json').read_text());self.assertEqual(len(r['sha256']),64)
12
+ self.assertTrue(all(p['execution']['trace_length']>0 for p in r['probes']))
13
+ if __name__=='__main__':unittest.main()
xtask/checks.tsv CHANGED
@@ -3904,3 +3904,7 @@ edge crates/urt-gameplay/src/client_move_context.rs scripts/analyze_rust_move_as
3904
  edge crates/urt-gameplay/src/bin/urt-client-move-context.rs scripts/analyze_rust_move_assist_cleanup.py
3905
  edge crates/urt-gameplay/src/move_callbacks.rs scripts/analyze_rust_move_assist_cleanup.py
3906
  edge crates/urt-gameplay/src/bin/urt-move-callbacks.rs scripts/analyze_rust_move_assist_cleanup.py
 
 
 
 
 
3904
  edge crates/urt-gameplay/src/bin/urt-client-move-context.rs scripts/analyze_rust_move_assist_cleanup.py
3905
  edge crates/urt-gameplay/src/move_callbacks.rs scripts/analyze_rust_move_assist_cleanup.py
3906
  edge crates/urt-gameplay/src/bin/urt-move-callbacks.rs scripts/analyze_rust_move_assist_cleanup.py
3907
+ report scripts/analyze_qvm_move_mode8_eligibility.py docs/research/qvm-move-mode8-eligibility.json
3908
+ edge docs/research/qvm-move-mode8-eligibility.json scripts/test_qvm_move_mode8_eligibility.py
3909
+ group qvm-move-mode8-eligibility scripts/analyze_qvm_move_mode8_eligibility.py
3910
+ edge scripts/analyze_qvm_move_mode8_eligibility.py scripts/analyze_qvm_resumer_audit.py