qvm: compose leaderboard categories
Browse files- docs/ASSET_PIPELINE_TODO.md +3 -0
- docs/FINDINGS.md +3 -0
- docs/PROVISIONAL_TODO.md +3 -0
- docs/RESEARCH_LEDGER.md +5 -0
- docs/REVERSE_ENGINEERING_TODO.md +3 -0
- docs/research/QVM_LEADERBOARD_CATEGORIES.md +7 -0
- docs/research/README.md +3 -0
- docs/research/qvm-leaderboard-categories.json +0 -0
- scripts/analyze_qvm_leaderboard_categories.py +34 -0
- scripts/test_qvm_leaderboard_categories.py +20 -0
- xtask/checks.tsv +3 -0
docs/ASSET_PIPELINE_TODO.md
CHANGED
|
@@ -976,3 +976,6 @@ Research progress: RE-772 [report](research/QVM_LEADERBOARD_LAYOUT.md); original
|
|
| 976 |
|
| 977 |
|
| 978 |
Research progress: RE-773 [report](research/QVM_LEADERBOARD_SELECTOR.md); original assets unchanged.
|
|
|
|
|
|
|
|
|
|
|
|
| 976 |
|
| 977 |
|
| 978 |
Research progress: RE-773 [report](research/QVM_LEADERBOARD_SELECTOR.md); original assets unchanged.
|
| 979 |
+
|
| 980 |
+
|
| 981 |
+
Research progress: RE-774 [report](research/QVM_LEADERBOARD_CATEGORIES.md); original assets unchanged.
|
docs/FINDINGS.md
CHANGED
|
@@ -1322,3 +1322,6 @@ RE-725–734 batch: [health, contact and Rust impulse findings](research/QVM_HEA
|
|
| 1322 |
|
| 1323 |
|
| 1324 |
**RE-773 — Complete leaderboard joint thresholds sentinel updates and ties:** 284610 requires every candidate metric to strictly exceed its threshold, then updates only nonsentinel fields and records the candidate entity. [Evidence](research/QVM_LEADERBOARD_SELECTOR.md).
|
|
|
|
|
|
|
|
|
|
|
|
| 1322 |
|
| 1323 |
|
| 1324 |
**RE-773 — Complete leaderboard joint thresholds sentinel updates and ties:** 284610 requires every candidate metric to strictly exceed its threshold, then updates only nonsentinel fields and records the candidate entity. [Evidence](research/QVM_LEADERBOARD_SELECTOR.md).
|
| 1325 |
+
|
| 1326 |
+
|
| 1327 |
+
**RE-774 — Actual first four leaderboard category selections:** 283622 first four categories now execute actual initialization/mapping/selection with their original key groups and thresholds. [Evidence](research/QVM_LEADERBOARD_CATEGORIES.md).
|
docs/PROVISIONAL_TODO.md
CHANGED
|
@@ -1320,3 +1320,6 @@ Research progress: RE-772 [report](research/QVM_LEADERBOARD_LAYOUT.md); full nat
|
|
| 1320 |
|
| 1321 |
|
| 1322 |
Research progress: RE-773 [report](research/QVM_LEADERBOARD_SELECTOR.md); full native/platform/game scope remains open.
|
|
|
|
|
|
|
|
|
|
|
|
| 1320 |
|
| 1321 |
|
| 1322 |
Research progress: RE-773 [report](research/QVM_LEADERBOARD_SELECTOR.md); full native/platform/game scope remains open.
|
| 1323 |
+
|
| 1324 |
+
|
| 1325 |
+
Research progress: RE-774 [report](research/QVM_LEADERBOARD_CATEGORIES.md); full native/platform/game scope remains open.
|
docs/RESEARCH_LEDGER.md
CHANGED
|
@@ -1523,3 +1523,8 @@ Exactly ten task commits follow baseline `27a7f96f`. Every completed task passed
|
|
| 1523 |
## 2026-10-21 — RE-773 Complete leaderboard joint thresholds sentinel updates and ties
|
| 1524 |
|
| 1525 |
284610 requires every candidate metric to strictly exceed its threshold, then updates only nonsentinel fields and records the candidate entity. Focused `cargo xtask test-group leaderboard-selector` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 697619 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1523 |
## 2026-10-21 — RE-773 Complete leaderboard joint thresholds sentinel updates and ties
|
| 1524 |
|
| 1525 |
284610 requires every candidate metric to strictly exceed its threshold, then updates only nonsentinel fields and records the candidate entity. Focused `cargo xtask test-group leaderboard-selector` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 697619 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed.
|
| 1526 |
+
|
| 1527 |
+
|
| 1528 |
+
## 2026-10-21 — RE-774 Actual first four leaderboard category selections
|
| 1529 |
+
|
| 1530 |
+
283622 first four categories now execute actual initialization/mapping/selection with their original key groups and thresholds. Focused `cargo xtask test-group leaderboard-categories` passes (3 Python tests); selected reports regenerate twice byte-identically, with storage, links and whitespace guards. New report: 1002192 bytes. Full-suite validation is deferred to the tenth batch commit. No original assets, Rust runtime or shared VM evaluator changed.
|
docs/REVERSE_ENGINEERING_TODO.md
CHANGED
|
@@ -1366,3 +1366,6 @@ Purpose: turn the supplied installation into an evidence-backed specification of
|
|
| 1366 |
|
| 1367 |
|
| 1368 |
- [x] RE-773 Complete leaderboard joint thresholds sentinel updates and ties ([report](research/QVM_LEADERBOARD_SELECTOR.md)).
|
|
|
|
|
|
|
|
|
|
|
|
| 1366 |
|
| 1367 |
|
| 1368 |
- [x] RE-773 Complete leaderboard joint thresholds sentinel updates and ties ([report](research/QVM_LEADERBOARD_SELECTOR.md)).
|
| 1369 |
+
|
| 1370 |
+
|
| 1371 |
+
- [x] RE-774 Actual first four leaderboard category selections ([report](research/QVM_LEADERBOARD_CATEGORIES.md)).
|
docs/research/QVM_LEADERBOARD_CATEGORIES.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Actual first four leaderboard category selections
|
| 2 |
+
|
| 3 |
+
RE-774. Reproduce with `python3 scripts/analyze_qvm_leaderboard_categories.py`; validate with `cargo xtask test-group leaderboard-categories`. See the [machine report](qvm-leaderboard-categories.json).
|
| 4 |
+
|
| 5 |
+
Recovered283623..283816 over12 live-client/data patterns. Original key groups feed actual284555/284610/278587, with ratio zero and threshold60=5 for the first three categories; the fourth activates only threshold60=10. Results populate slots1/2/3/5 of the16-word publication array. Stops before fourth-category total post-filter; later categories and native/publication parity remain open.
|
| 6 |
+
|
| 7 |
+
No original executable/full VM/native world collision or rendering runs. Supplied callback/native responses and fixture domains remain explicit; complete macOS/Linux Rust/Bevy/Solari gameplay remains open.
|
docs/research/README.md
CHANGED
|
@@ -912,3 +912,6 @@ The extension collector adds five focused tests for native tail calls, command-r
|
|
| 912 |
|
| 913 |
|
| 914 |
[RE-773: Complete leaderboard joint thresholds sentinel updates and ties](QVM_LEADERBOARD_SELECTOR.md).
|
|
|
|
|
|
|
|
|
|
|
|
| 912 |
|
| 913 |
|
| 914 |
[RE-773: Complete leaderboard joint thresholds sentinel updates and ties](QVM_LEADERBOARD_SELECTOR.md).
|
| 915 |
+
|
| 916 |
+
|
| 917 |
+
[RE-774: Actual first four leaderboard category selections](QVM_LEADERBOARD_CATEGORIES.md).
|
docs/research/qvm-leaderboard-categories.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
scripts/analyze_qvm_leaderboard_categories.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""283622 first four leaderboard categories with actual initialization/selection."""
|
| 3 |
+
from pathlib import Path
|
| 4 |
+
from qvm_research_support import source
|
| 5 |
+
from qvm_leaderboard_support import mapping_seed,initialize,FIELDS
|
| 6 |
+
from qvm_leaderboard_selector_support import select
|
| 7 |
+
from qvm_notification_support import CPOOL,POOL
|
| 8 |
+
from qvm_health_effects_support import H
|
| 9 |
+
from qvm_trace_support import resume
|
| 10 |
+
from analyze_qvm_acceleration import word
|
| 11 |
+
from analyze_qvm import write_json
|
| 12 |
+
P=H+0x500000
|
| 13 |
+
LOOKUP={2:9,3:8,4:11,5:4,6:5,8:2,9:0,10:7,14:6,15:1,17:10,19:3,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19}
|
| 14 |
+
|
| 15 |
+
def main():
|
| 16 |
+
q,raw,h,ins=source();rows=[]
|
| 17 |
+
for live in [0,1,3]:
|
| 18 |
+
for pattern in range(4):
|
| 19 |
+
m=mapping_seed(raw,h);m.update({P+o:0 for o in range(0,224,4)});ids=[0,2,5][:live]
|
| 20 |
+
for id in range(64):m[POOL+880*id+532]=int(id in ids);m[POOL+880*id+520]=CPOOL+6336*id
|
| 21 |
+
for j,id in enumerate(ids):
|
| 22 |
+
for slot in range(20):
|
| 23 |
+
values={str(o):word(j+1) if o==56 else 6+3*j for o in FIELDS}
|
| 24 |
+
if pattern==1:values={str(o):word(0) if o==56 else 0 for o in FIELDS}
|
| 25 |
+
if pattern==2:values={str(o):word(1) if o==56 else 6 for o in FIELDS}
|
| 26 |
+
if pattern==3:values['0']=0xffffffff if j==2 else values['0']
|
| 27 |
+
for o in FIELDS:m[CPOOL+6336*id+856+76*slot+o]=values[str(o)]
|
| 28 |
+
selectors=[]
|
| 29 |
+
def actual(i,m,args):
|
| 30 |
+
keys=[m[args[12]+4*k] for k in range(args[16])];candidates=[{'entity':id,'key':key,'slot':LOOKUP[key],'metrics':{str(o):m[CPOOL+6336*id+856+76*LOOKUP[key]+o]&0xffffffff for o in FIELDS}} for id in ids for key in keys];m,v,p=select(i,m,args);p.update(keys=keys,candidates=candidates);selectors.append(p);return m,v,p
|
| 31 |
+
m,e=resume(ins,283623,283817,m,P,handlers={284555:initialize,284610:actual},repeated_calls=True,limit=50000)
|
| 32 |
+
rows.append({'input':{'live':live,'pattern':pattern},'categories':selectors,'published':[m[35000524+4*j] for j in range(16)],'execution':e})
|
| 33 |
+
write_json(Path('docs/research/qvm-leaderboard-categories.json'),{'source':q['source'],'sha256':q['sha256'],'probes':rows,'limits':'Actual283623..283816 first four raw category selections with actual284555/284610/278587 and corrected reentry. Stops before fourth-category283166 post-filter. Later leaderboard categories/publication/native parity remain open.'})
|
| 34 |
+
if __name__=='__main__':main()
|
scripts/test_qvm_leaderboard_categories.py
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json,unittest
|
| 2 |
+
from pathlib import Path
|
| 3 |
+
from test_qvm_leaderboard_selector import expected
|
| 4 |
+
class LeaderboardCategoryTests(unittest.TestCase):
|
| 5 |
+
@classmethod
|
| 6 |
+
def setUpClass(cls):cls.ps=json.loads(Path('docs/research/qvm-leaderboard-categories.json').read_text())['probes']
|
| 7 |
+
def test_actual_categories_against_independent_selector_oracle(self):
|
| 8 |
+
for p in self.ps:
|
| 9 |
+
published=[-1]*16
|
| 10 |
+
for j,c in enumerate(p['categories']):
|
| 11 |
+
selected,record=expected(c['initial'],c['candidates']);self.assertEqual(c['selected'],selected);self.assertEqual(c['final'],record);published[[1,2,3,5][j]]=selected
|
| 12 |
+
self.assertEqual(p['published'],published)
|
| 13 |
+
def test_source_key_groups_and_thresholds(self):
|
| 14 |
+
for p in self.ps:
|
| 15 |
+
self.assertEqual([c['keys'] for c in p['categories']],[[14,10,23,27],[5,6,8,9,15,17,19,22,25],[2,3,20,21,26],[14]])
|
| 16 |
+
self.assertEqual([c['initial']['60'] for c in p['categories']],[5,5,5,10]);self.assertEqual([c['initial']['56'] for c in p['categories']],[0,0,0,0xbf800000])
|
| 17 |
+
def test_prefix_boundary_and_fixture_count(self):
|
| 18 |
+
self.assertEqual(len(self.ps),12)
|
| 19 |
+
for p in self.ps:self.assertEqual(p['execution']['stop'],283817);self.assertEqual([c['target'] for c in p['execution']['calls']],[284555,284610]*4)
|
| 20 |
+
if __name__=='__main__':unittest.main()
|
xtask/checks.tsv
CHANGED
|
@@ -1338,3 +1338,6 @@ group leaderboard-layout scripts/analyze_qvm_leaderboard_layout.py
|
|
| 1338 |
report scripts/analyze_qvm_leaderboard_selector.py docs/research/qvm-leaderboard-selector.json
|
| 1339 |
edge docs/research/qvm-leaderboard-selector.json scripts/test_qvm_leaderboard_selector.py
|
| 1340 |
group leaderboard-selector scripts/analyze_qvm_leaderboard_selector.py
|
|
|
|
|
|
|
|
|
|
|
|
| 1338 |
report scripts/analyze_qvm_leaderboard_selector.py docs/research/qvm-leaderboard-selector.json
|
| 1339 |
edge docs/research/qvm-leaderboard-selector.json scripts/test_qvm_leaderboard_selector.py
|
| 1340 |
group leaderboard-selector scripts/analyze_qvm_leaderboard_selector.py
|
| 1341 |
+
report scripts/analyze_qvm_leaderboard_categories.py docs/research/qvm-leaderboard-categories.json
|
| 1342 |
+
edge docs/research/qvm-leaderboard-categories.json scripts/test_qvm_leaderboard_categories.py
|
| 1343 |
+
group leaderboard-categories scripts/analyze_qvm_leaderboard_categories.py
|