nmarshall commited on
Commit
2f34f24
·
1 Parent(s): 4a95b43

qvm: recover staged normal map reset

Browse files
docs/FINDINGS.md CHANGED
@@ -1547,3 +1547,6 @@ RE-813–822 replaces the scoreboard decimal assumption with actual37914 executi
1547
 
1548
 
1549
  **RE-849:** Rust matches 300 original series-branch cases, reusing the verified mode classifier and preserving restart priority, saved score order, raw flags and pending/blocked clearing. Formatting/configstring/map calls remain ordered intentions; the normal branch is left for its own policy. [Evidence](research/RUST_NEXTMAP_SERIES.md).
 
 
 
 
1547
 
1548
 
1549
  **RE-849:** Rust matches 300 original series-branch cases, reusing the verified mode classifier and preserving restart priority, saved score order, raw flags and pending/blocked clearing. Formatting/configstring/map calls remain ordered intentions; the normal branch is left for its own policy. [Evidence](research/RUST_NEXTMAP_SERIES.md).
1550
+
1551
+
1552
+ **RE-850:** 48 original 6939 suffix cases recover round/blocked/global score clears, connected-client score resets, extra mode9 field304/308 resets, then connection2→1 after captured249007. A mid-call snapshot proves ordering; pending, phase, series flags and saved scores remain unchanged. Actual map/command children remain captured. [Evidence](research/QVM_NEXTMAP_RESET.md).
docs/PROVISIONAL_TODO.md CHANGED
@@ -1566,3 +1566,6 @@ RE-848: 300 original 6939 cases recover the positive-phase/team-classified gate,
1566
 
1567
 
1568
  RE-849: Rust matches 300 original series-branch cases, reusing the verified mode classifier and preserving restart priority, saved score order, raw flags and pending/blocked clearing. Formatting/configstring/map calls remain ordered intentions; the normal branch is left for its own policy. Full runtime completion remains open. [Evidence](research/RUST_NEXTMAP_SERIES.md).
 
 
 
 
1566
 
1567
 
1568
  RE-849: Rust matches 300 original series-branch cases, reusing the verified mode classifier and preserving restart priority, saved score order, raw flags and pending/blocked clearing. Formatting/configstring/map calls remain ordered intentions; the normal branch is left for its own policy. Full runtime completion remains open. [Evidence](research/RUST_NEXTMAP_SERIES.md).
1569
+
1570
+
1571
+ RE-850: 48 original 6939 suffix cases recover round/blocked/global score clears, connected-client score resets, extra mode9 field304/308 resets, then connection2→1 after captured249007. A mid-call snapshot proves ordering; pending, phase, series flags and saved scores remain unchanged. Actual map/command children remain captured. Full runtime completion remains open. [Evidence](research/QVM_NEXTMAP_RESET.md).
docs/RESEARCH_LEDGER.md CHANGED
@@ -1923,3 +1923,8 @@ Rust matches 36 original view-selection cases: supplied fallback/search results,
1923
  ## 2026-10-27 — RE-849 Rust team-series transition policy
1924
 
1925
  Rust matches 300 original series-branch cases, reusing the verified mode classifier and preserving restart priority, saved score order, raw flags and pending/blocked clearing. Formatting/configstring/map calls remain ordered intentions; the normal branch is left for its own policy. Focused `cargo xtask test-group rust-nextmap-series` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity.
 
 
 
 
 
 
1923
  ## 2026-10-27 — RE-849 Rust team-series transition policy
1924
 
1925
  Rust matches 300 original series-branch cases, reusing the verified mode classifier and preserving restart priority, saved score order, raw flags and pending/blocked clearing. Formatting/configstring/map calls remain ordered intentions; the normal branch is left for its own policy. Focused `cargo xtask test-group rust-nextmap-series` passes (9 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity.
1926
+
1927
+
1928
+ ## 2026-10-27 — RE-850 Original normal next-map reset staging and connection changes
1929
+
1930
+ 48 original 6939 suffix cases recover round/blocked/global score clears, connected-client score resets, extra mode9 field304/308 resets, then connection2→1 after captured249007. A mid-call snapshot proves ordering; pending, phase, series flags and saved scores remain unchanged. Actual map/command children remain captured. Focused `cargo xtask test-group nextmap-reset` passes (5 Python tests); selected reports regenerate twice deterministically, with storage, documentation links and whitespace guards. Full suite deferred to task ten. Original assets unchanged; source fixtures do not establish complete native/runtime parity.
docs/REVERSE_ENGINEERING_TODO.md CHANGED
@@ -1603,3 +1603,6 @@ Purpose: turn the supplied installation into an evidence-backed specification of
1603
 
1604
 
1605
  - [x] RE-849 Rust team-series transition policy ([evidence](research/RUST_NEXTMAP_SERIES.md)).
 
 
 
 
1603
 
1604
 
1605
  - [x] RE-849 Rust team-series transition policy ([evidence](research/RUST_NEXTMAP_SERIES.md)).
1606
+
1607
+
1608
+ - [x] RE-850 Original normal next-map reset staging and connection changes ([evidence](research/QVM_NEXTMAP_RESET.md)).
docs/research/QVM_NEXTMAP_RESET.md ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # Original normal next-map reset staging and connection changes
2
+
3
+ RE-850. Reproduce with `python3 scripts/analyze_qvm_nextmap_reset.py`; focused validation: `cargo xtask test-group nextmap-reset`. [Machine report](qvm-nextmap-reset.json).
4
+
5
+ 48 original 6939 suffix cases recover round/blocked/global score clears, connected-client score resets, extra mode9 field304/308 resets, then connection2→1 after captured249007. A mid-call snapshot proves ordering; pending, phase, series flags and saved scores remain unchanged. Actual map/command children remain captured.
6
+
7
+ Original executable/native runtime and complete Linux/macOS Rust/Bevy/Solari acceptance remain unverified.
docs/research/README.md CHANGED
@@ -1141,3 +1141,6 @@ The extension collector adds five focused tests for native tail calls, command-r
1141
 
1142
 
1143
  [RE-849: Rust team-series transition policy](RUST_NEXTMAP_SERIES.md).
 
 
 
 
1141
 
1142
 
1143
  [RE-849: Rust team-series transition policy](RUST_NEXTMAP_SERIES.md).
1144
+
1145
+
1146
+ [RE-850: Original normal next-map reset staging and connection changes](QVM_NEXTMAP_RESET.md).
docs/research/qvm-nextmap-reset.json ADDED
The diff for this file is too large to render. See raw diff
 
scripts/analyze_qvm_nextmap_reset.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ import itertools
3
+ from pathlib import Path
4
+ from qvm_research_support import source
5
+ from qvm_transition_support import run,state_seed,state_words,CPOOL
6
+ from analyze_qvm import write_json
7
+ FIELDS=[248,304,308,468,696]
8
+ def snapshot(m,n):return [{str(o):m[CPOOL+6336*j+o]&0xffffffff for o in FIELDS} for j in range(n)]
9
+ def main():
10
+ q,raw,h,ins=source();rows=[]
11
+ for mode,count,phase,pattern in itertools.product([0,9,11],[0,1,3,4],[-1,2],[[2,2,2,2],[0,1,2,2]]):
12
+ a=dict(mode=mode,max_clients=count,phase=phase,flags=0xffffffff,option=1,first=5,second=-7);m=state_seed(**a);m[34089604]=count;m[34992496]=CPOOL
13
+ for j in range(4):
14
+ for o in FIELDS:m[CPOOL+6336*j+o]=pattern[j] if o==468 else (j+1)*100+o
15
+ before=snapshot(m,4);old=state_words(m);requests=[];middle=None
16
+ def capture(t):
17
+ def call(i,m,args):
18
+ nonlocal middle
19
+ requests.append({'target':t,'arguments':args})
20
+ if t==249007:middle=snapshot(m,4)
21
+ return m,0,{'effect_captured':True}
22
+ return call
23
+ m,p=run(ins,m,7069,7186,48,handlers={t:capture(t) for t in [122230,7188,249007]});p.update(input=a,before=old,clients_before=before,middle=middle,clients=snapshot(m,4),state=state_words(m),requests=requests);rows.append(p)
24
+ write_json(Path('docs/research/qvm-nextmap-reset.json'),{'source':q['source'],'sha256':q['sha256'],'probes':rows,'limits':'Actual6939 normal suffix7070..7185 over48 cases.122230/7188/249007 children captured without mutations; snapshot at249007 distinguishes score resets from later connection2->1 loop. No command/native-map integration or child mutation claim.'})
25
+ if __name__=='__main__':main()
scripts/test_qvm_nextmap_reset.py ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json,unittest
2
+ from pathlib import Path
3
+ class ResetTests(unittest.TestCase):
4
+ def test_scoped_score_resets_before_connection_drop(self):
5
+ rows=json.loads(Path('docs/research/qvm-nextmap-reset.json').read_text())['probes'];self.assertEqual(len(rows),48)
6
+ for p in rows:
7
+ a=p['input'];mid=[dict(v) for v in p['clients_before']]
8
+ for c in mid[:a['max_clients']]:
9
+ if c['468']==2:
10
+ c['248']=0
11
+ if a['mode']==9:c['304']=c['308']=0
12
+ end=[dict(v) for v in mid]
13
+ for c in end[:a['max_clients']]:
14
+ if c['468']==2:c['468']=1
15
+ self.assertEqual(p['middle'],mid);self.assertEqual(p['clients'],end);state=dict(p['before']);state.update(round=0,blocked=0,first=0,second=0);self.assertEqual(p['state'],state)
16
+ def test_external_request_order_and_preserved_pending(self):
17
+ for p in json.loads(Path('docs/research/qvm-nextmap-reset.json').read_text())['probes']:self.assertEqual(p['requests'],[{'target':t,'arguments':{}} for t in [122230,7188,249007]]);self.assertEqual(p['state']['pending'],p['before']['pending'])
18
+ if __name__=='__main__':unittest.main()
xtask/checks.tsv CHANGED
@@ -2299,3 +2299,7 @@ report scripts/analyze_rust_nextmap_series.py docs/research/rust-nextmap-series.
2299
  edge docs/research/rust-nextmap-series.json scripts/test_rust_nextmap_series.py
2300
  group rust-nextmap-series scripts/analyze_rust_nextmap_series.py
2301
  edge scripts/analyze_rust_nextmap_series.py scripts/analyze_qvm_resumer_audit.py
 
 
 
 
 
2299
  edge docs/research/rust-nextmap-series.json scripts/test_rust_nextmap_series.py
2300
  group rust-nextmap-series scripts/analyze_rust_nextmap_series.py
2301
  edge scripts/analyze_rust_nextmap_series.py scripts/analyze_qvm_resumer_audit.py
2302
+ report scripts/analyze_qvm_nextmap_reset.py docs/research/qvm-nextmap-reset.json
2303
+ edge docs/research/qvm-nextmap-reset.json scripts/test_qvm_nextmap_reset.py
2304
+ group nextmap-reset scripts/analyze_qvm_nextmap_reset.py
2305
+ edge scripts/analyze_qvm_nextmap_reset.py scripts/analyze_qvm_resumer_audit.py