diff --git a/research/k8-temporal-menu-composition/EXPECTED.json b/research/k8-temporal-menu-composition/EXPECTED.json new file mode 100644 index 0000000000..26b3d407d9 --- /dev/null +++ b/research/k8-temporal-menu-composition/EXPECTED.json @@ -0,0 +1,5377 @@ +{ + "status": "PASS_FIXED19_MENU_COMPOSITION", + "orientations": { + "forward": { + "helpers": [ + 272, + 288, + 348, + 359, + 381, + 440, + 444, + 446, + 447, + 469, + 478, + 479, + 491, + 503, + 507, + 514, + 515, + 519, + 542 + ], + "schedules": { + "444": { + "1204": -1, + "1472": -1, + "2654": -1, + "2938": -1, + "5368": -1, + "5654": -1, + "6672": -1, + "6966": -1, + "12471": 0, + "12532": 0, + "12533": 0, + "12562": 0, + "14623": 0, + "14629": 0, + "15494": 0, + "16762": 0, + "18070": 0, + "18086": 0, + "18088": 0, + "18859": 0, + "18871": 0, + "18927": 0, + "19039": 0, + "19235": 0, + "19258": 0, + "19278": 0, + "19297": 0, + "23230": 0, + "23275": 0 + }, + "446": { + "697": -1, + "990": -1, + "1984": -1, + "2240": -1, + "2719": 0, + "3003": 0, + "3225": -1, + "3518": -1, + "3647": -1, + "4039": -1, + "4874": -1, + "5150": -1, + "6128": -1, + "6285": -1, + "6740": 0, + "7033": 0, + "7270": -1, + "7547": -1, + "12475": 0, + "12524": 0, + "12525": 0, + "12565": 0, + "14631": 0, + "14637": 0, + "15500": 0, + "16764": 0, + "18069": 0, + "18924": 0, + "18928": 0, + "19241": 0, + "19242": 0, + "19243": 0, + "19244": -1, + "19245": -1, + "19246": 0, + "19247": 0, + "19248": 0, + "19249": 0, + "19289": 0, + "19299": 0, + "22862": 0, + "22921": 0, + "23232": 1, + "23277": 1, + "23921": 1 + }, + "447": { + "698": -1, + "991": -1, + "1790": -1, + "1985": -1, + "2241": -1, + "2364": -1, + "2720": 0, + "3004": 0, + "3226": -1, + "3519": -1, + "3648": -1, + "3839": -1, + "3974": -1, + "4040": -1, + "4875": -1, + "5151": -1, + "5924": -1, + "6129": -1, + "6286": -1, + "6443": -1, + "6741": 0, + "7034": 0, + "7271": -1, + "7548": -1, + "12477": 0, + "12490": 0, + "12491": 0, + "12492": 0, + "12536": 0, + "12537": 0, + "13884": 0, + "13897": 0, + "13906": 0, + "13918": 0, + "18845": 0, + "18846": 1, + "18847": 1, + "18848": 1, + "18849": 1, + "18850": 1, + "18851": 1, + "18852": 1, + "18853": 1, + "18854": 0, + "18855": 0, + "18860": 0, + "18872": 0, + "18881": 0, + "18945": 0, + "19041": 0, + "19237": 0, + "19246": 0, + "19260": 0, + "19280": -1, + "19300": -1, + "22863": 1, + "22922": 1, + "23233": 1, + "23278": 1, + "23922": 1 + }, + "469": { + "5225": -1, + "5296": -1, + "5373": -1, + "5439": -1, + "5511": -1, + "5582": -1, + "5659": -1, + "5724": -1, + "9567": 0, + "14205": 0, + "14979": 0, + "15239": 0, + "16350": 0, + "16351": 0, + "16353": 0, + "18205": 0, + "18206": 0, + "18207": -1, + "18718": -1, + "20248": 0, + "20267": 0, + "20730": 1, + "21354": 1, + "21388": 1, + "21634": 1, + "21668": 0, + "22737": 0, + "24123": 0, + "24275": 0, + "24392": -1, + "24666": -1 + }, + "478": { + "6208": -1, + "6287": -1, + "6365": -1, + "6444": -1, + "9557": 0, + "14241": 0, + "15018": 0, + "15265": 0, + "16466": 0, + "16467": 0, + "16470": 0, + "18183": 0, + "18184": 0, + "18293": 0, + "18955": -1, + "20556": -1, + "21524": -1, + "21692": -1, + "22531": -1, + "23287": -1, + "23830": 1, + "23928": 1, + "23982": 1, + "24128": 0 + }, + "479": { + "6209": -1, + "6288": -1, + "6366": -1, + "6445": -1, + "9559": 0, + "14243": 0, + "15021": 0, + "15267": 0, + "16476": 0, + "16477": 0, + "16480": 0, + "18185": 0, + "18186": -1, + "18260": -1, + "18297": 0, + "18553": 0, + "18657": 0, + "18748": -1, + "18999": -1, + "20199": -1, + "20280": -1, + "20538": -1, + "20952": -1, + "21111": -1, + "21297": 1, + "21342": 1, + "21525": -1, + "21584": -1, + "21602": -1, + "21693": -1, + "22439": -1, + "22638": 0, + "23430": 0, + "24464": 0, + "24672": 0 + }, + "491": { + "6211": -1, + "6290": -1, + "6368": -1, + "6447": -1, + "9583": 0, + "14287": 0, + "15027": 0, + "15271": 0, + "16494": 0, + "16495": 0, + "16497": 0, + "18211": 0, + "18212": 0, + "18213": 0, + "18273": 0, + "18631": 0, + "18652": 0, + "18666": 0, + "18782": -1, + "19142": -1, + "19891": -1, + "20249": 0, + "20268": 0, + "21356": 1, + "21389": 1, + "21638": 1, + "21669": 1, + "23832": 1, + "24212": 1 + }, + "503": { + "6214": -1, + "6293": -1, + "6371": -1, + "6450": -1, + "8385": 0, + "9587": 0, + "14333": 0, + "15033": 0, + "15275": 0, + "16494": 0, + "16495": 1, + "16499": 1, + "18211": 1, + "18626": 1, + "18627": 0, + "18628": 0, + "18629": 0, + "18630": 0, + "18631": 0, + "18716": 0, + "18811": 0, + "20737": 0, + "20911": -2, + "20941": -2, + "21407": 0, + "23929": 0, + "24395": 0 + }, + "507": { + "699": 0, + "1709": -1, + "2039": -1, + "2175": -1, + "2430": -1, + "3653": -1, + "3722": -1, + "3777": -1, + "3844": -1, + "3913": -1, + "3979": -1, + "4045": -1, + "4100": -1, + "14343": 0, + "14345": 0, + "14709": 0, + "15075": 0, + "15303": 0, + "16638": 0, + "16639": 0, + "16641": 0, + "18220": 0, + "18221": 0, + "18222": 0, + "18640": 0, + "22041": 0, + "22078": 0, + "23149": 0, + "23397": 0, + "24060": 1, + "24681": 1, + "24743": 0 + }, + "514": { + "6216": -1, + "6295": -1, + "6373": -1, + "6452": -1, + "8379": 0, + "9561": 0, + "14377": 0, + "15036": 0, + "15277": 0, + "16466": 0, + "16467": 1, + "16473": 1, + "18184": 1, + "18293": 0, + "18294": 0, + "18295": 0, + "18296": 0, + "21076": 1, + "21156": 1, + "22116": -1, + "22172": -1, + "22251": -1, + "22396": -1, + "22424": -2, + "22695": -2, + "23518": -2 + }, + "515": { + "6217": -1, + "6296": -1, + "6374": -1, + "6453": -1, + "8383": 0, + "9563": 0, + "14379": 0, + "15039": 0, + "15279": 0, + "16476": 0, + "16477": 1, + "16483": 1, + "18186": 1, + "18297": 0, + "18298": 0, + "18299": 0, + "18300": 0, + "18731": -1, + "18827": -1, + "20954": -1, + "22202": 0, + "22231": 0, + "22476": -1, + "22642": -1, + "22696": -1, + "23477": -1, + "23596": 0, + "23728": 0 + }, + "519": { + "1711": -1, + "2041": -1, + "2176": -1, + "2431": -1, + "3294": -1, + "3654": -1, + "3723": -1, + "3779": -1, + "3845": -1, + "3914": -1, + "3980": -1, + "4046": -1, + "4102": -1, + "14389": 0, + "14391": 0, + "14724": 0, + "15081": 0, + "15307": 0, + "16638": 0, + "16639": 1, + "16643": 1, + "18220": 1, + "18638": 0, + "18639": 0, + "18640": 0, + "18641": 0, + "18642": 0, + "18643": 0, + "21158": 1, + "22740": 1, + "23651": 1, + "23754": 1, + "23800": 0 + }, + "542": { + "1713": -1, + "2043": -1, + "2178": -1, + "2433": -1, + "3656": -1, + "3725": -1, + "3781": -1, + "3847": -1, + "3916": -1, + "3982": -1, + "4048": -1, + "4104": -1, + "7276": 0, + "14385": 0, + "14473": 0, + "14685": 0, + "15078": 0, + "18079": 0, + "18080": 0, + "18303": 0, + "18306": 0, + "18307": 0, + "18308": 0, + "18309": 0, + "19732": 1, + "20049": 1, + "21163": 1, + "22188": 1, + "22747": 1, + "23839": 1, + "24203": 0 + }, + "272": { + "1014": -1, + "1083": -1, + "1150": -1, + "1418": -1, + "1618": -2, + "1658": -2, + "1793": -2, + "1988": -2, + "2110": -2, + "2365": -2, + "2454": -1, + "2527": -1, + "3598": -2, + "3657": -2, + "3726": -2, + "3789": -2, + "3848": -2, + "3925": -2, + "3991": -2, + "4049": -2, + "4131": -2, + "4174": -2, + "4214": -2, + "4286": -2, + "4345": -2, + "4405": -2, + "4456": -2, + "4513": -2, + "5314": -1, + "5600": -1, + "5798": -2, + "5933": -2, + "8409": -1, + "8417": -1, + "8425": -1, + "8442": 0, + "8493": 0, + "8507": 0, + "8521": 0, + "8528": -2, + "8529": -2, + "8530": -2, + "10267": 0, + "10269": 0, + "10320": 0, + "10321": -1, + "10367": -1, + "10394": 0, + "10408": 0, + "10409": 0, + "10410": 0, + "10420": 0, + "10428": 0, + "10447": 1, + "10454": 1, + "10459": 0, + "10460": 0, + "10461": 0, + "10463": 0, + "10464": 0, + "10465": 0, + "10475": 0, + "10476": 0, + "10477": 0, + "10481": 0, + "12744": 0, + "19192": 0, + "19481": 0, + "19482": 0, + "19483": 0, + "19484": 0, + "19485": -2, + "19486": -2, + "19487": -2, + "19488": -2, + "19489": -2, + "19490": -2, + "19491": -1, + "19492": -1, + "19493": -1, + "19494": 0, + "19497": 0, + "19503": 0, + "19599": 0, + "19975": 0, + "20313": 0, + "20336": 0, + "20357": 0, + "20566": 1, + "20625": 1, + "21217": 0, + "21313": 0, + "21541": 0, + "21710": 0, + "22541": 0, + "23853": 2, + "23896": 2, + "23957": 2, + "24030": 0, + "24093": 0, + "24165": 0 + }, + "288": { + "1019": -1, + "1088": -1, + "1623": -2, + "1664": -2, + "1798": -2, + "1994": -2, + "2117": -2, + "2372": -2, + "2459": -1, + "2532": -1, + "2598": -1, + "2882": -1, + "3603": -2, + "3664": -2, + "3732": -2, + "3794": -2, + "3855": -2, + "3930": -2, + "3996": -2, + "4055": -2, + "4137": -2, + "4179": -2, + "4221": -2, + "4292": -2, + "4350": -2, + "4411": -2, + "4462": -2, + "4520": -2, + "5805": -2, + "5940": -2, + "6618": -1, + "6912": -1, + "8546": -1, + "8554": -1, + "8562": -1, + "8579": 0, + "8630": 0, + "8644": 0, + "8658": 0, + "8665": -2, + "8666": -2, + "8667": -2, + "10485": 0, + "10487": 0, + "10538": 0, + "10539": -1, + "10585": -1, + "10612": 0, + "10626": 0, + "10627": 0, + "10628": 0, + "10638": 0, + "10646": 0, + "10665": 1, + "10672": 1, + "10677": 0, + "10678": 0, + "10679": 0, + "10681": 0, + "10682": 0, + "10683": 0, + "10693": 0, + "10694": 0, + "10695": 0, + "10699": 0, + "12757": 0, + "19210": 0, + "19957": 1, + "19958": 1, + "19959": 0, + "19960": 0, + "19961": 0, + "19962": 0, + "19963": -2, + "19964": -2, + "19965": -2, + "19966": -2, + "19967": -2, + "19968": -2, + "19969": -2, + "19970": -2, + "19971": -2, + "19972": 0, + "19977": 0, + "19987": -1, + "20407": -1, + "20430": 0, + "20451": 0, + "21173": 0, + "21371": 0, + "22136": -1, + "22177": -1, + "22378": 0, + "23324": 0 + }, + "348": { + "2093": -2, + "2144": -2, + "2209": -2, + "2285": -2, + "2333": -2, + "2399": -2, + "2477": -2, + "2550": -2, + "2615": -2, + "2689": -2, + "2763": -2, + "2834": -2, + "2899": -2, + "2973": -2, + "3691": -2, + "3882": -2, + "4246": -2, + "4545": -2, + "5187": -2, + "5258": -2, + "5331": -2, + "5406": -2, + "5479": -2, + "5550": -2, + "5617": -2, + "5691": -2, + "5756": -2, + "5830": -2, + "5891": -2, + "5965": -2, + "6027": -2, + "6097": -2, + "8949": -1, + "8956": -1, + "8967": -1, + "8993": -1, + "9010": -1, + "9020": -1, + "9036": 0, + "11163": 0, + "11224": 0, + "11225": 0, + "11254": 0, + "14427": 0, + "14868": 0, + "15165": 0, + "15962": 0, + "15963": 1, + "15969": 1, + "19323": 1, + "19362": 1, + "19375": 0, + "21010": 0, + "21045": 0, + "21070": 0, + "21934": -1, + "21994": -1, + "22009": -1, + "22314": -1, + "22365": -1, + "22820": -1, + "22828": -1, + "22901": -1, + "22923": 0, + "22966": 0, + "23020": 3, + "23021": 3, + "23022": 3, + "23023": 3, + "23024": -1, + "23025": -1, + "23026": 1, + "23027": 1, + "23028": 1, + "23029": 1, + "23030": 1, + "23031": 0, + "23032": 0, + "23033": 1, + "23034": 1, + "23035": 1, + "23036": 1, + "23037": 0, + "23038": 0, + "23039": 0, + "23040": 0, + "23041": 0, + "23042": 1, + "23043": 1, + "23044": 3, + "23045": 3, + "23046": 3, + "23047": 3, + "23048": 0, + "23049": 0, + "23050": 0, + "23051": 1, + "23052": 1, + "23053": 1, + "23054": 1, + "23055": 1, + "23056": 0, + "23057": 0, + "23058": 0, + "23059": 0, + "23060": 0, + "23061": 0, + "23062": 0, + "23063": 0, + "23106": 0, + "23136": 0, + "23179": 0, + "23396": 0, + "23427": 0, + "23465": 0, + "23681": 1, + "23868": 1, + "24048": -1, + "24199": -1, + "24230": -1, + "24336": -1, + "24372": 0, + "24533": 0, + "24640": 0, + "24739": 0 + }, + "359": { + "1597": -2, + "1643": -2, + "1688": -2, + "1756": -2, + "1818": -2, + "1888": -2, + "1952": -2, + "2018": -2, + "2482": -2, + "2555": -2, + "2620": -2, + "2694": -2, + "2768": -2, + "2839": -2, + "2904": -2, + "2978": -2, + "3756": -2, + "4079": -2, + "4199": -2, + "4370": -2, + "5191": -2, + "5262": -2, + "5335": -2, + "5410": -2, + "5483": -2, + "5554": -2, + "5621": -2, + "5695": -2, + "6176": -2, + "6255": -2, + "6335": -2, + "6413": -2, + "9095": -1, + "9155": -1, + "9159": -1, + "9160": -1, + "9161": -1, + "9162": -1, + "9163": -1, + "9164": 0, + "9165": 0, + "9168": -1, + "9169": -1, + "9170": -1, + "9172": -2, + "9173": -2, + "9174": -2, + "9191": -2, + "9205": -1, + "9219": 0, + "11371": 0, + "11442": -2, + "11443": -2, + "11454": 0, + "14457": 0, + "14796": 0, + "15117": 0, + "15746": -1, + "15747": -1, + "15753": -1, + "19458": -1, + "19472": -2, + "19527": -2, + "19545": -2, + "19557": -3, + "19561": -3, + "23684": -3, + "24235": -3, + "24243": -3, + "24263": 7, + "24264": 7, + "24265": 3, + "24266": 3, + "24267": 3, + "24268": 2, + "24269": 2, + "24270": 2, + "24271": 2, + "24272": 2, + "24273": 2, + "24274": 2, + "24275": 2, + "24276": 3, + "24277": 4, + "24278": 4, + "24279": 4, + "24280": 3, + "24281": 3, + "24282": 3, + "24283": 4, + "24284": 4, + "24285": 4, + "24286": 1, + "24287": 0, + "24288": 0, + "24289": 0, + "24290": 0, + "24291": 0, + "24292": 0, + "24293": 0, + "24294": 0, + "24295": 0, + "24296": 0, + "24297": 0, + "24298": 0, + "24299": 0, + "24300": 0, + "24301": 0, + "24302": 0, + "24303": 0, + "24304": 4, + "24305": 4, + "24306": 2, + "24307": 2, + "24308": 1, + "24309": 1, + "24310": 1, + "24311": 1, + "24312": 1, + "24313": 1, + "24314": 3, + "24315": 3, + "24316": 3, + "24317": 1, + "24318": 1, + "24319": 1, + "24320": 0, + "24321": 0, + "24322": 0, + "24323": 0, + "24324": 1, + "24325": 1, + "24326": 0, + "24327": 0, + "24328": 0, + "24329": 4, + "24330": 4, + "24331": 4, + "24332": 4, + "24333": 4, + "24334": 3, + "24335": 3, + "24336": 3, + "24337": -1, + "24338": -1, + "24374": -1, + "24653": -1 + }, + "381": { + "4627": -1, + "4706": -1, + "4776": -1, + "4843": -1, + "4917": -1, + "4983": -1, + "5053": -1, + "5119": -1, + "6184": -1, + "6263": -1, + "6343": -1, + "6421": -1, + "9232": -1, + "9240": -1, + "9241": -1, + "9242": -1, + "9243": -1, + "9244": -2, + "9245": -2, + "9246": -2, + "9250": -2, + "9276": -1, + "9293": -1, + "9303": -1, + "9319": 0, + "11601": 0, + "11614": 0, + "11615": 0, + "11616": 0, + "11668": 0, + "11669": 0, + "13659": 0, + "14484": 0, + "16826": 0, + "18808": 0, + "18809": 0, + "18810": 0, + "18811": 0, + "18812": 0, + "18813": 1, + "18814": 1, + "18815": 1, + "18816": 0, + "18817": 0, + "20481": 0, + "20606": 0, + "20683": 0, + "20707": 0, + "20723": 0, + "20938": -1, + "20945": -1, + "21333": 1, + "21437": 1, + "21470": 1, + "21505": 1, + "22722": 1, + "23507": 0, + "23580": 0, + "23625": 0, + "23713": 0, + "23903": 1, + "24385": 1, + "24434": 0 + }, + "440": { + "695": -1, + "988": -1, + "3223": -1, + "3516": -1, + "4872": -1, + "5148": -1, + "7268": -1, + "7545": -1, + "12463": 0, + "12520": 0, + "12521": 0, + "12556": 0, + "14619": 0, + "14721": 0, + "15398": 0, + "16859": 0, + "18085": 0, + "18087": 0, + "18879": 0, + "19037": 0, + "19233": 0, + "19243": 0, + "19256": 0, + "19288": 0, + "22860": 0, + "22919": 0, + "23271": 0, + "23919": 0 + } + }, + "single_real_deltas": { + "444": -14, + "446": -26, + "447": -45, + "469": -22, + "478": -14, + "479": -17, + "491": -14, + "503": -13, + "507": -24, + "514": -19, + "515": -15, + "519": -30, + "542": -28, + "272": -112, + "288": -116, + "348": -161, + "359": -242, + "381": -47, + "440": -14 + }, + "shared_ADD_interactions": [ + [ + 16466, + 478, + 514, + 0, + 0, + 0 + ], + [ + 16467, + 514, + 478, + 1, + 0, + 0 + ], + [ + 16476, + 479, + 515, + 0, + 0, + 0 + ], + [ + 16477, + 515, + 479, + 1, + 0, + 0 + ], + [ + 16494, + 491, + 503, + 0, + 0, + 0 + ], + [ + 16495, + 503, + 491, + 1, + 0, + 0 + ], + [ + 16638, + 507, + 519, + 0, + 0, + 0 + ], + [ + 16639, + 519, + 507, + 1, + 0, + 0 + ], + [ + 18184, + 514, + 478, + 1, + 0, + 0 + ], + [ + 18186, + 515, + 479, + 1, + -1, + 4 + ], + [ + 18211, + 503, + 491, + 1, + 0, + 0 + ], + [ + 18220, + 519, + 507, + 1, + 0, + 0 + ], + [ + 18293, + 478, + 514, + 0, + 0, + 0 + ], + [ + 18297, + 479, + 515, + 0, + 0, + 0 + ], + [ + 18631, + 491, + 503, + 0, + 0, + 0 + ], + [ + 18640, + 507, + 519, + 0, + 0, + 0 + ], + [ + 18811, + 503, + 381, + 0, + 0, + 0 + ], + [ + 19243, + 440, + 446, + 0, + 0, + 0 + ], + [ + 19246, + 447, + 446, + 0, + 0, + 0 + ], + [ + 24275, + 469, + 359, + 0, + 2, + 0 + ], + [ + 24336, + 348, + 359, + -1, + 3, + 3 + ] + ], + "all19_invoice": { + "real_primitives": 67035, + "complex_primitives": 134070, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "charged_payload_bits": 192, + "paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + } + }, + "all19_delta_real": -966, + "subsets_checked": 524288, + "fixed_menu_winning_helpers": [ + 272, + 288, + 348, + 359, + 381, + 440, + 444, + 446, + 447, + 469, + 478, + 479, + 491, + 503, + 507, + 514, + 515, + 519, + 542 + ], + "winning_invoice": { + "real_primitives": 67035, + "complex_primitives": 134070, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "charged_payload_bits": 192, + "paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + } + }, + "winning_delta_real": -966, + "PR1388pair_invoice": { + "real_primitives": 67601, + "complex_primitives": 135202, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "charged_payload_bits": 192, + "paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + } + }, + "strictly_better_than_PR1388pair": true, + "all712_endpoint": { + "formal_input_columns": 712, + "data_helper_columns": 704, + "dirty_helper_columns": 480, + "centre_columns": 8, + "all_restored": true + }, + "inserted_scales": [ + [ + 695, + 440, + -1, + 0, + 695 + ], + [ + 697, + 446, + -1, + 0, + 698 + ], + [ + 698, + 447, + -1, + 0, + 700 + ], + [ + 1014, + 272, + -1, + 0, + 1017 + ], + [ + 1019, + 288, + -1, + 0, + 1023 + ], + [ + 1204, + 444, + -1, + 0, + 1209 + ], + [ + 1597, + 359, + -2, + 0, + 1603 + ], + [ + 1618, + 272, + -1, + 0, + 1625 + ], + [ + 1623, + 288, + -1, + 0, + 1631 + ], + [ + 1709, + 507, + -1, + 0, + 1718 + ], + [ + 1711, + 519, + -1, + 0, + 1721 + ], + [ + 1713, + 542, + -1, + 0, + 1724 + ], + [ + 2093, + 348, + -2, + 0, + 2105 + ], + [ + 2454, + 272, + 1, + 0, + 2467 + ], + [ + 2459, + 288, + 1, + 0, + 2473 + ], + [ + 2719, + 446, + 1, + 0, + 2734 + ], + [ + 2720, + 447, + 1, + 0, + 2736 + ], + [ + 3225, + 446, + -1, + 0, + 3242 + ], + [ + 3226, + 447, + -1, + 0, + 3244 + ], + [ + 3598, + 272, + -1, + 0, + 3617 + ], + [ + 3603, + 288, + -1, + 0, + 3623 + ], + [ + 4627, + 381, + -1, + 0, + 4648 + ], + [ + 5225, + 469, + -1, + 0, + 5247 + ], + [ + 5314, + 272, + 1, + 0, + 5337 + ], + [ + 5798, + 272, + -1, + 0, + 5822 + ], + [ + 6208, + 478, + -1, + 0, + 6233 + ], + [ + 6209, + 479, + -1, + 0, + 6235 + ], + [ + 6211, + 491, + -1, + 0, + 6238 + ], + [ + 6214, + 503, + -1, + 0, + 6242 + ], + [ + 6216, + 514, + -1, + 0, + 6245 + ], + [ + 6217, + 515, + -1, + 0, + 6247 + ], + [ + 6618, + 288, + 1, + 0, + 6649 + ], + [ + 6740, + 446, + 1, + 0, + 6772 + ], + [ + 6741, + 447, + 1, + 0, + 6774 + ], + [ + 7270, + 446, + -1, + 0, + 7304 + ], + [ + 7271, + 447, + -1, + 0, + 7306 + ], + [ + 7276, + 542, + 1, + 0, + 7312 + ], + [ + 8379, + 514, + 1, + 0, + 8416 + ], + [ + 8383, + 515, + 1, + 0, + 8421 + ], + [ + 8385, + 503, + 1, + 0, + 8424 + ], + [ + 8409, + 272, + 1, + 0, + 8449 + ], + [ + 8442, + 272, + 1, + 0, + 8483 + ], + [ + 8528, + 272, + -2, + 0, + 8570 + ], + [ + 8579, + 288, + 1, + 0, + 8622 + ], + [ + 8665, + 288, + -2, + 0, + 8709 + ], + [ + 8949, + 348, + 1, + 0, + 8994 + ], + [ + 9036, + 348, + 1, + 0, + 9082 + ], + [ + 9095, + 359, + 1, + 0, + 9142 + ], + [ + 9164, + 359, + 1, + 0, + 9212 + ], + [ + 9168, + 359, + -1, + 0, + 9217 + ], + [ + 9172, + 359, + -1, + 0, + 9222 + ], + [ + 9205, + 359, + 1, + 0, + 9256 + ], + [ + 9219, + 359, + 1, + 0, + 9271 + ], + [ + 9244, + 381, + -1, + 0, + 9297 + ], + [ + 9276, + 381, + 1, + 0, + 9330 + ], + [ + 9319, + 381, + 1, + 0, + 9374 + ], + [ + 9557, + 478, + 1, + 5, + 9613 + ], + [ + 9559, + 479, + 1, + 5, + 9616 + ], + [ + 9567, + 469, + 1, + 6, + 9625 + ], + [ + 9583, + 491, + 1, + 6, + 9642 + ], + [ + 10267, + 272, + 2, + 96, + 10327 + ], + [ + 10321, + 272, + -1, + 105, + 10382 + ], + [ + 10394, + 272, + 1, + 124, + 10456 + ], + [ + 10447, + 272, + 1, + 124, + 10510 + ], + [ + 10459, + 272, + -1, + 124, + 10523 + ], + [ + 10485, + 288, + 2, + 125, + 10550 + ], + [ + 10539, + 288, + -1, + 134, + 10605 + ], + [ + 10612, + 288, + 1, + 153, + 10679 + ], + [ + 10665, + 288, + 1, + 153, + 10733 + ], + [ + 10677, + 288, + -1, + 153, + 10746 + ], + [ + 11442, + 359, + -2, + 258, + 11512 + ], + [ + 11454, + 359, + 2, + 261, + 11525 + ], + [ + 12463, + 440, + 1, + 390, + 12535 + ], + [ + 12471, + 444, + 1, + 392, + 12544 + ], + [ + 12475, + 446, + 1, + 393, + 12549 + ], + [ + 12477, + 447, + 1, + 393, + 12552 + ], + [ + 14343, + 507, + 1, + 2, + 14419 + ], + [ + 14389, + 519, + 1, + 2, + 14466 + ], + [ + 15746, + 359, + -1, + 790, + 15824 + ], + [ + 15963, + 348, + 1, + 838, + 16042 + ], + [ + 16467, + 514, + 1, + 950, + 16547 + ], + [ + 16477, + 515, + 1, + 953, + 16558 + ], + [ + 16495, + 503, + 1, + 957, + 16577 + ], + [ + 16639, + 519, + 1, + 989, + 16722 + ], + [ + 18186, + 479, + -1, + 1, + 18270 + ], + [ + 18207, + 469, + -1, + 1, + 18292 + ], + [ + 18293, + 514, + -1, + 1, + 18379 + ], + [ + 18297, + 479, + 1, + 1, + 18384 + ], + [ + 18297, + 515, + -1, + 1, + 18385 + ], + [ + 18627, + 503, + -1, + 1, + 18716 + ], + [ + 18638, + 519, + -1, + 1, + 18728 + ], + [ + 18731, + 515, + -1, + 1, + 18822 + ], + [ + 18748, + 479, + -1, + 1, + 18840 + ], + [ + 18782, + 491, + -1, + 1, + 18875 + ], + [ + 18813, + 381, + 1, + 1, + 18907 + ], + [ + 18816, + 381, + -1, + 1, + 18911 + ], + [ + 18846, + 447, + 1, + 1, + 18942 + ], + [ + 18854, + 447, + -1, + 1, + 18951 + ], + [ + 18955, + 478, + -1, + 1, + 19053 + ], + [ + 19244, + 446, + -1, + 1, + 19343 + ], + [ + 19246, + 446, + 1, + 1, + 19346 + ], + [ + 19280, + 447, + -1, + 1, + 19381 + ], + [ + 19375, + 348, + -1, + 1, + 19477 + ], + [ + 19472, + 359, + -1, + 1, + 19575 + ], + [ + 19485, + 272, + -2, + 1, + 19589 + ], + [ + 19491, + 272, + 1, + 1, + 19596 + ], + [ + 19494, + 272, + 1, + 1, + 19600 + ], + [ + 19557, + 359, + -1, + 1, + 19664 + ], + [ + 19732, + 542, + 1, + 1, + 19840 + ], + [ + 19957, + 288, + 1, + 1, + 20066 + ], + [ + 19959, + 288, + -1, + 1, + 20069 + ], + [ + 19963, + 288, + -2, + 1, + 20074 + ], + [ + 19972, + 288, + 2, + 1, + 20084 + ], + [ + 19987, + 288, + -1, + 1, + 20100 + ], + [ + 20248, + 469, + 1, + 1, + 20362 + ], + [ + 20249, + 491, + 1, + 1, + 20364 + ], + [ + 20430, + 288, + 1, + 1, + 20546 + ], + [ + 20566, + 272, + 1, + 1, + 20683 + ], + [ + 20730, + 469, + 1, + 1, + 20848 + ], + [ + 20911, + 503, + -2, + 1, + 21030 + ], + [ + 20938, + 381, + -1, + 1, + 21058 + ], + [ + 21076, + 514, + 1, + 1, + 21197 + ], + [ + 21158, + 519, + 1, + 1, + 21280 + ], + [ + 21217, + 272, + -1, + 1, + 21340 + ], + [ + 21297, + 479, + 2, + 1, + 21421 + ], + [ + 21333, + 381, + 2, + 1, + 21458 + ], + [ + 21356, + 491, + 1, + 1, + 21482 + ], + [ + 21407, + 503, + 2, + 1, + 21534 + ], + [ + 21525, + 479, + -2, + 1, + 21653 + ], + [ + 21668, + 469, + -1, + 1, + 21797 + ], + [ + 21934, + 348, + -1, + 1, + 22064 + ], + [ + 22116, + 514, + -2, + 1, + 22247 + ], + [ + 22136, + 288, + -1, + 1, + 22268 + ], + [ + 22202, + 515, + 1, + 1, + 22335 + ], + [ + 22378, + 288, + 1, + 1, + 22512 + ], + [ + 22424, + 514, + -1, + 1, + 22559 + ], + [ + 22476, + 515, + -1, + 1, + 22612 + ], + [ + 22638, + 479, + 1, + 1, + 22775 + ], + [ + 22863, + 447, + 2, + 1, + 23001 + ], + [ + 22923, + 348, + 1, + 1, + 23062 + ], + [ + 23020, + 348, + 3, + 1, + 23160 + ], + [ + 23024, + 348, + -4, + 1, + 23165 + ], + [ + 23026, + 348, + 2, + 1, + 23168 + ], + [ + 23031, + 348, + -1, + 1, + 23174 + ], + [ + 23033, + 348, + 1, + 1, + 23177 + ], + [ + 23037, + 348, + -1, + 1, + 23182 + ], + [ + 23042, + 348, + 1, + 1, + 23188 + ], + [ + 23044, + 348, + 2, + 1, + 23191 + ], + [ + 23048, + 348, + -3, + 1, + 23196 + ], + [ + 23051, + 348, + 1, + 1, + 23200 + ], + [ + 23056, + 348, + -1, + 1, + 23206 + ], + [ + 23232, + 446, + 1, + 1, + 23383 + ], + [ + 23507, + 381, + -1, + 1, + 23659 + ], + [ + 23596, + 515, + 1, + 1, + 23749 + ], + [ + 23681, + 348, + 1, + 1, + 23835 + ], + [ + 23800, + 519, + -1, + 1, + 23955 + ], + [ + 23830, + 478, + 2, + 1, + 23986 + ], + [ + 23853, + 272, + 2, + 1, + 24010 + ], + [ + 23903, + 381, + 1, + 1, + 24061 + ], + [ + 24030, + 272, + -2, + 1, + 24189 + ], + [ + 24048, + 348, + -2, + 1, + 24208 + ], + [ + 24060, + 507, + 1, + 1, + 24221 + ], + [ + 24128, + 478, + -1, + 1, + 24290 + ], + [ + 24203, + 542, + -1, + 1, + 24366 + ], + [ + 24263, + 359, + 10, + 1, + 24427 + ], + [ + 24265, + 359, + -4, + 1, + 24430 + ], + [ + 24268, + 359, + -1, + 1, + 24434 + ], + [ + 24276, + 359, + 1, + 1, + 24443 + ], + [ + 24277, + 359, + 1, + 1, + 24445 + ], + [ + 24280, + 359, + -1, + 1, + 24449 + ], + [ + 24283, + 359, + 1, + 1, + 24453 + ], + [ + 24286, + 359, + -3, + 1, + 24457 + ], + [ + 24287, + 359, + -1, + 1, + 24459 + ], + [ + 24304, + 359, + 4, + 1, + 24477 + ], + [ + 24306, + 359, + -2, + 1, + 24480 + ], + [ + 24308, + 359, + -1, + 1, + 24483 + ], + [ + 24314, + 359, + 2, + 1, + 24490 + ], + [ + 24317, + 359, + -2, + 1, + 24494 + ], + [ + 24320, + 359, + -1, + 1, + 24498 + ], + [ + 24324, + 359, + 1, + 1, + 24503 + ], + [ + 24326, + 359, + -1, + 1, + 24506 + ], + [ + 24329, + 359, + 4, + 1, + 24510 + ], + [ + 24334, + 359, + -1, + 1, + 24516 + ], + [ + 24337, + 359, + -4, + 1, + 24520 + ], + [ + 24372, + 348, + 1, + 1, + 24556 + ], + [ + 24392, + 469, + -1, + 1, + 24577 + ], + [ + 24434, + 381, + -1, + 1, + 24620 + ], + [ + 24743, + 507, + -1, + 1, + 24930 + ], + [ + 25202, + 359, + 1, + 1, + 25390 + ], + [ + 25202, + 446, + -1, + 1, + 25391 + ], + [ + 25202, + 447, + -1, + 1, + 25392 + ], + [ + 25202, + 469, + 1, + 1, + 25393 + ], + [ + 25202, + 491, + -1, + 1, + 25394 + ], + [ + 25202, + 514, + 2, + 1, + 25395 + ] + ], + "controls": { + "zero_menu": true, + "tiny_subset_oracle": true, + "omitted_transition": true + }, + "nonscalar_events_unchanged": true + }, + "backward": { + "helpers": [ + 272, + 288, + 348, + 359, + 381, + 440, + 444, + 446, + 447, + 469, + 478, + 479, + 491, + 503, + 507, + 514, + 515, + 519, + 542 + ], + "schedules": { + "444": { + "1204": 1, + "1472": 1, + "2654": 1, + "2938": 1, + "5368": 1, + "5654": 1, + "6672": 1, + "6966": 1, + "12471": 0, + "12532": 0, + "12533": 0, + "12562": 0, + "14623": 0, + "14629": 0, + "15494": 0, + "16762": 0, + "18070": 0, + "18086": 0, + "18088": 0, + "18859": 0, + "18871": 0, + "18927": 0, + "19039": 0, + "19235": 0, + "19258": 0, + "19278": 0, + "19297": 0, + "23230": 0, + "23275": 0 + }, + "446": { + "697": 1, + "990": 1, + "1984": 1, + "2240": 1, + "2719": 0, + "3003": 0, + "3225": 1, + "3518": 1, + "3647": 1, + "4039": 1, + "4874": 1, + "5150": 1, + "6128": 1, + "6285": 1, + "6740": 0, + "7033": 0, + "7270": 1, + "7547": 1, + "12475": 0, + "12524": 0, + "12525": 0, + "12565": 0, + "14631": 0, + "14637": 0, + "15500": 0, + "16764": 0, + "18069": 0, + "18924": 0, + "18928": 0, + "19241": 0, + "19242": 0, + "19243": 0, + "19244": 1, + "19245": 1, + "19246": 0, + "19247": 0, + "19248": 0, + "19249": 0, + "19289": 0, + "19299": 0, + "22862": 0, + "22921": 0, + "23232": -1, + "23277": -1, + "23921": -1 + }, + "447": { + "698": 1, + "991": 1, + "1790": 1, + "1985": 1, + "2241": 1, + "2364": 1, + "2720": 0, + "3004": 0, + "3226": 1, + "3519": 1, + "3648": 1, + "3839": 1, + "3974": 1, + "4040": 1, + "4875": 1, + "5151": 1, + "5924": 1, + "6129": 1, + "6286": 1, + "6443": 1, + "6741": 0, + "7034": 0, + "7271": 1, + "7548": 1, + "12477": 0, + "12490": 0, + "12491": 0, + "12492": 0, + "12536": 0, + "12537": 0, + "13884": 0, + "13897": 0, + "13906": 0, + "13918": 0, + "18845": 0, + "18846": -1, + "18847": -1, + "18848": -1, + "18849": -1, + "18850": -1, + "18851": -1, + "18852": -1, + "18853": -1, + "18854": 0, + "18855": 0, + "18860": 0, + "18872": 0, + "18881": 0, + "18945": 0, + "19041": 0, + "19237": 0, + "19246": 0, + "19260": 0, + "19280": 1, + "19300": 1, + "22863": -1, + "22922": -1, + "23233": -1, + "23278": -1, + "23922": -1 + }, + "469": { + "5225": 1, + "5296": 1, + "5373": 1, + "5439": 1, + "5511": 1, + "5582": 1, + "5659": 1, + "5724": 1, + "9567": 0, + "14205": 0, + "14979": 0, + "15239": 0, + "16350": 0, + "16351": 0, + "16353": 0, + "18205": 0, + "18206": 0, + "18207": 1, + "18718": 1, + "20248": 0, + "20267": 0, + "20730": -1, + "21354": -1, + "21388": -1, + "21634": -1, + "21668": 0, + "22737": 0, + "24123": 0, + "24275": 0, + "24392": 1, + "24666": 1 + }, + "478": { + "6208": 1, + "6287": 1, + "6365": 1, + "6444": 1, + "9557": 0, + "14241": 0, + "15018": 0, + "15265": 0, + "16466": 0, + "16467": 0, + "16470": 0, + "18183": 0, + "18184": 0, + "18293": 0, + "18955": 1, + "20556": 1, + "21524": 1, + "21692": 1, + "22531": 1, + "23287": 1, + "23830": -1, + "23928": -1, + "23982": -1, + "24128": 0 + }, + "479": { + "6209": 1, + "6288": 1, + "6366": 1, + "6445": 1, + "9559": 0, + "14243": 0, + "15021": 0, + "15267": 0, + "16476": 0, + "16477": 0, + "16480": 0, + "18185": 0, + "18186": 1, + "18260": 1, + "18297": 0, + "18553": 0, + "18657": 0, + "18748": 1, + "18999": 1, + "20199": 1, + "20280": 1, + "20538": 1, + "20952": 1, + "21111": 1, + "21297": -1, + "21342": -1, + "21525": 1, + "21584": 1, + "21602": 1, + "21693": 1, + "22439": 1, + "22638": 0, + "23430": 0, + "24464": 0, + "24672": 0 + }, + "491": { + "6211": 1, + "6290": 1, + "6368": 1, + "6447": 1, + "9583": 0, + "14287": 0, + "15027": 0, + "15271": 0, + "16494": 0, + "16495": 0, + "16497": 0, + "18211": 0, + "18212": 0, + "18213": 0, + "18273": 0, + "18631": 0, + "18652": 0, + "18666": 0, + "18782": 1, + "19142": 1, + "19891": 1, + "20249": 0, + "20268": 0, + "21356": -1, + "21389": -1, + "21638": -1, + "21669": -1, + "23832": -1, + "24212": -1 + }, + "503": { + "6214": 1, + "6293": 1, + "6371": 1, + "6450": 1, + "8385": 0, + "9587": 0, + "14333": 0, + "15033": 0, + "15275": 0, + "16494": 0, + "16495": -1, + "16499": -1, + "18211": -1, + "18626": -1, + "18627": 0, + "18628": 0, + "18629": 0, + "18630": 0, + "18631": 0, + "18716": 0, + "18811": 0, + "20737": 0, + "20911": 2, + "20941": 2, + "21407": 0, + "23929": 0, + "24395": 0 + }, + "507": { + "699": 0, + "1709": 1, + "2039": 1, + "2175": 1, + "2430": 1, + "3653": 1, + "3722": 1, + "3777": 1, + "3844": 1, + "3913": 1, + "3979": 1, + "4045": 1, + "4100": 1, + "14343": 0, + "14345": 0, + "14709": 0, + "15075": 0, + "15303": 0, + "16638": 0, + "16639": 0, + "16641": 0, + "18220": 0, + "18221": 0, + "18222": 0, + "18640": 0, + "22041": 0, + "22078": 0, + "23149": 0, + "23397": 0, + "24060": -1, + "24681": -1, + "24743": 0 + }, + "514": { + "6216": 1, + "6295": 1, + "6373": 1, + "6452": 1, + "8379": 0, + "9561": 0, + "14377": 0, + "15036": 0, + "15277": 0, + "16466": 0, + "16467": -1, + "16473": -1, + "18184": -1, + "18293": 0, + "18294": 0, + "18295": 0, + "18296": 0, + "21076": -1, + "21156": -1, + "22116": 1, + "22172": 1, + "22251": 1, + "22396": 1, + "22424": 2, + "22695": 2, + "23518": 2 + }, + "515": { + "6217": 1, + "6296": 1, + "6374": 1, + "6453": 1, + "8383": 0, + "9563": 0, + "14379": 0, + "15039": 0, + "15279": 0, + "16476": 0, + "16477": -1, + "16483": -1, + "18186": -1, + "18297": 0, + "18298": 0, + "18299": 0, + "18300": 0, + "18731": 1, + "18827": 1, + "20954": 1, + "22202": 0, + "22231": 0, + "22476": 1, + "22642": 1, + "22696": 1, + "23477": 1, + "23596": 0, + "23728": 0 + }, + "519": { + "1711": 1, + "2041": 1, + "2176": 1, + "2431": 1, + "3294": 1, + "3654": 1, + "3723": 1, + "3779": 1, + "3845": 1, + "3914": 1, + "3980": 1, + "4046": 1, + "4102": 1, + "14389": 0, + "14391": 0, + "14724": 0, + "15081": 0, + "15307": 0, + "16638": 0, + "16639": -1, + "16643": -1, + "18220": -1, + "18638": 0, + "18639": 0, + "18640": 0, + "18641": 0, + "18642": 0, + "18643": 0, + "21158": -1, + "22740": -1, + "23651": -1, + "23754": -1, + "23800": 0 + }, + "542": { + "1713": 1, + "2043": 1, + "2178": 1, + "2433": 1, + "3656": 1, + "3725": 1, + "3781": 1, + "3847": 1, + "3916": 1, + "3982": 1, + "4048": 1, + "4104": 1, + "7276": 0, + "14385": 0, + "14473": 0, + "14685": 0, + "15078": 0, + "18079": 0, + "18080": 0, + "18303": 0, + "18306": 0, + "18307": 0, + "18308": 0, + "18309": 0, + "19732": -1, + "20049": -1, + "21163": -1, + "22188": -1, + "22747": -1, + "23839": -1, + "24203": 0 + }, + "272": { + "1014": 1, + "1083": 1, + "1150": 1, + "1418": 1, + "1618": 2, + "1658": 2, + "1793": 2, + "1988": 2, + "2110": 2, + "2365": 2, + "2454": 1, + "2527": 1, + "3598": 2, + "3657": 2, + "3726": 2, + "3789": 2, + "3848": 2, + "3925": 2, + "3991": 2, + "4049": 2, + "4131": 2, + "4174": 2, + "4214": 2, + "4286": 2, + "4345": 2, + "4405": 2, + "4456": 2, + "4513": 2, + "5314": 1, + "5600": 1, + "5798": 2, + "5933": 2, + "8409": 1, + "8417": 1, + "8425": 1, + "8442": 0, + "8493": 0, + "8507": 0, + "8521": 0, + "8528": 2, + "8529": 2, + "8530": 2, + "10267": 0, + "10269": 0, + "10320": 0, + "10321": 1, + "10367": 1, + "10394": 0, + "10408": 0, + "10409": 0, + "10410": 0, + "10420": 0, + "10428": 0, + "10447": -1, + "10454": -1, + "10459": 0, + "10460": 0, + "10461": 0, + "10463": 0, + "10464": 0, + "10465": 0, + "10475": 0, + "10476": 0, + "10477": 0, + "10481": 0, + "12744": 0, + "19192": 0, + "19481": 0, + "19482": 0, + "19483": 0, + "19484": 0, + "19485": 2, + "19486": 2, + "19487": 2, + "19488": 2, + "19489": 2, + "19490": 2, + "19491": 1, + "19492": 1, + "19493": 1, + "19494": 0, + "19497": 0, + "19503": 0, + "19599": 0, + "19975": 0, + "20313": 0, + "20336": 0, + "20357": 0, + "20566": -1, + "20625": -1, + "21217": 0, + "21313": 0, + "21541": 0, + "21710": 0, + "22541": 0, + "23853": -2, + "23896": -2, + "23957": -2, + "24030": 0, + "24093": 0, + "24165": 0 + }, + "288": { + "1019": 1, + "1088": 1, + "1623": 2, + "1664": 2, + "1798": 2, + "1994": 2, + "2117": 2, + "2372": 2, + "2459": 1, + "2532": 1, + "2598": 1, + "2882": 1, + "3603": 2, + "3664": 2, + "3732": 2, + "3794": 2, + "3855": 2, + "3930": 2, + "3996": 2, + "4055": 2, + "4137": 2, + "4179": 2, + "4221": 2, + "4292": 2, + "4350": 2, + "4411": 2, + "4462": 2, + "4520": 2, + "5805": 2, + "5940": 2, + "6618": 1, + "6912": 1, + "8546": 1, + "8554": 1, + "8562": 1, + "8579": 0, + "8630": 0, + "8644": 0, + "8658": 0, + "8665": 2, + "8666": 2, + "8667": 2, + "10485": 0, + "10487": 0, + "10538": 0, + "10539": 1, + "10585": 1, + "10612": 0, + "10626": 0, + "10627": 0, + "10628": 0, + "10638": 0, + "10646": 0, + "10665": -1, + "10672": -1, + "10677": 0, + "10678": 0, + "10679": 0, + "10681": 0, + "10682": 0, + "10683": 0, + "10693": 0, + "10694": 0, + "10695": 0, + "10699": 0, + "12757": 0, + "19210": 0, + "19957": -1, + "19958": -1, + "19959": 0, + "19960": 0, + "19961": 0, + "19962": 0, + "19963": 2, + "19964": 2, + "19965": 2, + "19966": 2, + "19967": 2, + "19968": 2, + "19969": 2, + "19970": 2, + "19971": 2, + "19972": 0, + "19977": 0, + "19987": 1, + "20407": 1, + "20430": 0, + "20451": 0, + "21173": 0, + "21371": 0, + "22136": 1, + "22177": 1, + "22378": 0, + "23324": 0 + }, + "348": { + "2093": 2, + "2144": 2, + "2209": 2, + "2285": 2, + "2333": 2, + "2399": 2, + "2477": 2, + "2550": 2, + "2615": 2, + "2689": 2, + "2763": 2, + "2834": 2, + "2899": 2, + "2973": 2, + "3691": 2, + "3882": 2, + "4246": 2, + "4545": 2, + "5187": 2, + "5258": 2, + "5331": 2, + "5406": 2, + "5479": 2, + "5550": 2, + "5617": 2, + "5691": 2, + "5756": 2, + "5830": 2, + "5891": 2, + "5965": 2, + "6027": 2, + "6097": 2, + "8949": 1, + "8956": 1, + "8967": 1, + "8993": 1, + "9010": 1, + "9020": 1, + "9036": 0, + "11163": 0, + "11224": 0, + "11225": 0, + "11254": 0, + "14427": 0, + "14868": 0, + "15165": 0, + "15962": 0, + "15963": -1, + "15969": -1, + "19323": -1, + "19362": -1, + "19375": 0, + "21010": 0, + "21045": 0, + "21070": 0, + "21934": 1, + "21994": 1, + "22009": 1, + "22314": 1, + "22365": 1, + "22820": 1, + "22828": 1, + "22901": 1, + "22923": 0, + "22966": 0, + "23020": -3, + "23021": -3, + "23022": -3, + "23023": -3, + "23024": 1, + "23025": 1, + "23026": -1, + "23027": -1, + "23028": -1, + "23029": -1, + "23030": -1, + "23031": 0, + "23032": 0, + "23033": -1, + "23034": -1, + "23035": -1, + "23036": -1, + "23037": 0, + "23038": 0, + "23039": 0, + "23040": 0, + "23041": 0, + "23042": -1, + "23043": -1, + "23044": -3, + "23045": -3, + "23046": -3, + "23047": -3, + "23048": 0, + "23049": 0, + "23050": 0, + "23051": -1, + "23052": -1, + "23053": -1, + "23054": -1, + "23055": -1, + "23056": 0, + "23057": 0, + "23058": 0, + "23059": 0, + "23060": 0, + "23061": 0, + "23062": 0, + "23063": 0, + "23106": 0, + "23136": 0, + "23179": 0, + "23396": 0, + "23427": 0, + "23465": 0, + "23681": -1, + "23868": -1, + "24048": 1, + "24199": 1, + "24230": 1, + "24336": 1, + "24372": 0, + "24533": 0, + "24640": 0, + "24739": 0 + }, + "359": { + "1597": 2, + "1643": 2, + "1688": 2, + "1756": 2, + "1818": 2, + "1888": 2, + "1952": 2, + "2018": 2, + "2482": 2, + "2555": 2, + "2620": 2, + "2694": 2, + "2768": 2, + "2839": 2, + "2904": 2, + "2978": 2, + "3756": 2, + "4079": 2, + "4199": 2, + "4370": 2, + "5191": 2, + "5262": 2, + "5335": 2, + "5410": 2, + "5483": 2, + "5554": 2, + "5621": 2, + "5695": 2, + "6176": 2, + "6255": 2, + "6335": 2, + "6413": 2, + "9095": 1, + "9155": 1, + "9159": 1, + "9160": 1, + "9161": 1, + "9162": 1, + "9163": 1, + "9164": 0, + "9165": 0, + "9168": 1, + "9169": 1, + "9170": 1, + "9172": 2, + "9173": 2, + "9174": 2, + "9191": 2, + "9205": 1, + "9219": 0, + "11371": 0, + "11442": 2, + "11443": 2, + "11454": 0, + "14457": 0, + "14796": 0, + "15117": 0, + "15746": 1, + "15747": 1, + "15753": 1, + "19458": 1, + "19472": 2, + "19527": 2, + "19545": 2, + "19557": 3, + "19561": 3, + "23684": 3, + "24235": 3, + "24243": 3, + "24263": -7, + "24264": -7, + "24265": -3, + "24266": -3, + "24267": -3, + "24268": -2, + "24269": -2, + "24270": -2, + "24271": -2, + "24272": -2, + "24273": -2, + "24274": -2, + "24275": -2, + "24276": -3, + "24277": -4, + "24278": -4, + "24279": -4, + "24280": -3, + "24281": -3, + "24282": -3, + "24283": -4, + "24284": -4, + "24285": -4, + "24286": -1, + "24287": 0, + "24288": 0, + "24289": 0, + "24290": 0, + "24291": 0, + "24292": 0, + "24293": 0, + "24294": 0, + "24295": 0, + "24296": 0, + "24297": 0, + "24298": 0, + "24299": 0, + "24300": 0, + "24301": 0, + "24302": 0, + "24303": 0, + "24304": -4, + "24305": -4, + "24306": -2, + "24307": -2, + "24308": -1, + "24309": -1, + "24310": -1, + "24311": -1, + "24312": -1, + "24313": -1, + "24314": -3, + "24315": -3, + "24316": -3, + "24317": -1, + "24318": -1, + "24319": -1, + "24320": 0, + "24321": 0, + "24322": 0, + "24323": 0, + "24324": -1, + "24325": -1, + "24326": 0, + "24327": 0, + "24328": 0, + "24329": -4, + "24330": -4, + "24331": -4, + "24332": -4, + "24333": -4, + "24334": -3, + "24335": -3, + "24336": -3, + "24337": 1, + "24338": 1, + "24374": 1, + "24653": 1 + }, + "381": { + "4627": 1, + "4706": 1, + "4776": 1, + "4843": 1, + "4917": 1, + "4983": 1, + "5053": 1, + "5119": 1, + "6184": 1, + "6263": 1, + "6343": 1, + "6421": 1, + "9232": 1, + "9240": 1, + "9241": 1, + "9242": 1, + "9243": 1, + "9244": 2, + "9245": 2, + "9246": 2, + "9250": 2, + "9276": 1, + "9293": 1, + "9303": 1, + "9319": 0, + "11601": 0, + "11614": 0, + "11615": 0, + "11616": 0, + "11668": 0, + "11669": 0, + "13659": 0, + "14484": 0, + "16826": 0, + "18808": 0, + "18809": 0, + "18810": 0, + "18811": 0, + "18812": 0, + "18813": -1, + "18814": -1, + "18815": -1, + "18816": 0, + "18817": 0, + "20481": 0, + "20606": 0, + "20683": 0, + "20707": 0, + "20723": 0, + "20938": 1, + "20945": 1, + "21333": -1, + "21437": -1, + "21470": -1, + "21505": -1, + "22722": -1, + "23507": 0, + "23580": 0, + "23625": 0, + "23713": 0, + "23903": -1, + "24385": -1, + "24434": 0 + }, + "440": { + "695": 1, + "988": 1, + "3223": 1, + "3516": 1, + "4872": 1, + "5148": 1, + "7268": 1, + "7545": 1, + "12463": 0, + "12520": 0, + "12521": 0, + "12556": 0, + "14619": 0, + "14721": 0, + "15398": 0, + "16859": 0, + "18085": 0, + "18087": 0, + "18879": 0, + "19037": 0, + "19233": 0, + "19243": 0, + "19256": 0, + "19288": 0, + "22860": 0, + "22919": 0, + "23271": 0, + "23919": 0 + } + }, + "single_real_deltas": { + "444": -14, + "446": -26, + "447": -45, + "469": -22, + "478": -14, + "479": -17, + "491": -14, + "503": -13, + "507": -24, + "514": -19, + "515": -15, + "519": -30, + "542": -28, + "272": -112, + "288": -116, + "348": -161, + "359": -242, + "381": -47, + "440": -14 + }, + "shared_ADD_interactions": [ + [ + 16466, + 514, + 478, + 0, + 0, + 0 + ], + [ + 16467, + 478, + 514, + 0, + -1, + 0 + ], + [ + 16476, + 515, + 479, + 0, + 0, + 0 + ], + [ + 16477, + 479, + 515, + 0, + -1, + 0 + ], + [ + 16494, + 503, + 491, + 0, + 0, + 0 + ], + [ + 16495, + 491, + 503, + 0, + -1, + 0 + ], + [ + 16638, + 519, + 507, + 0, + 0, + 0 + ], + [ + 16639, + 507, + 519, + 0, + -1, + 0 + ], + [ + 18184, + 478, + 514, + 0, + -1, + 0 + ], + [ + 18186, + 479, + 515, + 1, + -1, + 4 + ], + [ + 18211, + 491, + 503, + 0, + -1, + 0 + ], + [ + 18220, + 507, + 519, + 0, + -1, + 0 + ], + [ + 18293, + 514, + 478, + 0, + 0, + 0 + ], + [ + 18297, + 515, + 479, + 0, + 0, + 0 + ], + [ + 18631, + 503, + 491, + 0, + 0, + 0 + ], + [ + 18640, + 519, + 507, + 0, + 0, + 0 + ], + [ + 18811, + 381, + 503, + 0, + 0, + 0 + ], + [ + 19243, + 446, + 440, + 0, + 0, + 0 + ], + [ + 19246, + 446, + 447, + 0, + 0, + 0 + ], + [ + 24275, + 359, + 469, + -2, + 0, + 0 + ], + [ + 24336, + 359, + 348, + -3, + 1, + 3 + ] + ], + "all19_invoice": { + "real_primitives": 67043, + "complex_primitives": 134086, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "charged_payload_bits": 192, + "paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + } + }, + "all19_delta_real": -966, + "subsets_checked": 524288, + "fixed_menu_winning_helpers": [ + 272, + 288, + 348, + 359, + 381, + 440, + 444, + 446, + 447, + 469, + 478, + 479, + 491, + 503, + 507, + 514, + 515, + 519, + 542 + ], + "winning_invoice": { + "real_primitives": 67043, + "complex_primitives": 134086, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "charged_payload_bits": 192, + "paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + } + }, + "winning_delta_real": -966, + "PR1388pair_invoice": { + "real_primitives": 67609, + "complex_primitives": 135218, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "charged_payload_bits": 192, + "paid_profile": { + "1": 2412, + "2": 418, + "3": 432, + "4": 142, + "5": 82, + "8": 8 + } + }, + "strictly_better_than_PR1388pair": true, + "all712_endpoint": { + "formal_input_columns": 712, + "data_helper_columns": 704, + "dirty_helper_columns": 480, + "centre_columns": 8, + "all_restored": true + }, + "inserted_scales": [ + [ + 695, + 440, + 1, + 0, + 695 + ], + [ + 697, + 446, + 1, + 0, + 698 + ], + [ + 698, + 447, + 1, + 0, + 700 + ], + [ + 1014, + 272, + 1, + 0, + 1017 + ], + [ + 1019, + 288, + 1, + 0, + 1023 + ], + [ + 1204, + 444, + 1, + 0, + 1209 + ], + [ + 1597, + 359, + 2, + 0, + 1603 + ], + [ + 1618, + 272, + 1, + 0, + 1625 + ], + [ + 1623, + 288, + 1, + 0, + 1631 + ], + [ + 1709, + 507, + 1, + 0, + 1718 + ], + [ + 1711, + 519, + 1, + 0, + 1721 + ], + [ + 1713, + 542, + 1, + 0, + 1724 + ], + [ + 2093, + 348, + 2, + 0, + 2105 + ], + [ + 2454, + 272, + -1, + 0, + 2467 + ], + [ + 2459, + 288, + -1, + 0, + 2473 + ], + [ + 2719, + 446, + -1, + 0, + 2734 + ], + [ + 2720, + 447, + -1, + 0, + 2736 + ], + [ + 3225, + 446, + 1, + 0, + 3242 + ], + [ + 3226, + 447, + 1, + 0, + 3244 + ], + [ + 3598, + 272, + 1, + 0, + 3617 + ], + [ + 3603, + 288, + 1, + 0, + 3623 + ], + [ + 4627, + 381, + 1, + 0, + 4648 + ], + [ + 5225, + 469, + 1, + 0, + 5247 + ], + [ + 5314, + 272, + -1, + 0, + 5337 + ], + [ + 5798, + 272, + 1, + 0, + 5822 + ], + [ + 6208, + 478, + 1, + 0, + 6233 + ], + [ + 6209, + 479, + 1, + 0, + 6235 + ], + [ + 6211, + 491, + 1, + 0, + 6238 + ], + [ + 6214, + 503, + 1, + 0, + 6242 + ], + [ + 6216, + 514, + 1, + 0, + 6245 + ], + [ + 6217, + 515, + 1, + 0, + 6247 + ], + [ + 6618, + 288, + -1, + 0, + 6649 + ], + [ + 6740, + 446, + -1, + 0, + 6772 + ], + [ + 6741, + 447, + -1, + 0, + 6774 + ], + [ + 7270, + 446, + 1, + 0, + 7304 + ], + [ + 7271, + 447, + 1, + 0, + 7306 + ], + [ + 7276, + 542, + -1, + 0, + 7312 + ], + [ + 8379, + 514, + -1, + 0, + 8416 + ], + [ + 8383, + 515, + -1, + 0, + 8421 + ], + [ + 8385, + 503, + -1, + 0, + 8424 + ], + [ + 8409, + 272, + -1, + 0, + 8449 + ], + [ + 8442, + 272, + -1, + 0, + 8483 + ], + [ + 8528, + 272, + 2, + 0, + 8570 + ], + [ + 8579, + 288, + -1, + 0, + 8622 + ], + [ + 8665, + 288, + 2, + 0, + 8709 + ], + [ + 8949, + 348, + -1, + 0, + 8994 + ], + [ + 9036, + 348, + -1, + 0, + 9082 + ], + [ + 9095, + 359, + -1, + 0, + 9142 + ], + [ + 9164, + 359, + -1, + 0, + 9212 + ], + [ + 9168, + 359, + 1, + 0, + 9217 + ], + [ + 9172, + 359, + 1, + 0, + 9222 + ], + [ + 9205, + 359, + -1, + 0, + 9256 + ], + [ + 9219, + 359, + -1, + 0, + 9271 + ], + [ + 9244, + 381, + 1, + 0, + 9297 + ], + [ + 9276, + 381, + -1, + 0, + 9330 + ], + [ + 9319, + 381, + -1, + 0, + 9374 + ], + [ + 9557, + 478, + -1, + 5, + 9613 + ], + [ + 9559, + 479, + -1, + 5, + 9616 + ], + [ + 9567, + 469, + -1, + 6, + 9625 + ], + [ + 9583, + 491, + -1, + 6, + 9642 + ], + [ + 10267, + 272, + -2, + 96, + 10327 + ], + [ + 10321, + 272, + 1, + 105, + 10382 + ], + [ + 10394, + 272, + -1, + 124, + 10456 + ], + [ + 10447, + 272, + -1, + 124, + 10510 + ], + [ + 10459, + 272, + 1, + 124, + 10523 + ], + [ + 10485, + 288, + -2, + 125, + 10550 + ], + [ + 10539, + 288, + 1, + 134, + 10605 + ], + [ + 10612, + 288, + -1, + 153, + 10679 + ], + [ + 10665, + 288, + -1, + 153, + 10733 + ], + [ + 10677, + 288, + 1, + 153, + 10746 + ], + [ + 11442, + 359, + 2, + 258, + 11512 + ], + [ + 11454, + 359, + -2, + 261, + 11525 + ], + [ + 12463, + 440, + -1, + 390, + 12535 + ], + [ + 12471, + 444, + -1, + 392, + 12544 + ], + [ + 12475, + 446, + -1, + 393, + 12549 + ], + [ + 12477, + 447, + -1, + 393, + 12552 + ], + [ + 14343, + 507, + -1, + 2, + 14419 + ], + [ + 14389, + 519, + -1, + 2, + 14466 + ], + [ + 15746, + 359, + 1, + 790, + 15824 + ], + [ + 15963, + 348, + -1, + 838, + 16042 + ], + [ + 16467, + 514, + -1, + 950, + 16547 + ], + [ + 16477, + 515, + -1, + 953, + 16558 + ], + [ + 16495, + 503, + -1, + 957, + 16577 + ], + [ + 16639, + 519, + -1, + 989, + 16722 + ], + [ + 18186, + 479, + 1, + 1, + 18270 + ], + [ + 18207, + 469, + 1, + 1, + 18292 + ], + [ + 18293, + 514, + 1, + 1, + 18379 + ], + [ + 18297, + 479, + -1, + 1, + 18384 + ], + [ + 18297, + 515, + 1, + 1, + 18385 + ], + [ + 18627, + 503, + 1, + 1, + 18716 + ], + [ + 18638, + 519, + 1, + 1, + 18728 + ], + [ + 18731, + 515, + 1, + 1, + 18822 + ], + [ + 18748, + 479, + 1, + 1, + 18840 + ], + [ + 18782, + 491, + 1, + 1, + 18875 + ], + [ + 18813, + 381, + -1, + 1, + 18907 + ], + [ + 18816, + 381, + 1, + 1, + 18911 + ], + [ + 18846, + 447, + -1, + 1, + 18942 + ], + [ + 18854, + 447, + 1, + 1, + 18951 + ], + [ + 18955, + 478, + 1, + 1, + 19053 + ], + [ + 19244, + 446, + 1, + 1, + 19343 + ], + [ + 19246, + 446, + -1, + 1, + 19346 + ], + [ + 19280, + 447, + 1, + 1, + 19381 + ], + [ + 19375, + 348, + 1, + 1, + 19477 + ], + [ + 19472, + 359, + 1, + 1, + 19575 + ], + [ + 19485, + 272, + 2, + 1, + 19589 + ], + [ + 19491, + 272, + -1, + 1, + 19596 + ], + [ + 19494, + 272, + -1, + 1, + 19600 + ], + [ + 19557, + 359, + 1, + 1, + 19664 + ], + [ + 19732, + 542, + -1, + 1, + 19840 + ], + [ + 19957, + 288, + -1, + 1, + 20066 + ], + [ + 19959, + 288, + 1, + 1, + 20069 + ], + [ + 19963, + 288, + 2, + 1, + 20074 + ], + [ + 19972, + 288, + -2, + 1, + 20084 + ], + [ + 19987, + 288, + 1, + 1, + 20100 + ], + [ + 20248, + 469, + -1, + 1, + 20362 + ], + [ + 20249, + 491, + -1, + 1, + 20364 + ], + [ + 20430, + 288, + -1, + 1, + 20546 + ], + [ + 20566, + 272, + -1, + 1, + 20683 + ], + [ + 20730, + 469, + -1, + 1, + 20848 + ], + [ + 20911, + 503, + 2, + 1, + 21030 + ], + [ + 20938, + 381, + 1, + 1, + 21058 + ], + [ + 21076, + 514, + -1, + 1, + 21197 + ], + [ + 21158, + 519, + -1, + 1, + 21280 + ], + [ + 21217, + 272, + 1, + 1, + 21340 + ], + [ + 21297, + 479, + -2, + 1, + 21421 + ], + [ + 21333, + 381, + -2, + 1, + 21458 + ], + [ + 21356, + 491, + -1, + 1, + 21482 + ], + [ + 21407, + 503, + -2, + 1, + 21534 + ], + [ + 21525, + 479, + 2, + 1, + 21653 + ], + [ + 21668, + 469, + 1, + 1, + 21797 + ], + [ + 21934, + 348, + 1, + 1, + 22064 + ], + [ + 22116, + 514, + 2, + 1, + 22247 + ], + [ + 22136, + 288, + 1, + 1, + 22268 + ], + [ + 22202, + 515, + -1, + 1, + 22335 + ], + [ + 22378, + 288, + -1, + 1, + 22512 + ], + [ + 22424, + 514, + 1, + 1, + 22559 + ], + [ + 22476, + 515, + 1, + 1, + 22612 + ], + [ + 22638, + 479, + -1, + 1, + 22775 + ], + [ + 22863, + 447, + -2, + 1, + 23001 + ], + [ + 22923, + 348, + -1, + 1, + 23062 + ], + [ + 23020, + 348, + -3, + 1, + 23160 + ], + [ + 23024, + 348, + 4, + 1, + 23165 + ], + [ + 23026, + 348, + -2, + 1, + 23168 + ], + [ + 23031, + 348, + 1, + 1, + 23174 + ], + [ + 23033, + 348, + -1, + 1, + 23177 + ], + [ + 23037, + 348, + 1, + 1, + 23182 + ], + [ + 23042, + 348, + -1, + 1, + 23188 + ], + [ + 23044, + 348, + -2, + 1, + 23191 + ], + [ + 23048, + 348, + 3, + 1, + 23196 + ], + [ + 23051, + 348, + -1, + 1, + 23200 + ], + [ + 23056, + 348, + 1, + 1, + 23206 + ], + [ + 23232, + 446, + -1, + 1, + 23383 + ], + [ + 23507, + 381, + 1, + 1, + 23659 + ], + [ + 23596, + 515, + -1, + 1, + 23749 + ], + [ + 23681, + 348, + -1, + 1, + 23835 + ], + [ + 23800, + 519, + 1, + 1, + 23955 + ], + [ + 23830, + 478, + -2, + 1, + 23986 + ], + [ + 23853, + 272, + -2, + 1, + 24010 + ], + [ + 23903, + 381, + -1, + 1, + 24061 + ], + [ + 24030, + 272, + 2, + 1, + 24189 + ], + [ + 24048, + 348, + 2, + 1, + 24208 + ], + [ + 24060, + 507, + -1, + 1, + 24221 + ], + [ + 24128, + 478, + 1, + 1, + 24290 + ], + [ + 24203, + 542, + 1, + 1, + 24366 + ], + [ + 24263, + 359, + -10, + 1, + 24427 + ], + [ + 24265, + 359, + 4, + 1, + 24430 + ], + [ + 24268, + 359, + 1, + 1, + 24434 + ], + [ + 24276, + 359, + -1, + 1, + 24443 + ], + [ + 24277, + 359, + -1, + 1, + 24445 + ], + [ + 24280, + 359, + 1, + 1, + 24449 + ], + [ + 24283, + 359, + -1, + 1, + 24453 + ], + [ + 24286, + 359, + 3, + 1, + 24457 + ], + [ + 24287, + 359, + 1, + 1, + 24459 + ], + [ + 24304, + 359, + -4, + 1, + 24477 + ], + [ + 24306, + 359, + 2, + 1, + 24480 + ], + [ + 24308, + 359, + 1, + 1, + 24483 + ], + [ + 24314, + 359, + -2, + 1, + 24490 + ], + [ + 24317, + 359, + 2, + 1, + 24494 + ], + [ + 24320, + 359, + 1, + 1, + 24498 + ], + [ + 24324, + 359, + -1, + 1, + 24503 + ], + [ + 24326, + 359, + 1, + 1, + 24506 + ], + [ + 24329, + 359, + -4, + 1, + 24510 + ], + [ + 24334, + 359, + 1, + 1, + 24516 + ], + [ + 24337, + 359, + 4, + 1, + 24520 + ], + [ + 24372, + 348, + -1, + 1, + 24556 + ], + [ + 24392, + 469, + 1, + 1, + 24577 + ], + [ + 24434, + 381, + 1, + 1, + 24620 + ], + [ + 24743, + 507, + 1, + 1, + 24930 + ], + [ + 25202, + 359, + -1, + 1, + 25390 + ], + [ + 25202, + 446, + 1, + 1, + 25391 + ], + [ + 25202, + 447, + 1, + 1, + 25392 + ], + [ + 25202, + 469, + -1, + 1, + 25393 + ], + [ + 25202, + 491, + 1, + 1, + 25394 + ], + [ + 25202, + 514, + -2, + 1, + 25395 + ] + ], + "controls": { + "zero_menu": true, + "tiny_subset_oracle": true, + "omitted_transition": true + }, + "nonscalar_events_unchanged": true + } + }, + "scope": "finite scalar fixed-menu optimum; no native/owner/adapter or kappa admission", + "no_new_kappa": true +} diff --git a/research/k8-temporal-menu-composition/MANIFEST.json b/research/k8-temporal-menu-composition/MANIFEST.json new file mode 100644 index 0000000000..c56b61ffa5 --- /dev/null +++ b/research/k8-temporal-menu-composition/MANIFEST.json @@ -0,0 +1,25 @@ +{ + "files": { + "EXPECTED.json": "970293e173b5ae4d0072675128d839154ecab4aab6417abcc591f5842cf5a080", + "MENU.json": "70d1d4ba51cf7a80849da79fd75301aab65ddcde9eb534bd270bcff35641d920", + "NATIVE-BOUNDARY.md": "ea1dbd8d7ab5d696e40743654a9e4b1ab29b67a026f9b8e11cf26cb73d4b6556", + "NOTICE.md": "70a15fee20db0632717b3e49e7568fd10edd76a0d58acceb9f5a49f281dd8e27", + "PROOF.md": "5ef3bebce43645736a966ae01b309bace021ef7426861340f4bdf78774e21654", + "README.md": "7224c439d87bcf5b9e28ffc6b02d33c908140a1714c17be09c22c94f95d65829", + "SOURCES.json": "00d2255639e5ee1a39bf244d00cc559913fe9d7a831e9e10f4b2e25486112226", + "TASK.json": "832ce5c1dbeba9717afc3c73c6f193ca8f4f30ff6f7aa85fbd334099226ca247", + "UPSTREAM.json": "f039bd841aea5d4b6450879aa2694a7b47a26cdbc46489b3b71d4536ad3c8efc", + "VALIDATION.md": "335bdabd5f3bc54ebb383f13b68d978d01a43cb2c5f56b921ba25e89982b6287", + "VENDOR-SOURCES.json": "0c66f2fcf7a762d112964700fb1b3cd4689bc90abfdd7fc9b9bc7e144ace8347", + "VERIFY.json": "073d9b950d97804261c749cabf7b2c80a6b24f5cf65fcc84067c5d2b451f21c2", + "inputs/engine/PROVENANCE.md": "76dca2049e8c008da0398fd722745e421be92c66dac876cf8463295f6cb18518", + "inputs/engine/engine.py": "997b34533aea200c339263a96dd6f76facf21bf54b1627ab244e2ae72d348400", + "inputs/pr1369/CERTIFICATE.json": "5763aeba455aeee3c7fe82cd513e3588b7c73f14dd67b299ce72a33c18937516", + "inputs/pr1369/NOTICE.md": "fa4c86ee4cc39ec3fd0b1ee3667b638e8de557d7999a8b785cb01279dc58f4e7", + "inputs/pr1369/independent.py": "a125124e221c7959458789cb2e2c43553af2eb964b6cf27371c77ecb1841a5a0", + "inputs/pr1388/RESULT.json": "1c606147fb953194bcfdfe7e2b97c4360773ce65c1ce45c11a76794837dcc129", + "inputs/pr1388/vendor/pr1369/vendor/pr1263/GAUGES.json": "9bdfdb3be598e2df4d4102402d0cd8cba4159a28d939ba51bc668d6f3be314c3", + "inputs/pr1388/vendor/pr1369/vendor/pr1263/verify.py": "1e7b91aef01b431ab74efe5e3bab6cd2180802298f43d9f216cca6e4de422440", + "verify.py": "3c74f7bbbb52a1126021050e8b60a637e6a8ed6f23d642a3c36d976b8d6f5735" + } +} diff --git a/research/k8-temporal-menu-composition/MENU.json b/research/k8-temporal-menu-composition/MENU.json new file mode 100644 index 0000000000..5f95474c87 --- /dev/null +++ b/research/k8-temporal-menu-composition/MENU.json @@ -0,0 +1,2058 @@ +{ + "forward": { + "444": { + "1204": -1, + "1472": -1, + "2654": -1, + "2938": -1, + "5368": -1, + "5654": -1, + "6672": -1, + "6966": -1, + "12471": 0, + "12532": 0, + "12533": 0, + "12562": 0, + "14623": 0, + "14629": 0, + "15494": 0, + "16762": 0, + "18070": 0, + "18086": 0, + "18088": 0, + "18859": 0, + "18871": 0, + "18927": 0, + "19039": 0, + "19235": 0, + "19258": 0, + "19278": 0, + "19297": 0, + "23230": 0, + "23275": 0 + }, + "446": { + "697": -1, + "990": -1, + "1984": -1, + "2240": -1, + "2719": 0, + "3003": 0, + "3225": -1, + "3518": -1, + "3647": -1, + "4039": -1, + "4874": -1, + "5150": -1, + "6128": -1, + "6285": -1, + "6740": 0, + "7033": 0, + "7270": -1, + "7547": -1, + "12475": 0, + "12524": 0, + "12525": 0, + "12565": 0, + "14631": 0, + "14637": 0, + "15500": 0, + "16764": 0, + "18069": 0, + "18924": 0, + "18928": 0, + "19241": 0, + "19242": 0, + "19243": 0, + "19244": -1, + "19245": -1, + "19246": 0, + "19247": 0, + "19248": 0, + "19249": 0, + "19289": 0, + "19299": 0, + "22862": 0, + "22921": 0, + "23232": 1, + "23277": 1, + "23921": 1 + }, + "447": { + "698": -1, + "991": -1, + "1790": -1, + "1985": -1, + "2241": -1, + "2364": -1, + "2720": 0, + "3004": 0, + "3226": -1, + "3519": -1, + "3648": -1, + "3839": -1, + "3974": -1, + "4040": -1, + "4875": -1, + "5151": -1, + "5924": -1, + "6129": -1, + "6286": -1, + "6443": -1, + "6741": 0, + "7034": 0, + "7271": -1, + "7548": -1, + "12477": 0, + "12490": 0, + "12491": 0, + "12492": 0, + "12536": 0, + "12537": 0, + "13884": 0, + "13897": 0, + "13906": 0, + "13918": 0, + "18845": 0, + "18846": 1, + "18847": 1, + "18848": 1, + "18849": 1, + "18850": 1, + "18851": 1, + "18852": 1, + "18853": 1, + "18854": 0, + "18855": 0, + "18860": 0, + "18872": 0, + "18881": 0, + "18945": 0, + "19041": 0, + "19237": 0, + "19246": 0, + "19260": 0, + "19280": -1, + "19300": -1, + "22863": 1, + "22922": 1, + "23233": 1, + "23278": 1, + "23922": 1 + }, + "469": { + "5225": -1, + "5296": -1, + "5373": -1, + "5439": -1, + "5511": -1, + "5582": -1, + "5659": -1, + "5724": -1, + "9567": 0, + "14205": 0, + "14979": 0, + "15239": 0, + "16350": 0, + "16351": 0, + "16353": 0, + "18205": 0, + "18206": 0, + "18207": -1, + "18718": -1, + "20248": 0, + "20267": 0, + "20730": 1, + "21354": 1, + "21388": 1, + "21634": 1, + "21668": 0, + "22737": 0, + "24123": 0, + "24275": 0, + "24392": -1, + "24666": -1 + }, + "478": { + "6208": -1, + "6287": -1, + "6365": -1, + "6444": -1, + "9557": 0, + "14241": 0, + "15018": 0, + "15265": 0, + "16466": 0, + "16467": 0, + "16470": 0, + "18183": 0, + "18184": 0, + "18293": 0, + "18955": -1, + "20556": -1, + "21524": -1, + "21692": -1, + "22531": -1, + "23287": -1, + "23830": 1, + "23928": 1, + "23982": 1, + "24128": 0 + }, + "479": { + "6209": -1, + "6288": -1, + "6366": -1, + "6445": -1, + "9559": 0, + "14243": 0, + "15021": 0, + "15267": 0, + "16476": 0, + "16477": 0, + "16480": 0, + "18185": 0, + "18186": -1, + "18260": -1, + "18297": 0, + "18553": 0, + "18657": 0, + "18748": -1, + "18999": -1, + "20199": -1, + "20280": -1, + "20538": -1, + "20952": -1, + "21111": -1, + "21297": 1, + "21342": 1, + "21525": -1, + "21584": -1, + "21602": -1, + "21693": -1, + "22439": -1, + "22638": 0, + "23430": 0, + "24464": 0, + "24672": 0 + }, + "491": { + "6211": -1, + "6290": -1, + "6368": -1, + "6447": -1, + "9583": 0, + "14287": 0, + "15027": 0, + "15271": 0, + "16494": 0, + "16495": 0, + "16497": 0, + "18211": 0, + "18212": 0, + "18213": 0, + "18273": 0, + "18631": 0, + "18652": 0, + "18666": 0, + "18782": -1, + "19142": -1, + "19891": -1, + "20249": 0, + "20268": 0, + "21356": 1, + "21389": 1, + "21638": 1, + "21669": 1, + "23832": 1, + "24212": 1 + }, + "503": { + "6214": -1, + "6293": -1, + "6371": -1, + "6450": -1, + "8385": 0, + "9587": 0, + "14333": 0, + "15033": 0, + "15275": 0, + "16494": 0, + "16495": 1, + "16499": 1, + "18211": 1, + "18626": 1, + "18627": 0, + "18628": 0, + "18629": 0, + "18630": 0, + "18631": 0, + "18716": 0, + "18811": 0, + "20737": 0, + "20911": -2, + "20941": -2, + "21407": 0, + "23929": 0, + "24395": 0 + }, + "507": { + "699": 0, + "1709": -1, + "2039": -1, + "2175": -1, + "2430": -1, + "3653": -1, + "3722": -1, + "3777": -1, + "3844": -1, + "3913": -1, + "3979": -1, + "4045": -1, + "4100": -1, + "14343": 0, + "14345": 0, + "14709": 0, + "15075": 0, + "15303": 0, + "16638": 0, + "16639": 0, + "16641": 0, + "18220": 0, + "18221": 0, + "18222": 0, + "18640": 0, + "22041": 0, + "22078": 0, + "23149": 0, + "23397": 0, + "24060": 1, + "24681": 1, + "24743": 0 + }, + "514": { + "6216": -1, + "6295": -1, + "6373": -1, + "6452": -1, + "8379": 0, + "9561": 0, + "14377": 0, + "15036": 0, + "15277": 0, + "16466": 0, + "16467": 1, + "16473": 1, + "18184": 1, + "18293": 0, + "18294": 0, + "18295": 0, + "18296": 0, + "21076": 1, + "21156": 1, + "22116": -1, + "22172": -1, + "22251": -1, + "22396": -1, + "22424": -2, + "22695": -2, + "23518": -2 + }, + "515": { + "6217": -1, + "6296": -1, + "6374": -1, + "6453": -1, + "8383": 0, + "9563": 0, + "14379": 0, + "15039": 0, + "15279": 0, + "16476": 0, + "16477": 1, + "16483": 1, + "18186": 1, + "18297": 0, + "18298": 0, + "18299": 0, + "18300": 0, + "18731": -1, + "18827": -1, + "20954": -1, + "22202": 0, + "22231": 0, + "22476": -1, + "22642": -1, + "22696": -1, + "23477": -1, + "23596": 0, + "23728": 0 + }, + "519": { + "1711": -1, + "2041": -1, + "2176": -1, + "2431": -1, + "3294": -1, + "3654": -1, + "3723": -1, + "3779": -1, + "3845": -1, + "3914": -1, + "3980": -1, + "4046": -1, + "4102": -1, + "14389": 0, + "14391": 0, + "14724": 0, + "15081": 0, + "15307": 0, + "16638": 0, + "16639": 1, + "16643": 1, + "18220": 1, + "18638": 0, + "18639": 0, + "18640": 0, + "18641": 0, + "18642": 0, + "18643": 0, + "21158": 1, + "22740": 1, + "23651": 1, + "23754": 1, + "23800": 0 + }, + "542": { + "1713": -1, + "2043": -1, + "2178": -1, + "2433": -1, + "3656": -1, + "3725": -1, + "3781": -1, + "3847": -1, + "3916": -1, + "3982": -1, + "4048": -1, + "4104": -1, + "7276": 0, + "14385": 0, + "14473": 0, + "14685": 0, + "15078": 0, + "18079": 0, + "18080": 0, + "18303": 0, + "18306": 0, + "18307": 0, + "18308": 0, + "18309": 0, + "19732": 1, + "20049": 1, + "21163": 1, + "22188": 1, + "22747": 1, + "23839": 1, + "24203": 0 + }, + "272": { + "1014": -1, + "1083": -1, + "1150": -1, + "1418": -1, + "1618": -2, + "1658": -2, + "1793": -2, + "1988": -2, + "2110": -2, + "2365": -2, + "2454": -1, + "2527": -1, + "3598": -2, + "3657": -2, + "3726": -2, + "3789": -2, + "3848": -2, + "3925": -2, + "3991": -2, + "4049": -2, + "4131": -2, + "4174": -2, + "4214": -2, + "4286": -2, + "4345": -2, + "4405": -2, + "4456": -2, + "4513": -2, + "5314": -1, + "5600": -1, + "5798": -2, + "5933": -2, + "8409": -1, + "8417": -1, + "8425": -1, + "8442": 0, + "8493": 0, + "8507": 0, + "8521": 0, + "8528": -2, + "8529": -2, + "8530": -2, + "10267": 0, + "10269": 0, + "10320": 0, + "10321": -1, + "10367": -1, + "10394": 0, + "10408": 0, + "10409": 0, + "10410": 0, + "10420": 0, + "10428": 0, + "10447": 1, + "10454": 1, + "10459": 0, + "10460": 0, + "10461": 0, + "10463": 0, + "10464": 0, + "10465": 0, + "10475": 0, + "10476": 0, + "10477": 0, + "10481": 0, + "12744": 0, + "19192": 0, + "19481": 0, + "19482": 0, + "19483": 0, + "19484": 0, + "19485": -2, + "19486": -2, + "19487": -2, + "19488": -2, + "19489": -2, + "19490": -2, + "19491": -1, + "19492": -1, + "19493": -1, + "19494": 0, + "19497": 0, + "19503": 0, + "19599": 0, + "19975": 0, + "20313": 0, + "20336": 0, + "20357": 0, + "20566": 1, + "20625": 1, + "21217": 0, + "21313": 0, + "21541": 0, + "21710": 0, + "22541": 0, + "23853": 2, + "23896": 2, + "23957": 2, + "24030": 0, + "24093": 0, + "24165": 0 + }, + "288": { + "1019": -1, + "1088": -1, + "1623": -2, + "1664": -2, + "1798": -2, + "1994": -2, + "2117": -2, + "2372": -2, + "2459": -1, + "2532": -1, + "2598": -1, + "2882": -1, + "3603": -2, + "3664": -2, + "3732": -2, + "3794": -2, + "3855": -2, + "3930": -2, + "3996": -2, + "4055": -2, + "4137": -2, + "4179": -2, + "4221": -2, + "4292": -2, + "4350": -2, + "4411": -2, + "4462": -2, + "4520": -2, + "5805": -2, + "5940": -2, + "6618": -1, + "6912": -1, + "8546": -1, + "8554": -1, + "8562": -1, + "8579": 0, + "8630": 0, + "8644": 0, + "8658": 0, + "8665": -2, + "8666": -2, + "8667": -2, + "10485": 0, + "10487": 0, + "10538": 0, + "10539": -1, + "10585": -1, + "10612": 0, + "10626": 0, + "10627": 0, + "10628": 0, + "10638": 0, + "10646": 0, + "10665": 1, + "10672": 1, + "10677": 0, + "10678": 0, + "10679": 0, + "10681": 0, + "10682": 0, + "10683": 0, + "10693": 0, + "10694": 0, + "10695": 0, + "10699": 0, + "12757": 0, + "19210": 0, + "19957": 1, + "19958": 1, + "19959": 0, + "19960": 0, + "19961": 0, + "19962": 0, + "19963": -2, + "19964": -2, + "19965": -2, + "19966": -2, + "19967": -2, + "19968": -2, + "19969": -2, + "19970": -2, + "19971": -2, + "19972": 0, + "19977": 0, + "19987": -1, + "20407": -1, + "20430": 0, + "20451": 0, + "21173": 0, + "21371": 0, + "22136": -1, + "22177": -1, + "22378": 0, + "23324": 0 + }, + "348": { + "2093": -2, + "2144": -2, + "2209": -2, + "2285": -2, + "2333": -2, + "2399": -2, + "2477": -2, + "2550": -2, + "2615": -2, + "2689": -2, + "2763": -2, + "2834": -2, + "2899": -2, + "2973": -2, + "3691": -2, + "3882": -2, + "4246": -2, + "4545": -2, + "5187": -2, + "5258": -2, + "5331": -2, + "5406": -2, + "5479": -2, + "5550": -2, + "5617": -2, + "5691": -2, + "5756": -2, + "5830": -2, + "5891": -2, + "5965": -2, + "6027": -2, + "6097": -2, + "8949": -1, + "8956": -1, + "8967": -1, + "8993": -1, + "9010": -1, + "9020": -1, + "9036": 0, + "11163": 0, + "11224": 0, + "11225": 0, + "11254": 0, + "14427": 0, + "14868": 0, + "15165": 0, + "15962": 0, + "15963": 1, + "15969": 1, + "19323": 1, + "19362": 1, + "19375": 0, + "21010": 0, + "21045": 0, + "21070": 0, + "21934": -1, + "21994": -1, + "22009": -1, + "22314": -1, + "22365": -1, + "22820": -1, + "22828": -1, + "22901": -1, + "22923": 0, + "22966": 0, + "23020": 3, + "23021": 3, + "23022": 3, + "23023": 3, + "23024": -1, + "23025": -1, + "23026": 1, + "23027": 1, + "23028": 1, + "23029": 1, + "23030": 1, + "23031": 0, + "23032": 0, + "23033": 1, + "23034": 1, + "23035": 1, + "23036": 1, + "23037": 0, + "23038": 0, + "23039": 0, + "23040": 0, + "23041": 0, + "23042": 1, + "23043": 1, + "23044": 3, + "23045": 3, + "23046": 3, + "23047": 3, + "23048": 0, + "23049": 0, + "23050": 0, + "23051": 1, + "23052": 1, + "23053": 1, + "23054": 1, + "23055": 1, + "23056": 0, + "23057": 0, + "23058": 0, + "23059": 0, + "23060": 0, + "23061": 0, + "23062": 0, + "23063": 0, + "23106": 0, + "23136": 0, + "23179": 0, + "23396": 0, + "23427": 0, + "23465": 0, + "23681": 1, + "23868": 1, + "24048": -1, + "24199": -1, + "24230": -1, + "24336": -1, + "24372": 0, + "24533": 0, + "24640": 0, + "24739": 0 + }, + "359": { + "1597": -2, + "1643": -2, + "1688": -2, + "1756": -2, + "1818": -2, + "1888": -2, + "1952": -2, + "2018": -2, + "2482": -2, + "2555": -2, + "2620": -2, + "2694": -2, + "2768": -2, + "2839": -2, + "2904": -2, + "2978": -2, + "3756": -2, + "4079": -2, + "4199": -2, + "4370": -2, + "5191": -2, + "5262": -2, + "5335": -2, + "5410": -2, + "5483": -2, + "5554": -2, + "5621": -2, + "5695": -2, + "6176": -2, + "6255": -2, + "6335": -2, + "6413": -2, + "9095": -1, + "9155": -1, + "9159": -1, + "9160": -1, + "9161": -1, + "9162": -1, + "9163": -1, + "9164": 0, + "9165": 0, + "9168": -1, + "9169": -1, + "9170": -1, + "9172": -2, + "9173": -2, + "9174": -2, + "9191": -2, + "9205": -1, + "9219": 0, + "11371": 0, + "11442": -2, + "11443": -2, + "11454": 0, + "14457": 0, + "14796": 0, + "15117": 0, + "15746": -1, + "15747": -1, + "15753": -1, + "19458": -1, + "19472": -2, + "19527": -2, + "19545": -2, + "19557": -3, + "19561": -3, + "23684": -3, + "24235": -3, + "24243": -3, + "24263": 7, + "24264": 7, + "24265": 3, + "24266": 3, + "24267": 3, + "24268": 2, + "24269": 2, + "24270": 2, + "24271": 2, + "24272": 2, + "24273": 2, + "24274": 2, + "24275": 2, + "24276": 3, + "24277": 4, + "24278": 4, + "24279": 4, + "24280": 3, + "24281": 3, + "24282": 3, + "24283": 4, + "24284": 4, + "24285": 4, + "24286": 1, + "24287": 0, + "24288": 0, + "24289": 0, + "24290": 0, + "24291": 0, + "24292": 0, + "24293": 0, + "24294": 0, + "24295": 0, + "24296": 0, + "24297": 0, + "24298": 0, + "24299": 0, + "24300": 0, + "24301": 0, + "24302": 0, + "24303": 0, + "24304": 4, + "24305": 4, + "24306": 2, + "24307": 2, + "24308": 1, + "24309": 1, + "24310": 1, + "24311": 1, + "24312": 1, + "24313": 1, + "24314": 3, + "24315": 3, + "24316": 3, + "24317": 1, + "24318": 1, + "24319": 1, + "24320": 0, + "24321": 0, + "24322": 0, + "24323": 0, + "24324": 1, + "24325": 1, + "24326": 0, + "24327": 0, + "24328": 0, + "24329": 4, + "24330": 4, + "24331": 4, + "24332": 4, + "24333": 4, + "24334": 3, + "24335": 3, + "24336": 3, + "24337": -1, + "24338": -1, + "24374": -1, + "24653": -1 + }, + "381": { + "4627": -1, + "4706": -1, + "4776": -1, + "4843": -1, + "4917": -1, + "4983": -1, + "5053": -1, + "5119": -1, + "6184": -1, + "6263": -1, + "6343": -1, + "6421": -1, + "9232": -1, + "9240": -1, + "9241": -1, + "9242": -1, + "9243": -1, + "9244": -2, + "9245": -2, + "9246": -2, + "9250": -2, + "9276": -1, + "9293": -1, + "9303": -1, + "9319": 0, + "11601": 0, + "11614": 0, + "11615": 0, + "11616": 0, + "11668": 0, + "11669": 0, + "13659": 0, + "14484": 0, + "16826": 0, + "18808": 0, + "18809": 0, + "18810": 0, + "18811": 0, + "18812": 0, + "18813": 1, + "18814": 1, + "18815": 1, + "18816": 0, + "18817": 0, + "20481": 0, + "20606": 0, + "20683": 0, + "20707": 0, + "20723": 0, + "20938": -1, + "20945": -1, + "21333": 1, + "21437": 1, + "21470": 1, + "21505": 1, + "22722": 1, + "23507": 0, + "23580": 0, + "23625": 0, + "23713": 0, + "23903": 1, + "24385": 1, + "24434": 0 + }, + "440": { + "695": -1, + "988": -1, + "3223": -1, + "3516": -1, + "4872": -1, + "5148": -1, + "7268": -1, + "7545": -1, + "12463": 0, + "12520": 0, + "12521": 0, + "12556": 0, + "14619": 0, + "14721": 0, + "15398": 0, + "16859": 0, + "18085": 0, + "18087": 0, + "18879": 0, + "19037": 0, + "19233": 0, + "19243": 0, + "19256": 0, + "19288": 0, + "22860": 0, + "22919": 0, + "23271": 0, + "23919": 0 + } + }, + "backward": { + "444": { + "1204": 1, + "1472": 1, + "2654": 1, + "2938": 1, + "5368": 1, + "5654": 1, + "6672": 1, + "6966": 1, + "12471": 0, + "12532": 0, + "12533": 0, + "12562": 0, + "14623": 0, + "14629": 0, + "15494": 0, + "16762": 0, + "18070": 0, + "18086": 0, + "18088": 0, + "18859": 0, + "18871": 0, + "18927": 0, + "19039": 0, + "19235": 0, + "19258": 0, + "19278": 0, + "19297": 0, + "23230": 0, + "23275": 0 + }, + "446": { + "697": 1, + "990": 1, + "1984": 1, + "2240": 1, + "2719": 0, + "3003": 0, + "3225": 1, + "3518": 1, + "3647": 1, + "4039": 1, + "4874": 1, + "5150": 1, + "6128": 1, + "6285": 1, + "6740": 0, + "7033": 0, + "7270": 1, + "7547": 1, + "12475": 0, + "12524": 0, + "12525": 0, + "12565": 0, + "14631": 0, + "14637": 0, + "15500": 0, + "16764": 0, + "18069": 0, + "18924": 0, + "18928": 0, + "19241": 0, + "19242": 0, + "19243": 0, + "19244": 1, + "19245": 1, + "19246": 0, + "19247": 0, + "19248": 0, + "19249": 0, + "19289": 0, + "19299": 0, + "22862": 0, + "22921": 0, + "23232": -1, + "23277": -1, + "23921": -1 + }, + "447": { + "698": 1, + "991": 1, + "1790": 1, + "1985": 1, + "2241": 1, + "2364": 1, + "2720": 0, + "3004": 0, + "3226": 1, + "3519": 1, + "3648": 1, + "3839": 1, + "3974": 1, + "4040": 1, + "4875": 1, + "5151": 1, + "5924": 1, + "6129": 1, + "6286": 1, + "6443": 1, + "6741": 0, + "7034": 0, + "7271": 1, + "7548": 1, + "12477": 0, + "12490": 0, + "12491": 0, + "12492": 0, + "12536": 0, + "12537": 0, + "13884": 0, + "13897": 0, + "13906": 0, + "13918": 0, + "18845": 0, + "18846": -1, + "18847": -1, + "18848": -1, + "18849": -1, + "18850": -1, + "18851": -1, + "18852": -1, + "18853": -1, + "18854": 0, + "18855": 0, + "18860": 0, + "18872": 0, + "18881": 0, + "18945": 0, + "19041": 0, + "19237": 0, + "19246": 0, + "19260": 0, + "19280": 1, + "19300": 1, + "22863": -1, + "22922": -1, + "23233": -1, + "23278": -1, + "23922": -1 + }, + "469": { + "5225": 1, + "5296": 1, + "5373": 1, + "5439": 1, + "5511": 1, + "5582": 1, + "5659": 1, + "5724": 1, + "9567": 0, + "14205": 0, + "14979": 0, + "15239": 0, + "16350": 0, + "16351": 0, + "16353": 0, + "18205": 0, + "18206": 0, + "18207": 1, + "18718": 1, + "20248": 0, + "20267": 0, + "20730": -1, + "21354": -1, + "21388": -1, + "21634": -1, + "21668": 0, + "22737": 0, + "24123": 0, + "24275": 0, + "24392": 1, + "24666": 1 + }, + "478": { + "6208": 1, + "6287": 1, + "6365": 1, + "6444": 1, + "9557": 0, + "14241": 0, + "15018": 0, + "15265": 0, + "16466": 0, + "16467": 0, + "16470": 0, + "18183": 0, + "18184": 0, + "18293": 0, + "18955": 1, + "20556": 1, + "21524": 1, + "21692": 1, + "22531": 1, + "23287": 1, + "23830": -1, + "23928": -1, + "23982": -1, + "24128": 0 + }, + "479": { + "6209": 1, + "6288": 1, + "6366": 1, + "6445": 1, + "9559": 0, + "14243": 0, + "15021": 0, + "15267": 0, + "16476": 0, + "16477": 0, + "16480": 0, + "18185": 0, + "18186": 1, + "18260": 1, + "18297": 0, + "18553": 0, + "18657": 0, + "18748": 1, + "18999": 1, + "20199": 1, + "20280": 1, + "20538": 1, + "20952": 1, + "21111": 1, + "21297": -1, + "21342": -1, + "21525": 1, + "21584": 1, + "21602": 1, + "21693": 1, + "22439": 1, + "22638": 0, + "23430": 0, + "24464": 0, + "24672": 0 + }, + "491": { + "6211": 1, + "6290": 1, + "6368": 1, + "6447": 1, + "9583": 0, + "14287": 0, + "15027": 0, + "15271": 0, + "16494": 0, + "16495": 0, + "16497": 0, + "18211": 0, + "18212": 0, + "18213": 0, + "18273": 0, + "18631": 0, + "18652": 0, + "18666": 0, + "18782": 1, + "19142": 1, + "19891": 1, + "20249": 0, + "20268": 0, + "21356": -1, + "21389": -1, + "21638": -1, + "21669": -1, + "23832": -1, + "24212": -1 + }, + "503": { + "6214": 1, + "6293": 1, + "6371": 1, + "6450": 1, + "8385": 0, + "9587": 0, + "14333": 0, + "15033": 0, + "15275": 0, + "16494": 0, + "16495": -1, + "16499": -1, + "18211": -1, + "18626": -1, + "18627": 0, + "18628": 0, + "18629": 0, + "18630": 0, + "18631": 0, + "18716": 0, + "18811": 0, + "20737": 0, + "20911": 2, + "20941": 2, + "21407": 0, + "23929": 0, + "24395": 0 + }, + "507": { + "699": 0, + "1709": 1, + "2039": 1, + "2175": 1, + "2430": 1, + "3653": 1, + "3722": 1, + "3777": 1, + "3844": 1, + "3913": 1, + "3979": 1, + "4045": 1, + "4100": 1, + "14343": 0, + "14345": 0, + "14709": 0, + "15075": 0, + "15303": 0, + "16638": 0, + "16639": 0, + "16641": 0, + "18220": 0, + "18221": 0, + "18222": 0, + "18640": 0, + "22041": 0, + "22078": 0, + "23149": 0, + "23397": 0, + "24060": -1, + "24681": -1, + "24743": 0 + }, + "514": { + "6216": 1, + "6295": 1, + "6373": 1, + "6452": 1, + "8379": 0, + "9561": 0, + "14377": 0, + "15036": 0, + "15277": 0, + "16466": 0, + "16467": -1, + "16473": -1, + "18184": -1, + "18293": 0, + "18294": 0, + "18295": 0, + "18296": 0, + "21076": -1, + "21156": -1, + "22116": 1, + "22172": 1, + "22251": 1, + "22396": 1, + "22424": 2, + "22695": 2, + "23518": 2 + }, + "515": { + "6217": 1, + "6296": 1, + "6374": 1, + "6453": 1, + "8383": 0, + "9563": 0, + "14379": 0, + "15039": 0, + "15279": 0, + "16476": 0, + "16477": -1, + "16483": -1, + "18186": -1, + "18297": 0, + "18298": 0, + "18299": 0, + "18300": 0, + "18731": 1, + "18827": 1, + "20954": 1, + "22202": 0, + "22231": 0, + "22476": 1, + "22642": 1, + "22696": 1, + "23477": 1, + "23596": 0, + "23728": 0 + }, + "519": { + "1711": 1, + "2041": 1, + "2176": 1, + "2431": 1, + "3294": 1, + "3654": 1, + "3723": 1, + "3779": 1, + "3845": 1, + "3914": 1, + "3980": 1, + "4046": 1, + "4102": 1, + "14389": 0, + "14391": 0, + "14724": 0, + "15081": 0, + "15307": 0, + "16638": 0, + "16639": -1, + "16643": -1, + "18220": -1, + "18638": 0, + "18639": 0, + "18640": 0, + "18641": 0, + "18642": 0, + "18643": 0, + "21158": -1, + "22740": -1, + "23651": -1, + "23754": -1, + "23800": 0 + }, + "542": { + "1713": 1, + "2043": 1, + "2178": 1, + "2433": 1, + "3656": 1, + "3725": 1, + "3781": 1, + "3847": 1, + "3916": 1, + "3982": 1, + "4048": 1, + "4104": 1, + "7276": 0, + "14385": 0, + "14473": 0, + "14685": 0, + "15078": 0, + "18079": 0, + "18080": 0, + "18303": 0, + "18306": 0, + "18307": 0, + "18308": 0, + "18309": 0, + "19732": -1, + "20049": -1, + "21163": -1, + "22188": -1, + "22747": -1, + "23839": -1, + "24203": 0 + }, + "272": { + "1014": 1, + "1083": 1, + "1150": 1, + "1418": 1, + "1618": 2, + "1658": 2, + "1793": 2, + "1988": 2, + "2110": 2, + "2365": 2, + "2454": 1, + "2527": 1, + "3598": 2, + "3657": 2, + "3726": 2, + "3789": 2, + "3848": 2, + "3925": 2, + "3991": 2, + "4049": 2, + "4131": 2, + "4174": 2, + "4214": 2, + "4286": 2, + "4345": 2, + "4405": 2, + "4456": 2, + "4513": 2, + "5314": 1, + "5600": 1, + "5798": 2, + "5933": 2, + "8409": 1, + "8417": 1, + "8425": 1, + "8442": 0, + "8493": 0, + "8507": 0, + "8521": 0, + "8528": 2, + "8529": 2, + "8530": 2, + "10267": 0, + "10269": 0, + "10320": 0, + "10321": 1, + "10367": 1, + "10394": 0, + "10408": 0, + "10409": 0, + "10410": 0, + "10420": 0, + "10428": 0, + "10447": -1, + "10454": -1, + "10459": 0, + "10460": 0, + "10461": 0, + "10463": 0, + "10464": 0, + "10465": 0, + "10475": 0, + "10476": 0, + "10477": 0, + "10481": 0, + "12744": 0, + "19192": 0, + "19481": 0, + "19482": 0, + "19483": 0, + "19484": 0, + "19485": 2, + "19486": 2, + "19487": 2, + "19488": 2, + "19489": 2, + "19490": 2, + "19491": 1, + "19492": 1, + "19493": 1, + "19494": 0, + "19497": 0, + "19503": 0, + "19599": 0, + "19975": 0, + "20313": 0, + "20336": 0, + "20357": 0, + "20566": -1, + "20625": -1, + "21217": 0, + "21313": 0, + "21541": 0, + "21710": 0, + "22541": 0, + "23853": -2, + "23896": -2, + "23957": -2, + "24030": 0, + "24093": 0, + "24165": 0 + }, + "288": { + "1019": 1, + "1088": 1, + "1623": 2, + "1664": 2, + "1798": 2, + "1994": 2, + "2117": 2, + "2372": 2, + "2459": 1, + "2532": 1, + "2598": 1, + "2882": 1, + "3603": 2, + "3664": 2, + "3732": 2, + "3794": 2, + "3855": 2, + "3930": 2, + "3996": 2, + "4055": 2, + "4137": 2, + "4179": 2, + "4221": 2, + "4292": 2, + "4350": 2, + "4411": 2, + "4462": 2, + "4520": 2, + "5805": 2, + "5940": 2, + "6618": 1, + "6912": 1, + "8546": 1, + "8554": 1, + "8562": 1, + "8579": 0, + "8630": 0, + "8644": 0, + "8658": 0, + "8665": 2, + "8666": 2, + "8667": 2, + "10485": 0, + "10487": 0, + "10538": 0, + "10539": 1, + "10585": 1, + "10612": 0, + "10626": 0, + "10627": 0, + "10628": 0, + "10638": 0, + "10646": 0, + "10665": -1, + "10672": -1, + "10677": 0, + "10678": 0, + "10679": 0, + "10681": 0, + "10682": 0, + "10683": 0, + "10693": 0, + "10694": 0, + "10695": 0, + "10699": 0, + "12757": 0, + "19210": 0, + "19957": -1, + "19958": -1, + "19959": 0, + "19960": 0, + "19961": 0, + "19962": 0, + "19963": 2, + "19964": 2, + "19965": 2, + "19966": 2, + "19967": 2, + "19968": 2, + "19969": 2, + "19970": 2, + "19971": 2, + "19972": 0, + "19977": 0, + "19987": 1, + "20407": 1, + "20430": 0, + "20451": 0, + "21173": 0, + "21371": 0, + "22136": 1, + "22177": 1, + "22378": 0, + "23324": 0 + }, + "348": { + "2093": 2, + "2144": 2, + "2209": 2, + "2285": 2, + "2333": 2, + "2399": 2, + "2477": 2, + "2550": 2, + "2615": 2, + "2689": 2, + "2763": 2, + "2834": 2, + "2899": 2, + "2973": 2, + "3691": 2, + "3882": 2, + "4246": 2, + "4545": 2, + "5187": 2, + "5258": 2, + "5331": 2, + "5406": 2, + "5479": 2, + "5550": 2, + "5617": 2, + "5691": 2, + "5756": 2, + "5830": 2, + "5891": 2, + "5965": 2, + "6027": 2, + "6097": 2, + "8949": 1, + "8956": 1, + "8967": 1, + "8993": 1, + "9010": 1, + "9020": 1, + "9036": 0, + "11163": 0, + "11224": 0, + "11225": 0, + "11254": 0, + "14427": 0, + "14868": 0, + "15165": 0, + "15962": 0, + "15963": -1, + "15969": -1, + "19323": -1, + "19362": -1, + "19375": 0, + "21010": 0, + "21045": 0, + "21070": 0, + "21934": 1, + "21994": 1, + "22009": 1, + "22314": 1, + "22365": 1, + "22820": 1, + "22828": 1, + "22901": 1, + "22923": 0, + "22966": 0, + "23020": -3, + "23021": -3, + "23022": -3, + "23023": -3, + "23024": 1, + "23025": 1, + "23026": -1, + "23027": -1, + "23028": -1, + "23029": -1, + "23030": -1, + "23031": 0, + "23032": 0, + "23033": -1, + "23034": -1, + "23035": -1, + "23036": -1, + "23037": 0, + "23038": 0, + "23039": 0, + "23040": 0, + "23041": 0, + "23042": -1, + "23043": -1, + "23044": -3, + "23045": -3, + "23046": -3, + "23047": -3, + "23048": 0, + "23049": 0, + "23050": 0, + "23051": -1, + "23052": -1, + "23053": -1, + "23054": -1, + "23055": -1, + "23056": 0, + "23057": 0, + "23058": 0, + "23059": 0, + "23060": 0, + "23061": 0, + "23062": 0, + "23063": 0, + "23106": 0, + "23136": 0, + "23179": 0, + "23396": 0, + "23427": 0, + "23465": 0, + "23681": -1, + "23868": -1, + "24048": 1, + "24199": 1, + "24230": 1, + "24336": 1, + "24372": 0, + "24533": 0, + "24640": 0, + "24739": 0 + }, + "359": { + "1597": 2, + "1643": 2, + "1688": 2, + "1756": 2, + "1818": 2, + "1888": 2, + "1952": 2, + "2018": 2, + "2482": 2, + "2555": 2, + "2620": 2, + "2694": 2, + "2768": 2, + "2839": 2, + "2904": 2, + "2978": 2, + "3756": 2, + "4079": 2, + "4199": 2, + "4370": 2, + "5191": 2, + "5262": 2, + "5335": 2, + "5410": 2, + "5483": 2, + "5554": 2, + "5621": 2, + "5695": 2, + "6176": 2, + "6255": 2, + "6335": 2, + "6413": 2, + "9095": 1, + "9155": 1, + "9159": 1, + "9160": 1, + "9161": 1, + "9162": 1, + "9163": 1, + "9164": 0, + "9165": 0, + "9168": 1, + "9169": 1, + "9170": 1, + "9172": 2, + "9173": 2, + "9174": 2, + "9191": 2, + "9205": 1, + "9219": 0, + "11371": 0, + "11442": 2, + "11443": 2, + "11454": 0, + "14457": 0, + "14796": 0, + "15117": 0, + "15746": 1, + "15747": 1, + "15753": 1, + "19458": 1, + "19472": 2, + "19527": 2, + "19545": 2, + "19557": 3, + "19561": 3, + "23684": 3, + "24235": 3, + "24243": 3, + "24263": -7, + "24264": -7, + "24265": -3, + "24266": -3, + "24267": -3, + "24268": -2, + "24269": -2, + "24270": -2, + "24271": -2, + "24272": -2, + "24273": -2, + "24274": -2, + "24275": -2, + "24276": -3, + "24277": -4, + "24278": -4, + "24279": -4, + "24280": -3, + "24281": -3, + "24282": -3, + "24283": -4, + "24284": -4, + "24285": -4, + "24286": -1, + "24287": 0, + "24288": 0, + "24289": 0, + "24290": 0, + "24291": 0, + "24292": 0, + "24293": 0, + "24294": 0, + "24295": 0, + "24296": 0, + "24297": 0, + "24298": 0, + "24299": 0, + "24300": 0, + "24301": 0, + "24302": 0, + "24303": 0, + "24304": -4, + "24305": -4, + "24306": -2, + "24307": -2, + "24308": -1, + "24309": -1, + "24310": -1, + "24311": -1, + "24312": -1, + "24313": -1, + "24314": -3, + "24315": -3, + "24316": -3, + "24317": -1, + "24318": -1, + "24319": -1, + "24320": 0, + "24321": 0, + "24322": 0, + "24323": 0, + "24324": -1, + "24325": -1, + "24326": 0, + "24327": 0, + "24328": 0, + "24329": -4, + "24330": -4, + "24331": -4, + "24332": -4, + "24333": -4, + "24334": -3, + "24335": -3, + "24336": -3, + "24337": 1, + "24338": 1, + "24374": 1, + "24653": 1 + }, + "381": { + "4627": 1, + "4706": 1, + "4776": 1, + "4843": 1, + "4917": 1, + "4983": 1, + "5053": 1, + "5119": 1, + "6184": 1, + "6263": 1, + "6343": 1, + "6421": 1, + "9232": 1, + "9240": 1, + "9241": 1, + "9242": 1, + "9243": 1, + "9244": 2, + "9245": 2, + "9246": 2, + "9250": 2, + "9276": 1, + "9293": 1, + "9303": 1, + "9319": 0, + "11601": 0, + "11614": 0, + "11615": 0, + "11616": 0, + "11668": 0, + "11669": 0, + "13659": 0, + "14484": 0, + "16826": 0, + "18808": 0, + "18809": 0, + "18810": 0, + "18811": 0, + "18812": 0, + "18813": -1, + "18814": -1, + "18815": -1, + "18816": 0, + "18817": 0, + "20481": 0, + "20606": 0, + "20683": 0, + "20707": 0, + "20723": 0, + "20938": 1, + "20945": 1, + "21333": -1, + "21437": -1, + "21470": -1, + "21505": -1, + "22722": -1, + "23507": 0, + "23580": 0, + "23625": 0, + "23713": 0, + "23903": -1, + "24385": -1, + "24434": 0 + }, + "440": { + "695": 1, + "988": 1, + "3223": 1, + "3516": 1, + "4872": 1, + "5148": 1, + "7268": 1, + "7545": 1, + "12463": 0, + "12520": 0, + "12521": 0, + "12556": 0, + "14619": 0, + "14721": 0, + "15398": 0, + "16859": 0, + "18085": 0, + "18087": 0, + "18879": 0, + "19037": 0, + "19233": 0, + "19243": 0, + "19256": 0, + "19288": 0, + "22860": 0, + "22919": 0, + "23271": 0, + "23919": 0 + } + } +} diff --git a/research/k8-temporal-menu-composition/NATIVE-BOUNDARY.md b/research/k8-temporal-menu-composition/NATIVE-BOUNDARY.md new file mode 100644 index 0000000000..64c863b1d0 --- /dev/null +++ b/research/k8-temporal-menu-composition/NATIVE-BOUNDARY.md @@ -0,0 +1,39 @@ +# Native cost and asymptotic boundary + +This certificate lowers the finite **copy-init scalar** invoice. It does not lower +the current admitted native or hosted invoice and supplies no new κ. + +At pinned upstream commit `bce54fb3f895cbe5cd4c0eb477c3afeed100190f`, +[`invoice_allcold.py`](https://github.com/CrocSwap/integer-mult-bounds/blob/bce54fb3f895cbe5cd4c0eb477c3afeed100190f/research/gauge44-slots/code/invoice_allcold.py#L149-L152) +charges each scalar event as a macro and uses + +```text +compiler = 64 * (m + 1)^3 +adapters = 16 * (macro_bound + children + registers + centres) + 64 * m +primitive_bound = max(real_component_primitives) + adapters * compiler +``` + +The retained selected receipt reports compiler `25934336`, local adapters `387056` +and local primitive bound `10038040553630`. These values are in the pinned archive +member `candidate/strict/global/audit/PREFIX-AND-INVOICE.json`, SHA-256 +`212cf4ee3b16081bf66f300fa18b4070d25c17210c21c78c2967892c91870d12`. + +All nineteen schedules add 194 SCALE macros per orientation, compared with 54 for +the PR1388 pair. With the other terms unchanged, the generic local adapter allowance +therefore grows by 3,104 over the static background or 2,240 over the pair. No adapter +discount has been proved. The selected native invoice also uses Horner arithmetic +and its own factor-of-two convention; the copy-init saving must not be subtracted +from that invoice without a matching, complete recount. + +The original nonscalar event stream, paid histogram, helper inventory and endpoints +are preserved. A role-local complex-linear map commutes with multiplication by +`2^k`, which supports carrying the gauge through such a map. This identity alone +does not establish phase, ownership, input encoding, adapter, controller or whole-call +admission. The selected helpers have no incident COPY/CLEAR or residual adapter, +and their terminal gauges are restored. Full scalar-column replay verifies that +limited endpoint claim. + +The recursive histogram stays `{1:2412, 2:418, 3:432, 4:142, 5:82, 8:8}`. +With unchanged recurrence and supplier premises, its paid moment and conditional +cap are unchanged. The scalar result therefore provides no new exponent. We did +not run a native, hosted or all-size frontier experiment for this package. diff --git a/research/k8-temporal-menu-composition/NOTICE.md b/research/k8-temporal-menu-composition/NOTICE.md new file mode 100644 index 0000000000..2aee73de96 --- /dev/null +++ b/research/k8-temporal-menu-composition/NOTICE.md @@ -0,0 +1,10 @@ +New composition/verifier documentation: Apache-2.0, prepared for George Lydakis with substantial OpenAI Codex assistance. + +Retained source credits: +- PR1369 and PR1388: Cinna Davis (@1337isnot1337), exact zero-static temporal schedules and shared-pair composition, with Codex assistance. +- PR1263: Philipp (@mightyOil), many-coordinate static gauge word; original attribution in inputs/pr1388/vendor/pr1369/vendor/pr1263/verify.py. +- PR1259 and PR696: Sagar Thakrar (@thakrarsagar), temporal methods and dyadic primitive lowering. +- PR1161: @woklerx, exact scalar replay/invoice, with Codex assistance; original attribution in inputs/engine/engine.py. +- Inherited supplier/compiler work: Jeremy Kothe, icekylinx, Rohan Arun and the credited predecessors of the pinned selected provider. + +All copied Python sources are byte-identical to the Git/SHA-bound public versions listed in VENDOR-SOURCES.json. No claim of an independent new supplier, native admission, numerical lead or global gauge optimum is made. diff --git a/research/k8-temporal-menu-composition/PROOF.md b/research/k8-temporal-menu-composition/PROOF.md new file mode 100644 index 0000000000..4f462e7bfb --- /dev/null +++ b/research/k8-temporal-menu-composition/PROOF.md @@ -0,0 +1,25 @@ +# Exact interaction and unique fixed-menu optimum + +Fix the pinned PR1263 background and, for each of the nineteen helpers, one complete temporal schedule. A chosen schedule includes all of its entry, transition and terminal restoration SCALEs. Omitted schedules have exponent zero throughout. All scales are charged, and each original ADD is retained in order. + +For an ADD with coefficient q, destination exponent a and source exponent b, its coefficient is q·2^(a−b). Let c(q) be the attributed exact real-component ADD price, including the unit-coefficient discount. The shared-operation correction is + + c(q·2^(a−b)) − c(q·2^a) − c(q·2^(−b)) + c(q). + +An ADD has at most two operands. Transition charges separate by helper. Thus the exact change for any subset S is + + F(S) = Σ[h∈S] single_h + Σ[{h,j}⊆S] cross_hj. + +There are no higher-order interactions in this fixed-menu objective. This does not claim convexity: the unit discount makes the price nonconvex. + +For the pinned menu, the singleton sum is −973 real primitives in each orientation. The only nonzero accumulated pair corrections are +3 for (348,359) and +4 for (479,515). Full-menu change is therefore −966 real, or −1,932 complex primitives. Other shared ADDs are inspected and can have zero aggregate correction; absence of a nonzero correction is not absence of an ADD. + +For each helper h, calculate + + B_h = single_h + Σ[j≠h] max(0, cross_hj). + +For any subset omitting h, its exact marginal from adding h is at most B_h. Every B_h is strictly negative; the largest is −11. Consequently every proper subset can be strictly improved by adding any missing coordinate. The full nineteen-helper menu is the unique optimum of this fixed menu. This proof applies separately to each orientation and does not assume their symmetry. + +The verifier recomputes the coefficient corrections and all marginal bounds, compares the actual complete invoice with this objective, and confirms the emitted winner on all 712 formal scalar columns. Zero menu identity, direct emitted-word invoices for all sixteen subsets of helpers 348/359/479/515, and deletion of an exactly identified inserted transition SCALE are controls. Optional Gray-code and least-set-bit censuses independently validate all 524,288 subsets per orientation; no word replay is performed for every subset. + +For scalar correctness, inserted transitions maintain the current diagonal gauge: each ADD coefficient is conjugated by destination/source exponent difference, original diagonal SCALEs commute, and terminal restoration returns every selected helper to exponent zero. These helpers have no incident COPY/CLEAR and are cold/FULL and unwrapped in the pinned word. Complete formal replay checks all dirty inputs and both separately supplied chronological orientations. It does not replace native interface or global hosting admission. diff --git a/research/k8-temporal-menu-composition/README.md b/research/k8-temporal-menu-composition/README.md new file mode 100644 index 0000000000..acf67cdc1b --- /dev/null +++ b/research/k8-temporal-menu-composition/README.md @@ -0,0 +1,83 @@ +# Nineteen temporal gauges: exact finite composition + +This package composes the nineteen zero-static helper schedules of PR1369 on the unchanged PR1263 static word. The full menu is the **unique optimum among its 524,288 subsets**, independently in each orientation. This is a fixed-menu result, not optimization over other gauge paths or an improved conditional multiplication bound. + +| Complex primitives per orientation | Forward | Backward | +|---|---:|---:| +| PR1263 static background | 136,002 | 136,018 | +| PR1388 L348/L359 pair | 135,202 | 135,218 | +| All nineteen schedules | **134,070** | **134,086** | + +The composition saves 1,132 complex primitives per orientation over the reproduced pair, or 1,932 over the static background. Every one of the 194 inserted SCALE macros per orientation is charged. The recursive profile remains `{1:2412, 2:418, 3:432, 4:142, 5:82, 8:8}` and the local positive-prefix ceilings remain 52/68 bits within the inherited 192-bit allowance. + +## Reproduce offline + +Use Python 3.12 with assertions enabled. From the repository root: + +```sh +python3.12 scripts/research_package.py --package research/k8-temporal-menu-composition +``` + +This registered check uses only the standard library and a temporary result file. +The pinned archive is already part of the repository. To retain the JSON result, +pass a fresh output path outside the package: + +```sh +python3.12 -I -B research/k8-temporal-menu-composition/verify.py \ + --output /tmp/temporal-menu-result.json +``` + +For a relocated package, add `--upstream /path/to/checkout` pointing to a checkout +with the archive identified in [UPSTREAM.json](UPSTREAM.json). The verifier downloads +nothing. It checks package hashes before importing vendored sources, authenticates +the archive and two fixed regular members without extracting files, and constructs +the static background and fixed menu. It then checks every shared ADD correction, +the strict marginal proof, complete invoices, original frames at inserted SCALEs, +unchanged nonscalar events, local payload and all 712 formal scalar columns per +orientation. It compares the result with [EXPECTED.json](EXPECTED.json). + +Controls cover zero-menu identity, direct invoices for all sixteen subsets of the +four helpers participating in nonzero interactions, and rejection after deleting +an exactly identified inserted SCALE. Add `--exhaustive` to independently enumerate +all 524,288 subsets per orientation using both Gray-code and least-set-bit +recurrences. The routine proof needs no enumeration; see [PROOF.md](PROOF.md). + +Verification commands, outcomes and unrun obligations are recorded in +[VALIDATION.md](VALIDATION.md). + +## Scope + +The fixed arrays in `MENU.json` were reproduced from the pinned PR1369 deterministic single-coordinate DP and matched every published singleton domain/objective/transition field. The verifier fixes these arrays rather than running a new schedule search. It retains the terminal-restoration convention of PR1369; gauges may remain active across unrelated recursive events. This differs from PR1380's zero-at-every-nonscalar-boundary domain. + +The complete scalar endpoint restores arbitrary independent helper dirt and clears all eight private centres. Unchanged recursive event counts and width inventory are **not** fresh native phase, adapter, controller or hosted-supplier admission. The current generic adapter rule increases its local allowance by 3,104 adapters relative to the static background, or 2,240 relative to the pair. No compensating adapter discount is proved; see [NATIVE-BOUNDARY.md](NATIVE-BOUNDARY.md). Physical emission, complete owner invoice, global precision/tape and all-size transfer remain separate. No new κ or current numerical lead is claimed. + +The selected record at the pinned base remains PR1094, `836330098538459/500000000000000000`. This package is a finite circuit result on its retained local word, not a replacement for that admitted record. + +Credit the authors of PR1369/1388 for the schedules and pair comparator; PR1263 for the static background; PR1259 for temporal-gauge methods; PR1161 for formal scalar replay/invoice; and PR696 and the inherited supplier/compiler lineage for the primitive vocabulary. Original vendored source bytes and notices are retained. This composition was prepared for George Lydakis's contribution with substantial OpenAI Codex assistance. + +## Overlap and provenance + +The comparison is to the pinned [PR1388 pair](https://github.com/CrocSwap/integer-mult-bounds/pull/1388), +using [PR1369](https://github.com/CrocSwap/integer-mult-bounds/pull/1369)'s nineteen +zero-static schedules and [PR1263](https://github.com/CrocSwap/integer-mult-bounds/pull/1263)'s +static background. [VENDOR-SOURCES.json](VENDOR-SOURCES.json) records immutable +commits, source paths, Git blobs and SHA-256 values; vendored source bytes and +notices are preserved. [SOURCES.json](SOURCES.json) records the registered upstream +inputs and provenance. + +The overlap scan at 2026-10-14 00:15 UTC covered 866 open PRs, 123 discussion records +and 325 local package notes, with complete pagination and no reported warnings. +It found related pair and nonzero-static work, including PR1397, PR1398, PR1376, +PR1385 and Discussion1163 comment18911723. This package does not compose those +nonzero-static schedules. No identical all-nineteen composition was found in that +scan; this is not proof of novelty or a claim to the best scalar circuit globally. + +## Open next questions + +- Can this scalar program receive complete native, adapter and controller admission + with a smaller total invoice? First bind its emitted operations to those interfaces + and establish any adapter discount. The present generic allowance increases. +- Can a joint optimization over other temporal paths improve this fixed menu? + First define an explicit domain and comparator with the exact unit discount. + The proof here establishes optimality only among subsets of these fixed schedules. + Such work would still need a changed recurrence or supplier interface to advance κ. diff --git a/research/k8-temporal-menu-composition/SOURCES.json b/research/k8-temporal-menu-composition/SOURCES.json new file mode 100644 index 0000000000..2edc214394 --- /dev/null +++ b/research/k8-temporal-menu-composition/SOURCES.json @@ -0,0 +1,48 @@ +{ + "schema_version": 1, + "base_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "ae6a99f28aa468649eb66a361e764d769363bf11", + "sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "c05fafaa25ba95b2d5af86b1800427198e3d20eb", + "sha256": "89b5928bc92c81e2647b6d702a7ad85a6795b8f44e2eb267b2ff3145d8f2b2ce" + }, + { + "path": "research/community-frontier1094-audit/selected-replay.tar.gz", + "usage": "input", + "git_blob": "c24daf067f9c543421d89ca2eeaa4eb78a57fb6f", + "sha256": "f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6" + }, + { + "path": "research/gauge44-slots/code/invoice_allcold.py", + "git_blob": "b244cd59940659465c07b013ebe3225077496f45", + "sha256": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "usage": "provenance" + }, + { + "path": "scripts/verify_frontier1094.py", + "git_blob": "96e6c1386bd052b9bcaf136d934406f3f0c3f777", + "sha256": "c7e20f59968ed5736fb859735de4de207de3418083e37012310ebcded946b949", + "usage": "provenance" + }, + { + "path": "research/community-frontier1094-audit/ASSEMBLY.json", + "git_blob": "5fd676df060f3b450782fdf5ff5f6beb63a5eeb0", + "sha256": "1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045", + "usage": "provenance" + }, + { + "path": "research/community-frontier1094-audit/RESULT.json", + "git_blob": "131d9c96a54632ae385ced4138fd7f30ad448a3e", + "sha256": "1e3e47e9ec24bcb6fb5f703b7fce0aab658d84ff72bfae5da3ae429d17b6e752", + "usage": "provenance" + } + ] +} diff --git a/research/k8-temporal-menu-composition/TASK.json b/research/k8-temporal-menu-composition/TASK.json new file mode 100644 index 0000000000..7dd3c99c41 --- /dev/null +++ b/research/k8-temporal-menu-composition/TASK.json @@ -0,0 +1,66 @@ +{ + "schema_version": 1, + "task_id": "complex-new-helper-inventory", + "priority_revision": 2, + "base_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "original_card": { + "id": "complex-new-helper-inventory", + "question": "Can a new local cost interface change the deficit-to-recursive-cost ratio beyond current packing?", + "starting_points": [ + "research/heterogeneous-owner-assembly/README.md", + "certificates/selected-result.json" + ], + "methods": [ + "Propose a changed helper inventory and derive an optimistic exact moment.", + "Design a small completed instance and independently verify its endpoint and rank bill." + ], + "acceptance_gate": "A new physically realizable contract, not another mixture already covered by the frozen catalogue.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read the frozen catalogue bound exclusions and select one genuinely different helper endpoint inventory.", + "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." + }, + "first_experiment": "Write the complete optimistic child histogram and reject it immediately if even the relaxation has insufficient headroom.", + "bottleneck_link": "Helper inventory changes can improve the moment; repacking a covered cost interface cannot evade its scoped bound.", + "allowed_variations": [ + "Narrow to one changed boundary or helper type with explicit counts." + ], + "scope_change_triggers": [ + "Mixing only providers already inside the pinned catalogue." + ], + "overlap_terms": [ + "helper inventory", + "heterogeneous-owner", + "mutable leaver" + ] + }, + "scope_status": "changed", + "actual_scope": "Compose the nineteen fixed PR1369 zero-static temporal schedules on the pinned PR1263 word, price every shared ADD and inserted SCALE, and certify the unique fixed-menu optimum with exact marginal bounds and complete scalar endpoints.", + "scope_change_reason": "George requested autonomous research contributions. The helper-inventory investigation produced no admitted paid saving; this follow-on preserves the inventory and recursive profile while improving the finite scalar circuit. It does not satisfy the original new-inventory acceptance gate or claim a new exponent.", + "bottleneck_link": "Finite scalar side result only. The paid recursive histogram is unchanged. The current generic adapter rule increases its allowance for the additional SCALE macros; no smaller native or hosted invoice, or new asymptotic bound, is established.", + "budget_minutes": 60, + "stop_rule": "Freeze one predecessor-defined menu and stop after exact interaction pricing, strict marginal proof, complete forward/backward scalar replay and failure controls. No widened exponent search or supplier replay.", + "outcome": "completed", + "evidence": "The certificate and verifier establish 134070/134086 complex primitives, 1932 fewer per direction than PR1263 and 1132 fewer than the reproduced PR1388 pair. Every missing schedule has a strictly negative worst-case addition marginal; all nineteen is the unique fixed-menu optimum. The initial bounded run checked 524288 subsets by two exact algorithms and all 712 scalar columns per direction.", + "author": "George Lydakis", + "ai_assistance": "Prepared for George Lydakis with substantial OpenAI Codex assistance, including coordination with Ody, algebra, source review, implementation and verification. No independent human review is claimed.", + "open_questions": [ + { + "question": "Can the 194 added SCALE macros per orientation be admitted through the native and whole-call adapter interfaces with a complete overhead invoice?", + "why_it_matters": "The present result establishes scalar endpoints and costs; it does not certify native or hosted benefit.", + "first_step": "Bind the emitted program to the native phase/frame and controller interfaces and prove any needed adapter discount before proposing a complete recount. The existing generic macro rule increases the allowance.", + "blocked_by": "No complete native/adaptor/hosting admission for the composed temporal schedule." + }, + { + "question": "Can joint path optimization improve the fixed nineteen-schedule menu?", + "why_it_matters": "Unique optimality among these subsets does not establish a global optimum over temporal exponent paths.", + "first_step": "Inspect a shared-operation component with a source-bound comparator and exact unit-discount pricing before proposing a bounded search.", + "blocked_by": "No frozen new path domain or independently reviewed search proposal." + } + ] +} diff --git a/research/k8-temporal-menu-composition/UPSTREAM.json b/research/k8-temporal-menu-composition/UPSTREAM.json new file mode 100644 index 0000000000..22a1083131 --- /dev/null +++ b/research/k8-temporal-menu-composition/UPSTREAM.json @@ -0,0 +1,11 @@ +{ + "repo": "CrocSwap/integer-mult-bounds", + "commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "archive": "research/community-frontier1094-audit/selected-replay.tar.gz", + "git_blob": "c24daf067f9c543421d89ca2eeaa4eb78a57fb6f", + "sha256": "f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6", + "members": { + "candidate/strict/global8/base/providers/gauge44/CANONICAL-WORD.json.gz": "16bc0ebb04b4be6c0ade74badc6a0c0cdba4215eda86e4ff9f13abf8ecebd219", + "candidate/strict/global8/base/providers/gauge44/LOCAL-PROGRAMS.json.gz": "241fde27d4e43f5a9cb6b128f9f76c5131a53d09f0371676163f914d0b0fef3a" + } +} diff --git a/research/k8-temporal-menu-composition/VALIDATION.md b/research/k8-temporal-menu-composition/VALIDATION.md new file mode 100644 index 0000000000..00c84ffa58 --- /dev/null +++ b/research/k8-temporal-menu-composition/VALIDATION.md @@ -0,0 +1,44 @@ +# Validation + +Validated on 2026-10-13 (America/New_York), using CPython 3.12.15 on macOS arm64, +standard library only, assertions enabled. All checks below passed. + +```sh +python3.12 -I -B scripts/research_package.py \ + --package research/k8-temporal-menu-composition +``` + +The registered runner checked metadata and pinned upstream Git objects, then ran +the explicit `-I -B` verifier command in VERIFY.json. It reported +`PASS_REGISTERED_RESEARCH_PACKAGE` and `PASS_FIXED19_MENU_COMPOSITION`. + +The verifier established 134070/134086 complex primitives, the exact two shared +interaction corrections, strictly negative worst-case addition marginals, and +all 712 formal scalar columns in each orientation. It reproduced the static and +PR1388 pair comparators, checked all sixteen directly emitted subsets of the four +helpers with nonzero cross terms, and rejected removal of a recorded inserted SCALE. + +A separate integration check copied the complete package to a read-only directory, +ran it from an unrelated working directory with explicit `--upstream` and fresh +`--output`, checked the resulting costs/endpoints, and compared every file hash +before and after. No package file changed or appeared. That replay took about +5.1 seconds. Additional checks confirmed rejection of an existing output path, +optimized Python (`-O`), and a changed MENU.json before source imports. The result +SHA-256 was `b76271a6ed334146a3b4abb05314db23299ae7c252edc5bb4bf737f406b7a4f2`. + +The original bounded scientific run additionally checked all 524288 fixed-menu +subsets per orientation by independent Gray-code and least-set-bit recurrences. +EXPECTED.json retains that result. Routine registered replay proves optimality +with the strict marginal argument and does not repeat exponential enumeration; +`--exhaustive` remains available for that optional check. + +The eight vendored files were independently checked against their recorded SHA-256 +and Git blob identities. The native-cost boundary was checked against four pinned +upstream source blobs and the retained archive receipt leaves. This was a source +and receipt review, not a new native execution. + +Ody reviewed the integrated proof, verifier, provenance, metadata and native +boundary without edits or running the checker, and reported no blocking finding. +This is additional AI review, not independent human review. Full native, adapter, +controller, owner and hosted admission remain unrun and unproved for this composed +program; no κ improvement is claimed. diff --git a/research/k8-temporal-menu-composition/VENDOR-SOURCES.json b/research/k8-temporal-menu-composition/VENDOR-SOURCES.json new file mode 100644 index 0000000000..365ff39e03 --- /dev/null +++ b/research/k8-temporal-menu-composition/VENDOR-SOURCES.json @@ -0,0 +1,89 @@ +{ + "sources": [ + { + "pr": 1388, + "repo": "1337isnot1337/integer-mult-bounds", + "ref": "f0cb371b5997878f40fff286e385de8d75b766f9", + "path": "research/complex-temporal-pair-seed28/RESULT.json", + "git_blob": "72ad192f4fb1ea29c7e7e8516241f948e1f08f86", + "size": 13859, + "sha256": "1c606147fb953194bcfdfe7e2b97c4360773ce65c1ce45c11a76794837dcc129", + "package_path": "inputs/pr1388/RESULT.json" + }, + { + "pr": 1388, + "repo": "1337isnot1337/integer-mult-bounds", + "ref": "f0cb371b5997878f40fff286e385de8d75b766f9", + "path": "research/complex-temporal-pair-seed28/vendor/pr1369/vendor/pr1263/verify.py", + "git_blob": "c688f7243562d32d1c6666bdee6ca4ffc59bc5b8", + "size": 9486, + "sha256": "1e7b91aef01b431ab74efe5e3bab6cd2180802298f43d9f216cca6e4de422440", + "package_path": "inputs/pr1388/vendor/pr1369/vendor/pr1263/verify.py" + }, + { + "pr": 1388, + "repo": "1337isnot1337/integer-mult-bounds", + "ref": "f0cb371b5997878f40fff286e385de8d75b766f9", + "path": "research/complex-temporal-pair-seed28/vendor/pr1369/vendor/pr1263/GAUGES.json", + "git_blob": "6bd3ef7e0e2c4ea56d7fa2725d2b09f1f3fc0085", + "size": 6364, + "sha256": "9bdfdb3be598e2df4d4102402d0cd8cba4159a28d939ba51bc668d6f3be314c3", + "package_path": "inputs/pr1388/vendor/pr1369/vendor/pr1263/GAUGES.json" + }, + { + "pr": 1388, + "repo": "1337isnot1337/integer-mult-bounds", + "ref": "f0cb371b5997878f40fff286e385de8d75b766f9", + "path": "research/complex-temporal-pair-seed28/vendor/pr1369/vendor/pr1263/vendor/pr1161/engine.py", + "git_blob": "33c0db7fe7f51c64565d9500709aaf90926d0d60", + "size": 11472, + "sha256": "997b34533aea200c339263a96dd6f76facf21bf54b1627ab244e2ae72d348400", + "package_path": "inputs/engine/engine.py" + }, + { + "pr": 1388, + "repo": "1337isnot1337/integer-mult-bounds", + "ref": "f0cb371b5997878f40fff286e385de8d75b766f9", + "path": "research/complex-temporal-pair-seed28/vendor/pr1369/CERTIFICATE.json", + "git_blob": "e6f45a1e405fe418a687710943ab39c78c7ae834", + "size": 12687, + "sha256": "5763aeba455aeee3c7fe82cd513e3588b7c73f14dd67b299ce72a33c18937516", + "package_path": "inputs/pr1369/CERTIFICATE.json" + }, + { + "pr": 1388, + "repo": "1337isnot1337/integer-mult-bounds", + "ref": "f0cb371b5997878f40fff286e385de8d75b766f9", + "path": "research/complex-temporal-pair-seed28/vendor/pr1369/independent.py", + "git_blob": "415083a91ae83ac4739c7863c42070d1213d3fcd", + "size": 5887, + "sha256": "a125124e221c7959458789cb2e2c43553af2eb964b6cf27371c77ecb1841a5a0", + "package_path": "inputs/pr1369/independent.py" + }, + { + "repo": "1337isnot1337/integer-mult-bounds", + "ref": "f0cb371b5997878f40fff286e385de8d75b766f9", + "path": "research/complex-temporal-pair-seed28/vendor/pr1369/NOTICE.md", + "git_blob": "db9f1414793c017e46845b1d6693a2962f754c9d", + "size": 851, + "sha256": "fa4c86ee4cc39ec3fd0b1ee3667b638e8de557d7999a8b785cb01279dc58f4e7", + "package_path": "inputs/pr1369/NOTICE.md" + }, + { + "repo": "1337isnot1337/integer-mult-bounds", + "ref": "f0cb371b5997878f40fff286e385de8d75b766f9", + "path": "research/complex-temporal-pair-seed28/vendor/pr1369/vendor/pr1263/vendor/pr1161/PROVENANCE.md", + "git_blob": "6ee8cde472014483ef51daf2299784d08ae8c2c1", + "size": 2879, + "sha256": "76dca2049e8c008da0398fd722745e421be92c66dac876cf8463295f6cb18518", + "package_path": "inputs/engine/PROVENANCE.md" + } + ], + "method_heads": { + "PR1369": "f28e1c460cd910886f9b06835abd6b1c96d2992f", + "PR1263": "5fbaca13028846bddbb001e8e07addc2ab8e5816", + "PR1259": "61367611154266a982fe25e1a6243a8aad77227d", + "PR1161": "d210969d3158a1e6c505e41f67dd84e555c88564" + }, + "menu_origin": "Exact schedules reproduced from pinned PR1369 deterministic DP, compared with every pinned singleton receipt; this verifier fixes those schedules rather than optimizing gauge paths." +} diff --git a/research/k8-temporal-menu-composition/VERIFY.json b/research/k8-temporal-menu-composition/VERIFY.json new file mode 100644 index 0000000000..0b43c57ebf --- /dev/null +++ b/research/k8-temporal-menu-composition/VERIFY.json @@ -0,0 +1,21 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/community-frontier1094-audit/selected-replay.tar.gz" + ], + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-B", + "{package}/verify.py" + ], + "timeout_seconds": 180, + "checks": "Exact source pins, fixed-menu interaction and strict marginal proof, complete invoice and all 712 scalar columns in both orientations, zero-menu identity, sixteen direct subset invoices, and missing-transition rejection." + } + ] +} diff --git a/research/k8-temporal-menu-composition/inputs/engine/PROVENANCE.md b/research/k8-temporal-menu-composition/inputs/engine/PROVENANCE.md new file mode 100644 index 0000000000..6ee8cde472 --- /dev/null +++ b/research/k8-temporal-menu-composition/inputs/engine/PROVENANCE.md @@ -0,0 +1,46 @@ +# Attribution and scope selection + +Prepared by @woklerx with substantial OpenAI Codex assistance, Apache-2.0. +No independent human review is claimed. Original source notices are retained. + +The current frozen construction is Rohan Arun's PR1094 rare-pattern exchange +placement on Jeremy Kothe's checked k8/T16 supplier, following PR1042. Its actual +archived gauge44 provider is byte-identical to the pinned slots/local provider +in the PR1042 archive. Douglas Colkitt's review, selected-source and complete +assembly receipts establish the inherited lineage; this package does not claim +to authenticate or repeat those native/global executions. The scalar program +and exact local invoice are from the credited icekylinx/PR425/433/531, +Jeremy Kothe/PR622 and gauge44-slots construction lineage. The stronger lowering +is Sagar Thakrar's `research/complex-dyadic-lowering/lower.py`, whose retained +source is imported by the independent checker. The optimum accounts for its +unit shortcut and does not claim an old-Horner gain that disappears there. + +Seed32 is the assigned complex-supplier track at fixed base +`ce7ad1b6ab09452c3478723a2e96ed5ff212dc08`. Three candidates considered: + +1. Uniform dyadic basis change on one complete-program helper (chosen). +2. Further coefficient-work sharing/rescaling (rejected as close to PR739/811, + PR984 and previous sprint round7/PR1032). +3. Frame-transition retiming (rejected as close to rounds26/29). + +Targeted live Curiosity Bot GitHub provider queries covered dyadic conjugation, +diagonal gauge, rescaling, scalar and helper work. PR739 was inspected directly: +it keeps private coefficient work across successive magnitude blocks, not a +uniform helper coordinate change through the full scalar word. PR836 concerns +unitary register mixing; PR426/401 concern other chronological/response gauges. +PR947 prices constant-row center shears; PR1081 fixes CK helper matching. +None supplies this one-helper unbounded valuation/discount certificate. + +Concurrent round31 was coordinated explicitly: it carries *existing* SCALEs +through stage A/B with a time-varying diagonal and consolidates them at stage +boundaries. This package fixes every existing SCALE and inserts two new inverse +boundary scales for one helper across all phases. Neither result asserts that +the two savings compose. Earlier rounds22 butterflies,23 cell minimum,25 dirt +span coverage,26 commuting frame barrier and29 Clifford transition rank have +different mechanisms and obligations. + +The exact mandatory source inventory uses LF-normalized text hashes and exact +binary/archive bytes. Archive member hashes bind original gzip containers, not +recompressed equivalents. Candidate hashes use sorted-key canonical JSON with +integer/list schema. Frozen selection and exact base are context; verification +does not require the mutable selected-result pointer still to select PR1094. diff --git a/research/k8-temporal-menu-composition/inputs/engine/engine.py b/research/k8-temporal-menu-composition/inputs/engine/engine.py new file mode 100644 index 0000000000..33c0db7fe7 --- /dev/null +++ b/research/k8-temporal-menu-composition/inputs/engine/engine.py @@ -0,0 +1,209 @@ +"""One-helper dyadic basis search. @woklerx with OpenAI Codex, Apache-2.0. + +Retained copy-init lowering: Sagar Thakrar's complex-dyadic-lowering/lower.py; +original Horner vocabulary: icekylinx PR425/433/531, Jeremy Kothe PR622. +""" +from collections import Counter, defaultdict +from fractions import Fraction as Q +import copy, gzip, hashlib, json, tarfile +from pathlib import Path + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +BASE = 'ce7ad1b6ab09452c3478723a2e96ed5ff212dc08' +ARCHIVE = 'research/community-frontier1042-audit/selected-replay.tar.gz' +REQUIRED = frozenset([ + ARCHIVE, 'research/community-frontier1042-audit/RESULT.json', + 'research/community-frontier1094-audit/selected-replay.tar.gz', + 'research/community-frontier1094-audit/RESULT.json', + 'research/community-frontier1094-audit/ASSEMBLY.json', + 'docs/research/community-batch1099-review.md', + 'scripts/verify_frontier1094.py', + 'research/complex-dyadic-lowering/lower.py', + 'research/complex-dyadic-lowering/README.md', + 'research/gauge44-slots/code/invoice_allcold.py', + 'research/gauge44-slots/independent/audit_local.py']) +MEMBERS = ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz', + 'INDEPENDENT-LOCAL-REPLAY.json','LOCAL-CHECKS.json') + +def require(value, message): + if not value: raise ValueError(message) + +def canonical(value): + return json.dumps(json.loads(json.dumps(value)), sort_keys=True, + separators=(',', ':'), allow_nan=False).encode() + +def digest(data): return hashlib.sha256(data).hexdigest() +def pin(path): + b = path.read_bytes() + return digest(b if path.name.endswith('.gz') else b.replace(b'\r\n',b'\n')) + +def check_sources(manifest=None): + m = manifest if manifest is not None else json.loads((HERE/'SOURCES.json').read_bytes()) + require(m['base'] == BASE and set(m['files']) == REQUIRED, 'source inventory') + require(set(m['archive_members'])=={'slots/local/'+n for n in MEMBERS},'archive member inventory') + for p,d in m['files'].items(): require(pin(ROOT/p)==d, 'source pin '+p) + selected=json.loads((HERE/'BASE-SELECTED.json').read_bytes()) + require(digest(canonical(selected))==m['selected_snapshot_sha256'],'selected snapshot') + require(selected['kappa']=='836330098538459/500000000000000000','selected kappa') + old=json.loads((ROOT/'research/community-frontier1042-audit/RESULT.json').read_bytes()) + current=json.loads((ROOT/'research/community-frontier1094-audit/RESULT.json').read_bytes()) + require(current['baseline_receipt_sha256']==digest((ROOT/'research/community-frontier1042-audit/RESULT.json').read_bytes()),'selected baseline receipt') + require(old['status']=='PASS_COMPLETE_PR1042_COMPOSITION' and current['status']=='PASS_COMPLETE_PR1094_COMPOSITION','selected receipt statuses') + return m + +def load(): + m=check_sources(); objs={} + with tarfile.open(ROOT/ARCHIVE) as t: + for n in MEMBERS: + name='slots/local/'+n; raw=t.extractfile(name).read() + require(digest(raw)==m['archive_members'][name], 'archive member '+name) + objs[n]=json.loads(gzip.decompress(raw) if n.endswith('.gz') else raw) + w=objs[MEMBERS[0]]; programs=objs[MEMBERS[1]]; receipt=objs[MEMBERS[2]] + require(set(m['archive_members'])=={'slots/local/'+n for n in MEMBERS},'archive member inventory') + with tarfile.open(ROOT/'research/community-frontier1094-audit/selected-replay.tar.gz') as t: + for n in MEMBERS: + raw=t.extractfile('candidate/strict/global8/base/providers/gauge44/'+n).read() + require(digest(raw)==m['archive_members']['slots/local/'+n],'selected1094 provider alias '+n) + require((w['v'],w['h'],w['R'])==(112,9,480),'source dimensions') + require(receipt['canonical_word_sha256']==m['archive_members']['slots/local/'+MEMBERS[0]] and receipt['local_programs_sha256']==m['archive_members']['slots/local/'+MEMBERS[1]],'native receipt artifact binding') + require(set(programs)=={'forward','backward'},'orientations') + return w,programs,receipt,objs[MEMBERS[3]] + +def power(k): return Q(2**k) if k>=0 else Q(1,2**-k) + +def parts(q): + a=abs(q.numerator);d=q.denominator + require(a and d&(d-1)==0,'nonzero dyadic') + v=(a&-a).bit_length()-1 + return a>>v, v-(d.bit_length()-1) + +def price(q, mode='copy-init'): + p,e=parts(q) + return 3+(p.bit_length()-1)+p.bit_count()+abs(e) if mode=='horner' else 2+(p.bit_length()-1)+p.bit_count()+abs(e)-int(p==1 and e==0) + +def cost(g,mode='copy-init'): + if g[0]=='add':return price(Q(g[3],g[4]),mode) + if g[0] in ('copy','clear'):return 1 + require(g[0]=='scale','scalar opcode') + q=Q(g[2],g[3]);p,e=parts(q);require(p==1,'power of two scale') + return abs(e)+int(q<0) + +def domain(w,programs): + excluded=set(w['centers']) & set(range(224,704)) + for events in programs.values(): + for ev in events: + if ev[0]=='scalar' and ev[1][0] in ('copy','clear'): + for r in ev[1][1:]: + if isinstance(r,list) and r[0]=='L' and 224<=r[1]<704:excluded.add(r[1]) + return sorted(set(range(224,704))-excluded),sorted(excluded) + +def search(events,helpers,mode='copy-init'): + terms=defaultdict(list) + for ev in events: + if ev[0]=='scalar' and ev[1][0]=='add': + g=ev[1];p,e=parts(Q(g[3],g[4])) + for r,s in ((g[1],1),(g[2],-1)): + if r[0]=='L':terms[r[1]].append((p,e,s)) + rows=[] + for h in helpers: + ts=terms[h]; points=sorted({0}|{-s*e for p,e,s in ts}) + def delta(k): + return 2*abs(k)+sum(abs(e+s*k)-abs(e) - (int(p==1 and e+s*k==0)-int(p==1 and e==0) if mode=='copy-init' else 0) for p,e,s in ts) + values=[[k,delta(k)] for k in points] + best=min(values,key=lambda kv:(kv[1],abs(kv[0]),kv[0])) + rows.append(dict(helper=h,incident_adds=len(ts),candidates=values,best_k=best[0],delta=best[1],tail_slope=2+len(ts))) + return rows + +def transform(events,w,h,k): + require(224<=h<704 and h not in w['centers'],'non-center helper only') + result=copy.deepcopy(events) + for ev in result: + if ev[0]!='scalar':continue + g=ev[1] + if g[0]=='add': + shift=k*(int(g[1]==['L',h])-int(g[2]==['L',h])) + q=Q(g[3],g[4])*power(shift);g[3:5]=[q.numerator,q.denominator] + elif g[0] in ('copy','clear'): + require(['L',h] not in g[1:],'copy/clear carrier excluded') + q=power(k); entry=['scalar',['scale',['L',h],q.numerator,q.denominator],w['start'][h]] + q=1/q; leave=['scalar',['scale',['L',h],q.numerator,q.denominator],w['final'][h]] + # The materialized winner is cold/FULL and has no residual wrapper. The + # exit scale follows full-frame cleanup, in the retained FULL coordinate. + require(w['start'][h]==0 and w['final'][h]==1,'materialized cold/FULL helper') + require(not any(e[0]=='residual_adapter' and e[2]==h for e in result),'unwrapped helper') + require(result[0]==['phase','zero_frame_precondition'] and result[-1]==['phase','done'],'boundary phases') + result.insert(len(result)-1,leave);result.insert(1,entry) + require([e for e in result if e[0]!='scalar']==[e for e in events if e[0]!='scalar'],'nonscalar stream preserved') + return result + +def replay(events,orientation): + # Independent formal variables for all 704 data/helper and 8 centre registers. + rows={('L',i):{i:Q(1)} for i in range(704)} + rows.update({('C',i):{704+i:Q(1)} for i in range(8)}) + for ev in events: + if ev[0]!='scalar':continue + g=ev[1];t=tuple(g[1]);tag=g[0] + if tag=='clear':rows[t]={} + elif tag=='copy':rows[t]=dict(rows[tuple(g[2])]) + elif tag=='scale':rows[t]={i:a*Q(g[2],g[3]) for i,a in rows[t].items()} + elif tag=='add': + s=tuple(g[2]);q=Q(g[3],g[4]);require(t!=s,'distinct add operands') + for i,a in rows[s].items(): + v=rows[t].get(i,Q(0))+q*a + if v:rows[t][i]=v + else:rows[t].pop(i,None) + else:raise ValueError('scalar opcode') + for i in range(704): + expected={i:Q(1)} + if orientation=='forward' and 112<=i<224:expected[i-112]=Q(1) + if orientation=='backward' and i<112:expected[i+112]=Q(-1) + require(rows['L',i]==expected,'all-column endpoint '+str((orientation,i))) + require(all(not rows['C',i] for i in range(8)),'private centre erased') + return dict(formal_input_columns=712,data_helper_columns=704,dirty_helper_columns=480,centre_columns=8,all_restored=True) + +def invoice(events,mode): + env={('L',i):Q(1) for i in range(704)} + env.update({('C',i):Q(1) for i in range(8)}) + peak=Q(1);count=0;paid=Counter() + for ev in events: + if ev[0]=='climb':paid[ev[5]]+=1 + elif ev[0]=='center':paid[ev[4]]+=1 + if ev[0]!='scalar':continue + g=ev[1];tag=g[0];t=tuple(g[1]);count+=cost(g,mode) + if tag=='clear':env[t]=Q(0) + elif tag=='copy':env[t]=env[tuple(g[2])] + elif tag=='scale': + q=Q(g[2],g[3]);env[t]*=abs(q) + else: + s=tuple(g[2]);q=Q(g[3],g[4]);a=abs(q.numerator) + # Integer Horner work grows to |numerator| times source before halving. + # Copy-init has the same bound; unit direct-add does not touch W until clear. + if mode=='horner' or abs(q)!=1:peak=max(peak,a*env[s]) + env[t]+=abs(q)*env[s] + peak=max(peak,env[t]) + bits=peak.numerator.bit_length()-peak.denominator.bit_length()+1 + require(peak<2**192,'local 192-bit payload cap') + return dict(real_primitives=count,complex_primitives=2*count,prefix_l1=str(peak),prefix_bits=bits,charged_payload_bits=192,paid_profile=dict(sorted(paid.items()))) + +def compute(): + w,programs,receipt,checks=load();helpers,excluded=domain(w,programs) + result=dict(base=BASE,geometry=dict(v=112,h=9,R=480),helpers=helpers,excluded_center_or_copy_helpers=excluded,orientations={}) + candidates={} + for orientation in ('forward','backward'): + events=programs[orientation];rows=search(events,helpers) + winner=min(rows,key=lambda row:(row['delta'],row['helper'],abs(row['best_k']),row['best_k'])) + h,k=winner['helper'],winner['best_k'];candidate=transform(events,w,h,k);candidates[orientation]=candidate + entry={ 'optima':rows,'winner':winner,'candidate_sha256':digest(canonical(candidate)), + 'boundary_frames':[w['start'][h],w['final'][h]],'baseline_endpoint':replay(events,orientation),'candidate_endpoint':replay(candidate,orientation),'prices':{}} + for mode in ('horner','copy-init'): + before=invoice(events,mode);after=invoice(candidate,mode) + require(before['paid_profile']==after['paid_profile'],'paid children unchanged') + if mode=='horner': + require(before['prefix_l1']==receipt['local'][orientation]['prefix_l1_upper'],'source prefix invoice') + require(before['complex_primitives']==checks[orientation]['real_component_primitive_bound'],'source primitive invoice') + else:require(after['real_primitives']-before['real_primitives']==winner['delta'],'search vs whole stream cost') + entry['prices'][mode]=dict(before=before,after=after,saving_real=before['real_primitives']-after['real_primitives'],saving_complex=before['complex_primitives']-after['complex_primitives']) + result['orientations'][orientation]=entry + result['status']='PASS_EXACT_UNBOUNDED_SINGLE_NONCENTER_HELPER_DYADIC_GAUGE' + return result,candidates diff --git a/research/k8-temporal-menu-composition/inputs/pr1369/CERTIFICATE.json b/research/k8-temporal-menu-composition/inputs/pr1369/CERTIFICATE.json new file mode 100644 index 0000000000..e6f45a1e40 --- /dev/null +++ b/research/k8-temporal-menu-composition/inputs/pr1369/CERTIFICATE.json @@ -0,0 +1 @@ +{"assignment_seed":25,"base_commit":"bce54fb3f895cbe5cd4c0eb477c3afeed100190f","domain":{"eligible_helpers":237,"orientation":["forward","backward"],"scan_order":[444,446,447,469,478,479,491,503,507,514,515,519,542,272,288,348,359,381,440],"schedule_values":"all integers, reduced to the exact breakpoint interval","static_gauged_helpers":218,"zero_static_helpers":[272,288,348,359,381,440,444,446,447,469,478,479,491,503,507,514,515,519,542]},"orientations":{"backward":{"baseline_static_invoice":{"charged_payload_bits":192,"complex_primitives":136018,"paid_profile":{"1":2412,"2":418,"3":432,"4":142,"5":82,"8":8},"prefix_bits":68,"prefix_l1":"14824960514781440791821/64","real_primitives":68009},"candidate_invoice":{"charged_payload_bits":192,"complex_primitives":135534,"paid_profile":{"1":2412,"2":418,"3":432,"4":142,"5":82,"8":8},"prefix_bits":68,"prefix_l1":"14824960514781440791821/64","real_primitives":67767},"candidate_sha256":"e13994779e6697ecc2137b802bdea828152696a70bab84e3605b6848048ada5c","formal_endpoint":{"all_restored":true,"centre_columns":8,"data_helper_columns":704,"dirty_helper_columns":480,"formal_input_columns":712},"helpers":[{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-14,"domain":[-2,1],"edge_evaluations":452,"helper":444,"incident_adds":29,"transition_scale_macros":2},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-26,"domain":[-2,1],"edge_evaluations":708,"helper":446,"incident_adds":45,"transition_scale_macros":10},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-45,"domain":[-2,1],"edge_evaluations":948,"helper":447,"incident_adds":60,"transition_scale_macros":11},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-22,"domain":[-2,2],"edge_evaluations":755,"helper":469,"incident_adds":31,"transition_scale_macros":8},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-14,"domain":[-2,1],"edge_evaluations":372,"helper":478,"incident_adds":24,"transition_scale_macros":5},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-17,"domain":[-2,13],"edge_evaluations":8720,"helper":479,"incident_adds":35,"transition_scale_macros":8},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-14,"domain":[-2,2],"edge_evaluations":705,"helper":491,"incident_adds":29,"transition_scale_macros":6},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-13,"domain":[-1,3],"edge_evaluations":655,"helper":503,"incident_adds":27,"transition_scale_macros":6},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-24,"domain":[-1,1],"edge_evaluations":282,"helper":507,"incident_adds":32,"transition_scale_macros":4},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-19,"domain":[-1,2],"edge_evaluations":404,"helper":514,"incident_adds":26,"transition_scale_macros":8},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-15,"domain":[-1,2],"edge_evaluations":436,"helper":515,"incident_adds":28,"transition_scale_macros":8},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-30,"domain":[-1,1],"edge_evaluations":291,"helper":519,"incident_adds":33,"transition_scale_macros":6},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-28,"domain":[-1,1],"edge_evaluations":273,"helper":542,"incident_adds":31,"transition_scale_macros":4},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-112,"domain":[-3,3],"edge_evaluations":4907,"helper":272,"incident_adds":101,"transition_scale_macros":21},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-116,"domain":[-1,3],"edge_evaluations":2330,"helper":288,"incident_adds":94,"transition_scale_macros":20},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-161,"domain":[-4,3],"edge_evaluations":7944,"helper":348,"incident_adds":125,"transition_scale_macros":21},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-242,"domain":[-7,3],"edge_evaluations":17677,"helper":359,"incident_adds":147,"transition_scale_macros":33},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-47,"domain":[-2,2],"edge_evaluations":1555,"helper":381,"incident_adds":63,"transition_scale_macros":11},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-14,"domain":[-1,1],"edge_evaluations":246,"helper":440,"incident_adds":28,"transition_scale_macros":2}],"helpers_checked":19,"omitted_transition_scale_rejected":true,"saving_complex_vs_original":13484,"saving_complex_vs_pr1263":484,"winner":359,"winner_delta_real":-242,"winner_domain":[-7,3],"winner_edge_evaluations":17677,"winner_incident_adds":147,"winner_schedule":[[1597,2],[1643,2],[1688,2],[1756,2],[1818,2],[1888,2],[1952,2],[2018,2],[2482,2],[2555,2],[2620,2],[2694,2],[2768,2],[2839,2],[2904,2],[2978,2],[3756,2],[4079,2],[4199,2],[4370,2],[5191,2],[5262,2],[5335,2],[5410,2],[5483,2],[5554,2],[5621,2],[5695,2],[6176,2],[6255,2],[6335,2],[6413,2],[9095,1],[9155,1],[9159,1],[9160,1],[9161,1],[9162,1],[9163,1],[9164,0],[9165,0],[9168,1],[9169,1],[9170,1],[9172,2],[9173,2],[9174,2],[9191,2],[9205,1],[9219,0],[11371,0],[11442,2],[11443,2],[11454,0],[14457,0],[14796,0],[15117,0],[15746,1],[15747,1],[15753,1],[19458,1],[19472,2],[19527,2],[19545,2],[19557,3],[19561,3],[23684,3],[24235,3],[24243,3],[24263,-7],[24264,-7],[24265,-3],[24266,-3],[24267,-3],[24268,-2],[24269,-2],[24270,-2],[24271,-2],[24272,-2],[24273,-2],[24274,-2],[24275,-2],[24276,-3],[24277,-4],[24278,-4],[24279,-4],[24280,-3],[24281,-3],[24282,-3],[24283,-4],[24284,-4],[24285,-4],[24286,-1],[24287,0],[24288,0],[24289,0],[24290,0],[24291,0],[24292,0],[24293,0],[24294,0],[24295,0],[24296,0],[24297,0],[24298,0],[24299,0],[24300,0],[24301,0],[24302,0],[24303,0],[24304,-4],[24305,-4],[24306,-2],[24307,-2],[24308,-1],[24309,-1],[24310,-1],[24311,-1],[24312,-1],[24313,-1],[24314,-3],[24315,-3],[24316,-3],[24317,-1],[24318,-1],[24319,-1],[24320,0],[24321,0],[24322,0],[24323,0],[24324,-1],[24325,-1],[24326,0],[24327,0],[24328,0],[24329,-4],[24330,-4],[24331,-4],[24332,-4],[24333,-4],[24334,-3],[24335,-3],[24336,-3],[24337,1],[24338,1],[24374,1],[24653,1]],"winner_transition_scale_macros":33,"winner_transition_scale_work":62},"forward":{"baseline_static_invoice":{"charged_payload_bits":192,"complex_primitives":136002,"paid_profile":{"1":2412,"2":418,"3":432,"4":142,"5":82,"8":8},"prefix_bits":52,"prefix_l1":"2765345294379392599/1024","real_primitives":68001},"candidate_invoice":{"charged_payload_bits":192,"complex_primitives":135518,"paid_profile":{"1":2412,"2":418,"3":432,"4":142,"5":82,"8":8},"prefix_bits":52,"prefix_l1":"2765345294379392599/1024","real_primitives":67759},"candidate_sha256":"4dd186f72172c5b55bbdf53131b4b7e88e4157502e569d80adbcdf17620cccce","formal_endpoint":{"all_restored":true,"centre_columns":8,"data_helper_columns":704,"dirty_helper_columns":480,"formal_input_columns":712},"helpers":[{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-14,"domain":[-1,2],"edge_evaluations":452,"helper":444,"incident_adds":29,"transition_scale_macros":2},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-26,"domain":[-1,2],"edge_evaluations":708,"helper":446,"incident_adds":45,"transition_scale_macros":10},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-45,"domain":[-1,2],"edge_evaluations":948,"helper":447,"incident_adds":60,"transition_scale_macros":11},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-22,"domain":[-2,2],"edge_evaluations":755,"helper":469,"incident_adds":31,"transition_scale_macros":8},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-14,"domain":[-1,2],"edge_evaluations":372,"helper":478,"incident_adds":24,"transition_scale_macros":5},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-17,"domain":[-13,2],"edge_evaluations":8720,"helper":479,"incident_adds":35,"transition_scale_macros":8},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-14,"domain":[-2,2],"edge_evaluations":705,"helper":491,"incident_adds":29,"transition_scale_macros":6},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-13,"domain":[-3,1],"edge_evaluations":655,"helper":503,"incident_adds":27,"transition_scale_macros":6},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-24,"domain":[-1,1],"edge_evaluations":282,"helper":507,"incident_adds":32,"transition_scale_macros":4},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-19,"domain":[-2,1],"edge_evaluations":404,"helper":514,"incident_adds":26,"transition_scale_macros":8},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-15,"domain":[-2,1],"edge_evaluations":436,"helper":515,"incident_adds":28,"transition_scale_macros":8},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-30,"domain":[-1,1],"edge_evaluations":291,"helper":519,"incident_adds":33,"transition_scale_macros":6},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-28,"domain":[-1,1],"edge_evaluations":273,"helper":542,"incident_adds":31,"transition_scale_macros":4},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-112,"domain":[-3,3],"edge_evaluations":4907,"helper":272,"incident_adds":101,"transition_scale_macros":21},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-116,"domain":[-3,1],"edge_evaluations":2330,"helper":288,"incident_adds":94,"transition_scale_macros":20},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-161,"domain":[-3,4],"edge_evaluations":7944,"helper":348,"incident_adds":125,"transition_scale_macros":21},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-242,"domain":[-3,7],"edge_evaluations":17677,"helper":359,"incident_adds":147,"transition_scale_macros":33},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-47,"domain":[-2,2],"edge_evaluations":1555,"helper":381,"incident_adds":63,"transition_scale_macros":11},{"best_constant_delta_real":0,"best_constant_exponent":0,"best_delta_real":-14,"domain":[-1,1],"edge_evaluations":246,"helper":440,"incident_adds":28,"transition_scale_macros":2}],"helpers_checked":19,"omitted_transition_scale_rejected":true,"saving_complex_vs_original":13484,"saving_complex_vs_pr1263":484,"winner":359,"winner_delta_real":-242,"winner_domain":[-3,7],"winner_edge_evaluations":17677,"winner_incident_adds":147,"winner_schedule":[[1597,-2],[1643,-2],[1688,-2],[1756,-2],[1818,-2],[1888,-2],[1952,-2],[2018,-2],[2482,-2],[2555,-2],[2620,-2],[2694,-2],[2768,-2],[2839,-2],[2904,-2],[2978,-2],[3756,-2],[4079,-2],[4199,-2],[4370,-2],[5191,-2],[5262,-2],[5335,-2],[5410,-2],[5483,-2],[5554,-2],[5621,-2],[5695,-2],[6176,-2],[6255,-2],[6335,-2],[6413,-2],[9095,-1],[9155,-1],[9159,-1],[9160,-1],[9161,-1],[9162,-1],[9163,-1],[9164,0],[9165,0],[9168,-1],[9169,-1],[9170,-1],[9172,-2],[9173,-2],[9174,-2],[9191,-2],[9205,-1],[9219,0],[11371,0],[11442,-2],[11443,-2],[11454,0],[14457,0],[14796,0],[15117,0],[15746,-1],[15747,-1],[15753,-1],[19458,-1],[19472,-2],[19527,-2],[19545,-2],[19557,-3],[19561,-3],[23684,-3],[24235,-3],[24243,-3],[24263,7],[24264,7],[24265,3],[24266,3],[24267,3],[24268,2],[24269,2],[24270,2],[24271,2],[24272,2],[24273,2],[24274,2],[24275,2],[24276,3],[24277,4],[24278,4],[24279,4],[24280,3],[24281,3],[24282,3],[24283,4],[24284,4],[24285,4],[24286,1],[24287,0],[24288,0],[24289,0],[24290,0],[24291,0],[24292,0],[24293,0],[24294,0],[24295,0],[24296,0],[24297,0],[24298,0],[24299,0],[24300,0],[24301,0],[24302,0],[24303,0],[24304,4],[24305,4],[24306,2],[24307,2],[24308,1],[24309,1],[24310,1],[24311,1],[24312,1],[24313,1],[24314,3],[24315,3],[24316,3],[24317,1],[24318,1],[24319,1],[24320,0],[24321,0],[24322,0],[24323,0],[24324,1],[24325,1],[24326,0],[24327,0],[24328,0],[24329,4],[24330,4],[24331,4],[24332,4],[24333,4],[24334,3],[24335,3],[24336,3],[24337,-1],[24338,-1],[24374,-1],[24653,-1]],"winner_transition_scale_macros":33,"winner_transition_scale_work":62}},"predecessors":{"pr1259_head":"61367611154266a982fe25e1a6243a8aad77227d","pr1263_head":"5fbaca13028846bddbb001e8e07addc2ab8e5816"},"selected_certificate_sha256":"1122cb3a575f8c788345fc1bf4c108ac7c3250fb81a5988671f5eb04b3ab3045","selected_kappa":"836330098538459/500000000000000000","status":"PASS_ZERO_STATIC_TEMPORAL_CENSUS","track":"complex supplier"} diff --git a/research/k8-temporal-menu-composition/inputs/pr1369/NOTICE.md b/research/k8-temporal-menu-composition/inputs/pr1369/NOTICE.md new file mode 100644 index 0000000000..db9f141479 --- /dev/null +++ b/research/k8-temporal-menu-composition/inputs/pr1369/NOTICE.md @@ -0,0 +1,9 @@ +# Notices + +New work in this package is offered under the repository's Apache-2.0 license. + +The files under `vendor/pr1263/` and `vendor/pr1259/` are retained verbatim from the pinned predecessor work and are identified by exact commit, Git blob, and SHA-256 pins in `DEPENDENCIES.json`. Do not remove their original attribution or license notices when reusing them. + +This contribution builds on Philipp / @mightyOil's PR1263 218-helper construction; Sagar Thakrar's PR1259 temporal-gauge search and PR696 copy-initialization lowerer; and the selected PR1094 supplier lineage. Concurrent PR1350 (L253) and PR1353 (L248) study nonzero-static coordinates; they are complementary scope and are not computational dependencies here. + +Prepared by Cinna Davis / @1337isnot1337 with substantial OpenAI Codex assistance. No independent human review is claimed. diff --git a/research/k8-temporal-menu-composition/inputs/pr1369/independent.py b/research/k8-temporal-menu-composition/inputs/pr1369/independent.py new file mode 100644 index 0000000000..415083a91a --- /dev/null +++ b/research/k8-temporal-menu-composition/inputs/pr1369/independent.py @@ -0,0 +1,145 @@ +"""Exact one-coordinate temporal gauge pricing for a frozen scalar word.""" + +from fractions import Fraction + + +def need(ok, message): + if not ok: + raise ValueError(message) + + +def dyadic_parts(value): + value = Fraction(value) + numerator, denominator = abs(value.numerator), value.denominator + need(numerator > 0 and denominator & (denominator - 1) == 0, + "coefficient must be a nonzero dyadic") + trailing = (numerator & -numerator).bit_length() - 1 + return numerator >> trailing, trailing - (denominator.bit_length() - 1) + + +def add_price(value): + odd, exponent = dyadic_parts(value) + return 1 + odd.bit_length() + odd.bit_count() + abs(exponent) - int(odd == 1 and exponent == 0) + + +def two_power(exponent): + return Fraction(2 ** exponent, 1) if exponent >= 0 else Fraction(1, 2 ** -exponent) + + +def incident_adds(events, helper): + found = [] + for index, event in enumerate(events): + if event[0] != "scalar" or event[1][0] != "add": + continue + op = event[1] + sign = int(op[1] == ["L", helper]) - int(op[2] == ["L", helper]) + if sign: + found.append((index, Fraction(op[3], op[4]), sign)) + need(bool(found), "eligible helper has no incident ADD") + return found + + +def objective(terms, schedule): + need(len(terms) == len(schedule), "complete schedule length") + previous = 0 + result = 0 + for (_, coefficient, sign), exponent in zip(terms, schedule): + result += abs(exponent - previous) + result += add_price(coefficient * two_power(sign * exponent)) - add_price(coefficient) + previous = exponent + return result + abs(previous) + + +def optimize(terms): + """Minimize over Z^m by exact DP and a proved finite interval clamp.""" + breakpoints = [0] + for _, coefficient, sign in terms: + _, exponent = dyadic_parts(coefficient) + breakpoints.append(-sign * exponent) + low, high = min(breakpoints), max(breakpoints) + domain = range(low, high + 1) + + # State values include deterministic tie breakers after the exact cost. + states = {0: (0, 0, 0, ())} + edge_evaluations = 0 + for _, coefficient, sign in terms: + following = {} + for exponent in domain: + add_delta = add_price(coefficient * two_power(sign * exponent)) - add_price(coefficient) + choices = [] + for previous, value in states.items(): + edge_evaluations += 1 + choices.append((value[0] + abs(exponent - previous) + add_delta, + value[1] + int(exponent != previous), + value[2] + abs(exponent), + value[3] + (exponent,))) + following[exponent] = min(choices) + states = following + + complete = [(value[0] + abs(last), value[1] + int(last != 0), value[2], value[3]) + for last, value in states.items()] + best = min(complete) + constant = min((2 * abs(exponent) + sum( + add_price(coefficient * two_power(sign * exponent)) - add_price(coefficient) + for _, coefficient, sign in terms), int(exponent != 0), abs(exponent), exponent) + for exponent in domain) + + schedule = tuple(best[3]) + need(objective(terms, schedule) == best[0], "DP receipt recomputes") + return { + "domain": [low, high], + "domain_size": high - low + 1, + "incident_adds": len(terms), + "edge_evaluations": edge_evaluations, + "delta_real": best[0], + "transition_scale_macros": best[1], + "schedule_l1": best[2], + "constant_delta_real": constant[0], + "constant_exponent": constant[3], + "schedule": schedule, + } + + +def transform(events, helper, indexed_schedule): + """Insert every gauge transition and conjugate each incident ADD exactly.""" + terms = incident_adds(events, helper) + indices = [index for index, _, _ in terms] + need([index for index, _ in indexed_schedule] == indices, + "schedule covers every chronological incident ADD exactly once") + need(all(type(exponent) is int for _, exponent in indexed_schedule), "integer exponents") + need(events[-1] == ["phase", "done"], "word has terminal cleanup boundary") + + exponent_at = dict(indexed_schedule) + result, previous = [], 0 + inserted = [] + for index, source_event in enumerate(events): + event = [source_event[0], list(source_event[1]), *source_event[2:]] if source_event[0] == "scalar" else list(source_event) + if index in exponent_at: + current = exponent_at[index] + if current != previous: + change = current - previous + scale = two_power(change) + pulse = ["scalar", ["scale", ["L", helper], scale.numerator, scale.denominator], event[2]] + output_index = len(result) + result.append(pulse) + inserted.append([index, change, event[2], output_index]) + op = event[1] + sign = int(op[1] == ["L", helper]) - int(op[2] == ["L", helper]) + coefficient = Fraction(op[3], op[4]) * two_power(sign * current) + op[3], op[4] = coefficient.numerator, coefficient.denominator + previous = current + if index == len(events) - 1 and previous: + scale = two_power(-previous) + pulse = ["scalar", ["scale", ["L", helper], scale.numerator, scale.denominator], 1] + output_index = len(result) + result.append(pulse) + inserted.append([index, -previous, 1, output_index]) + result.append(event) + return result, inserted + + +def exhaustive(terms, low, high): + """Tiny independent control used to compare the DP with direct enumeration.""" + import itertools + return min(objective(terms, schedule) + for schedule in itertools.product(range(low, high + 1), repeat=len(terms))) diff --git a/research/k8-temporal-menu-composition/inputs/pr1388/RESULT.json b/research/k8-temporal-menu-composition/inputs/pr1388/RESULT.json new file mode 100644 index 0000000000..72ad192f4f --- /dev/null +++ b/research/k8-temporal-menu-composition/inputs/pr1388/RESULT.json @@ -0,0 +1,759 @@ +{ + "status": "PASS_COMPLEX_TEMPORAL_PAIR", + "assignment_seed": 28, + "base_commit": "bce54fb3f895cbe5cd4c0eb477c3afeed100190f", + "selected_kappa_unchanged": "836330098538459/500000000000000000", + "predecessor_pr1369_head": "f28e1c460cd910886f9b06835abd6b1c96d2992f", + "zero_static_helper_count": 19, + "pair_search_domain": "all 171 unordered pairs of the 19 zero-static helpers; retain improving solo DPs active together on a shared ADD", + "qualifying_pairs_both_orientations": [ + [ + 348, + 359, + [ + 24336 + ] + ], + [ + 479, + 515, + [ + 18186 + ] + ] + ], + "seed_index": 0, + "selected_pair": [ + 348, + 359 + ], + "orientations": { + "forward": { + "helpers": [ + 348, + 359 + ], + "helper_schedules": { + "348": { + "domain": [ + -3, + 4 + ], + "schedule": [ + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -1, + -1, + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 0, + 0, + 3, + 3, + 3, + 3, + -1, + -1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 3, + 3, + 3, + 3, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0 + ], + "delta_real": -161, + "transition_scale_macros": 21 + }, + "359": { + "domain": [ + -3, + 7 + ], + "schedule": [ + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 0, + 0, + -1, + -1, + -1, + -2, + -2, + -2, + -2, + -1, + 0, + 0, + -2, + -2, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1, + -2, + -2, + -2, + -3, + -3, + -3, + -3, + -3, + 7, + 7, + 3, + 3, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 4, + 4, + 4, + 3, + 3, + 3, + 4, + 4, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 4, + 2, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 3, + 3, + 3, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 4, + 4, + 4, + 4, + 4, + 3, + 3, + 3, + -1, + -1, + -1, + -1 + ], + "delta_real": -242, + "transition_scale_macros": 33 + } + }, + "single_candidate_invoices": { + "348": { + "real_primitives": 67840, + "complex_primitives": 135680, + "charged_payload_bits": 192, + "prefix_bits": 52 + }, + "359": { + "real_primitives": 67759, + "complex_primitives": 135518, + "charged_payload_bits": 192, + "prefix_bits": 52 + } + }, + "shared_add": { + "index": 24336, + "coefficient": [ + -8, + 1 + ], + "signs": [ + 1, + -1 + ], + "exponents": [ + -1, + 3 + ], + "separate_real_add_deltas": [ + -1, + -4 + ], + "combined_real_add_delta": -2, + "cross_correction_real": 3 + }, + "static_invoice": { + "real_primitives": 68001, + "complex_primitives": 136002, + "charged_payload_bits": 192, + "prefix_bits": 52 + }, + "candidate_invoice": { + "real_primitives": 67601, + "complex_primitives": 135202, + "charged_payload_bits": 192, + "prefix_bits": 52 + }, + "joint_real_delta": -400, + "complex_saving_vs_PR1263": 800, + "complex_saving_vs_PR1094": 13800, + "scale_macros": 54, + "input_event_count": 25203, + "candidate_event_count": 25257, + "non_scalar_events_unchanged": true, + "all_712_columns_equal": true, + "candidate_sha256": "0de2a28179de44c05f5240f626ee5a3e930cd4c59ee5590e3a3dc363d2faf189", + "endpoint_sha256": "a5cdcf515e10c601d029da7924b1abad8942bfd3b4eeee8685d836740c489565", + "controls": { + "zero_schedule_identity": "passed", + "missing_L348_transition_scale": "rejected", + "missing_L359_shared_coefficient": "rejected" + } + }, + "backward": { + "helpers": [ + 348, + 359 + ], + "helper_schedules": { + "348": { + "domain": [ + -4, + 3 + ], + "schedule": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + -3, + -3, + -3, + -3, + 1, + 1, + -1, + -1, + -1, + -1, + -1, + 0, + 0, + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + -3, + -3, + -3, + -3, + 0, + 0, + 0, + -1, + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -1, + -1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0 + ], + "delta_real": -161, + "transition_scale_macros": 21 + }, + "359": { + "domain": [ + -7, + 3 + ], + "schedule": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 2, + 2, + 2, + 2, + 1, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 2, + 2, + 2, + 3, + 3, + 3, + 3, + 3, + -7, + -7, + -3, + -3, + -3, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -2, + -3, + -4, + -4, + -4, + -3, + -3, + -3, + -4, + -4, + -4, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -4, + -4, + -2, + -2, + -1, + -1, + -1, + -1, + -1, + -1, + -3, + -3, + -3, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + -1, + -1, + 0, + 0, + 0, + -4, + -4, + -4, + -4, + -4, + -3, + -3, + -3, + 1, + 1, + 1, + 1 + ], + "delta_real": -242, + "transition_scale_macros": 33 + } + }, + "single_candidate_invoices": { + "348": { + "real_primitives": 67848, + "complex_primitives": 135696, + "charged_payload_bits": 192, + "prefix_bits": 68 + }, + "359": { + "real_primitives": 67767, + "complex_primitives": 135534, + "charged_payload_bits": 192, + "prefix_bits": 68 + } + }, + "shared_add": { + "index": 24336, + "coefficient": [ + 8, + 1 + ], + "signs": [ + -1, + 1 + ], + "exponents": [ + 1, + -3 + ], + "separate_real_add_deltas": [ + -1, + -4 + ], + "combined_real_add_delta": -2, + "cross_correction_real": 3 + }, + "static_invoice": { + "real_primitives": 68009, + "complex_primitives": 136018, + "charged_payload_bits": 192, + "prefix_bits": 68 + }, + "candidate_invoice": { + "real_primitives": 67609, + "complex_primitives": 135218, + "charged_payload_bits": 192, + "prefix_bits": 68 + }, + "joint_real_delta": -400, + "complex_saving_vs_PR1263": 800, + "complex_saving_vs_PR1094": 13800, + "scale_macros": 54, + "input_event_count": 25203, + "candidate_event_count": 25257, + "non_scalar_events_unchanged": true, + "all_712_columns_equal": true, + "candidate_sha256": "7ec92f12a16dc9b69fc579c034bffc0ee5d7c161632bc8562d70b835d0c52da2", + "endpoint_sha256": "a5cdcf515e10c601d029da7924b1abad8942bfd3b4eeee8685d836740c489565", + "controls": { + "zero_schedule_identity": "passed", + "missing_L348_transition_scale": "rejected", + "missing_L359_shared_coefficient": "rejected" + } + } + }, + "no_joint_optimality_claim": true, + "no_new_kappa": true, + "scope": "Feasible composition of two exact single-coordinate minima on a pinned shared-ADD pair; no two-coordinate optimum, supplier admission, or paid-profile change." +} diff --git a/research/k8-temporal-menu-composition/inputs/pr1388/vendor/pr1369/vendor/pr1263/GAUGES.json b/research/k8-temporal-menu-composition/inputs/pr1388/vendor/pr1369/vendor/pr1263/GAUGES.json new file mode 100644 index 0000000000..6bd3ef7e0e --- /dev/null +++ b/research/k8-temporal-menu-composition/inputs/pr1388/vendor/pr1369/vendor/pr1263/GAUGES.json @@ -0,0 +1,442 @@ +{ + "forward": { + "225": -1, + "226": -1, + "227": -1, + "228": -1, + "229": -1, + "230": -1, + "231": -1, + "232": -1, + "233": -1, + "234": -1, + "235": -1, + "236": -1, + "237": -1, + "238": -1, + "239": -1, + "241": -1, + "242": -1, + "243": -1, + "244": -2, + "245": -1, + "246": -1, + "247": -1, + "248": -2, + "249": -1, + "250": -1, + "251": -2, + "252": -1, + "253": -1, + "254": -1, + "255": -1, + "257": -1, + "258": -1, + "259": -1, + "260": -2, + "261": -2, + "262": -2, + "263": -2, + "264": -2, + "265": -2, + "266": -2, + "267": -1, + "268": -2, + "269": -2, + "270": -2, + "271": -1, + "274": -2, + "276": -2, + "278": -2, + "279": -2, + "280": -1, + "281": -1, + "283": -1, + "284": -2, + "285": -1, + "286": -1, + "287": -1, + "290": -2, + "292": -2, + "294": -2, + "295": -2, + "296": -1, + "297": -1, + "299": -1, + "300": -2, + "301": -1, + "302": -1, + "303": -1, + "304": -1, + "306": -2, + "308": -2, + "310": -2, + "312": -2, + "313": -1, + "315": -1, + "316": -2, + "317": -1, + "318": -2, + "319": -1, + "320": -2, + "322": -2, + "324": -2, + "326": -2, + "328": -1, + "329": -1, + "331": -1, + "332": -2, + "333": -1, + "334": -1, + "335": -1, + "336": -2, + "338": -2, + "340": -2, + "342": -1, + "343": -1, + "344": -1, + "345": -1, + "347": -1, + "349": -1, + "350": -1, + "351": -1, + "352": -2, + "354": -1, + "356": -2, + "358": -2, + "360": -1, + "361": -1, + "363": -1, + "364": -2, + "365": -1, + "366": -1, + "367": -1, + "368": -2, + "370": -2, + "372": -2, + "374": -2, + "375": -2, + "376": -1, + "377": -1, + "379": -1, + "380": -2, + "382": -1, + "383": -1, + "384": -2, + "386": -2, + "388": -2, + "390": -2, + "391": -2, + "392": -1, + "393": -1, + "395": -1, + "396": -2, + "397": -1, + "398": -2, + "399": -1, + "400": -1, + "401": -2, + "402": -2, + "403": -2, + "404": -2, + "405": -2, + "406": -2, + "407": -2, + "408": -2, + "409": -1, + "410": -2, + "411": -2, + "412": -2, + "413": -2, + "414": -1, + "415": -1, + "416": -1, + "417": -2, + "418": -2, + "419": -2, + "420": -2, + "421": -2, + "422": -2, + "423": -2, + "424": -2, + "425": -1, + "426": -2, + "427": -2, + "428": -2, + "429": -2, + "430": -2, + "431": -1, + "432": -1, + "433": -1, + "434": -1, + "435": -1, + "436": -1, + "437": -1, + "438": -1, + "439": -1, + "441": -1, + "442": -1, + "443": -1, + "445": -1, + "456": -2, + "457": -2, + "458": -2, + "459": -2, + "460": -1, + "461": -1, + "462": -1, + "463": -1, + "464": -2, + "465": -2, + "466": -2, + "467": -2, + "468": -1, + "470": -1, + "471": -1, + "480": -1, + "481": -1, + "482": -1, + "483": -1, + "490": -1, + "492": -1, + "493": -1, + "494": -1, + "495": -1, + "499": -2, + "502": -1, + "504": -1, + "505": -1, + "511": -2, + "516": -1, + "517": -1, + "530": -1, + "546": -2, + "547": -2, + "548": -2, + "549": -2, + "558": -2, + "560": -2, + "568": -2, + "570": -2 + }, + "backward": { + "225": 1, + "226": 1, + "227": 1, + "228": 1, + "229": 1, + "230": 1, + "231": 1, + "232": 1, + "233": 1, + "234": 1, + "235": 1, + "236": 1, + "237": 1, + "238": 1, + "239": 1, + "241": 1, + "242": 1, + "243": 1, + "244": 2, + "245": 1, + "246": 1, + "247": 1, + "248": 2, + "249": 1, + "250": 1, + "251": 2, + "252": 1, + "253": 1, + "254": 1, + "255": 1, + "257": 1, + "258": 1, + "259": 1, + "260": 2, + "261": 2, + "262": 2, + "263": 2, + "264": 2, + "265": 2, + "266": 2, + "267": 1, + "268": 2, + "269": 2, + "270": 2, + "271": 1, + "274": 2, + "276": 2, + "278": 2, + "279": 2, + "280": 1, + "281": 1, + "283": 1, + "284": 2, + "285": 1, + "286": 1, + "287": 1, + "290": 2, + "292": 2, + "294": 2, + "295": 2, + "296": 1, + "297": 1, + "299": 1, + "300": 2, + "301": 1, + "302": 1, + "303": 1, + "304": 1, + "306": 2, + "308": 2, + "310": 2, + "312": 2, + "313": 1, + "315": 1, + "316": 2, + "317": 1, + "318": 2, + "319": 1, + "320": 2, + "322": 2, + "324": 2, + "326": 2, + "328": 1, + "329": 1, + "331": 1, + "332": 2, + "333": 1, + "334": 1, + "335": 1, + "336": 2, + "338": 2, + "340": 2, + "342": 1, + "343": 1, + "344": 1, + "345": 1, + "347": 1, + "349": 1, + "350": 1, + "351": 1, + "352": 2, + "354": 1, + "356": 2, + "358": 2, + "360": 1, + "361": 1, + "363": 1, + "364": 2, + "365": 1, + "366": 1, + "367": 1, + "368": 2, + "370": 2, + "372": 2, + "374": 2, + "375": 2, + "376": 1, + "377": 1, + "379": 1, + "380": 2, + "382": 1, + "383": 1, + "384": 2, + "386": 2, + "388": 2, + "390": 2, + "391": 2, + "392": 1, + "393": 1, + "395": 1, + "396": 2, + "397": 1, + "398": 2, + "399": 1, + "400": 1, + "401": 2, + "402": 2, + "403": 2, + "404": 2, + "405": 2, + "406": 2, + "407": 2, + "408": 2, + "409": 1, + "410": 2, + "411": 2, + "412": 2, + "413": 2, + "414": 1, + "415": 1, + "416": 1, + "417": 2, + "418": 2, + "419": 2, + "420": 2, + "421": 2, + "422": 2, + "423": 2, + "424": 2, + "425": 1, + "426": 2, + "427": 2, + "428": 2, + "429": 2, + "430": 2, + "431": 1, + "432": 1, + "433": 1, + "434": 1, + "435": 1, + "436": 1, + "437": 1, + "438": 1, + "439": 1, + "441": 1, + "442": 1, + "443": 1, + "445": 1, + "456": 2, + "457": 2, + "458": 2, + "459": 2, + "460": 1, + "461": 1, + "462": 1, + "463": 1, + "464": 2, + "465": 2, + "466": 2, + "467": 2, + "468": 1, + "470": 1, + "471": 1, + "480": 1, + "481": 1, + "482": 1, + "483": 1, + "490": 1, + "492": 1, + "493": 1, + "494": 1, + "495": 1, + "499": 2, + "502": 1, + "504": 1, + "505": 1, + "511": 2, + "516": 1, + "517": 1, + "530": 1, + "546": 2, + "547": 2, + "548": 2, + "549": 2, + "558": 2, + "560": 2, + "568": 2, + "570": 2 + } +} diff --git a/research/k8-temporal-menu-composition/inputs/pr1388/vendor/pr1369/vendor/pr1263/verify.py b/research/k8-temporal-menu-composition/inputs/pr1388/vendor/pr1369/vendor/pr1263/verify.py new file mode 100644 index 0000000000..c688f72435 --- /dev/null +++ b/research/k8-temporal-menu-composition/inputs/pr1388/vendor/pr1369/vendor/pr1263/verify.py @@ -0,0 +1,207 @@ +"""Many-coordinate k8 diagonal gauges; Philipp / GPT-6 Astra, Apache-2.0. + +Reuses the byte-identical attributed PR1161 loader, scalar replay and invoice. +The joint objective and bounded discovery are new; no global optimum is claimed. +""" +import copy +import hashlib +import importlib.util +import json +from pathlib import Path +import random +import sys + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] + + +def need(value, message): + if not value: + raise ValueError(message) + + +def canonical(value): + return json.dumps(value, sort_keys=True, separators=(',', ':'), allow_nan=False).encode() + + +def sha(data): + return hashlib.sha256(data).hexdigest() + + +def engine(): + pins = json.loads((HERE / 'PREDECESSORS.json').read_bytes()) + expected_vendor = {'engine.py', 'SOURCES.json', 'BASE-SELECTED.json', 'PROVENANCE.md', 'PROOF.md'} + need(set(pins['vendor']) == {'vendor/pr1161/' + name for name in expected_vendor}, 'complete vendor inventory') + need(pins['pr1161_head'] == 'd210969d3158a1e6c505e41f67dd84e555c88564', 'PR1161 head') + need(pins['pr1214_head'] == '26162c56ec9c50a80e49949f36d4dd9a137a76a6', 'PR1214 head') + for path, digest in pins['vendor'].items(): + need(sha((HERE / path).read_bytes()) == digest, 'vendor pin ' + path) + spec = importlib.util.spec_from_file_location('credited_pr1161', HERE / 'vendor/pr1161/engine.py') + lib = importlib.util.module_from_spec(spec) + spec.loader.exec_module(lib) + lib.ROOT = ROOT + return lib + + +def domain(lib, word, programs): + helpers, _ = lib.domain(word, programs) + wrapped = {event[2] for stream in programs.values() for event in stream + if event[0] == 'residual_adapter'} + result = [h for h in helpers if word['start'][h] == 0 and word['final'][h] == 1 + and h not in wrapped] + need(len(result) == 237, '237 eligible helpers') + return result + + +def terms_from(lib, events, helpers): + allowed = set(helpers) + terms = [] + for event in events: + if event[0] != 'scalar' or event[1][0] != 'add': + continue + gate = event[1] + p, exponent = lib.parts(lib.Q(gate[3], gate[4])) + target, source = [r[1] if r[0] == 'L' and r[1] in allowed else -1 for r in gate[1:3]] + if target != -1 or source != -1: + need(target != source, 'distinct eligible ADD operands') + terms.append((p == 1, exponent, target, source)) + return terms + + +def f(unit, exponent): + return abs(exponent) - int(unit and exponent == 0) + + +def objective(terms, gauges): + return 2 * sum(abs(k) for k in gauges.values()) + sum( + f(u, e + gauges.get(t, 0) - gauges.get(s, 0)) - f(u, e) for u, e, t, s in terms) + + +def coordinate_candidates(terms, gauges, helper): + incident = [term for term in terms if helper in term[2:]] + points = {0, gauges.get(helper, 0)} | { + gauges.get(s, 0) - e if t == helper else gauges.get(t, 0) + e + for _, e, t, s in incident} + + def cost(value): + return 2 * abs(value) + sum(f(u, e + (value if t == helper else gauges.get(t, 0)) + - (value if s == helper else gauges.get(s, 0))) + for u, e, t, s in incident) + return sorted((k, cost(k)) for k in points) + + +def discover(terms, helpers): + """Four deterministic restarts, at most 50 complete sweeps per restart.""" + rng = random.Random(29) + incident = {h: [term for term in terms if h in term[2:]] for h in helpers} + records = [] + best = None + for restart in range(4): + gauges = {h: 0 if restart == 0 else rng.randint(-2, 2) for h in helpers} + trace = [] + for sweep in range(50): + order = helpers.copy() + rng.shuffle(order) + changes = 0 + for helper in order: + points = coordinate_candidates(incident[helper], gauges, helper) + chosen, value = min(points, key=lambda row: (row[1], abs(row[0]), row[0])) + old = dict(points)[gauges[helper]] + if value < old: + gauges[helper] = chosen + changes += 1 + trace.append([sweep, changes, objective(terms, gauges)]) + if changes == 0: + break + need(trace[-1][1] == 0, 'discovery completed before stopping cap') + record = {'restart': restart, 'delta_real': objective(terms, gauges), 'trace': trace, + 'gauges': {str(h): k for h, k in gauges.items() if k}} + records.append(record) + if best is None or record['delta_real'] < best['delta_real']: + best = record + return {'seed': 29, 'restarts': records, 'chosen_restart': best['restart']}, best['gauges'] + + +def transform(lib, word, events, gauges): + result = copy.deepcopy(events) + for event in result: + if event[0] != 'scalar': + continue + gate = event[1] + if gate[0] == 'add': + shift = sum(sign * gauges.get(r[1], 0) for sign, r in zip((1, -1), gate[1:3]) if r[0] == 'L') + q = lib.Q(gate[3], gate[4]) * lib.power(shift) + gate[3:5] = [q.numerator, q.denominator] + elif gate[0] in ('copy', 'clear'): + need(not any(isinstance(r, list) and r[0] == 'L' and r[1] in gauges for r in gate[1:]), + 'no gauge on COPY/clear register') + entry, exit_events = [], [] + for helper, k in sorted(gauges.items()): + need(224 <= helper < 704 and helper not in word['centers'], 'helper domain') + need(word['start'][helper] == 0 and word['final'][helper] == 1, 'cold/FULL helper') + need(not any(e[0] == 'residual_adapter' and e[2] == helper for e in events), 'unwrapped helper') + q = lib.power(k) + entry.append(['scalar', ['scale', ['L', helper], q.numerator, q.denominator], 0]) + exit_events.append(['scalar', ['scale', ['L', helper], q.denominator, q.numerator], 1]) + need(result[0] == ['phase', 'zero_frame_precondition'] and result[-1] == ['phase', 'done'], 'phases') + return result[:1] + entry + result[1:-1] + exit_events + result[-1:] + + +def compute(): + lib = engine() + word, programs, _, _ = lib.load() + helpers = domain(lib, word, programs) + gauges_raw = json.loads((HERE / 'GAUGES.json').read_bytes()) + need(set(gauges_raw) == {'forward', 'backward'}, 'gauge orientations') + forward_terms = terms_from(lib, programs['forward'], helpers) + discovery, discovered = discover(forward_terms, helpers) + need(discovered == gauges_raw['forward'], 'frozen forward gauges match bounded discovery') + need({h: -k for h, k in discovered.items()} == gauges_raw['backward'], 'inverse gauges') + certificate = {'seed': 29, 'base': 'dadfea6e8a78ff6ba901705f87532a71c6f5bbb8', + 'eligible_helpers': helpers, 'discovery': discovery, 'orientations': {}} + candidates = {} + for orientation in ('forward', 'backward'): + events = programs[orientation] + gauges = {int(h): k for h, k in gauges_raw[orientation].items()} + need(set(gauges) <= set(helpers) and all(type(k) is int and k != 0 for k in gauges.values()), 'gauge domain') + candidate = transform(lib, word, events, gauges) + need([e for e in events if e[0] != 'scalar'] == [e for e in candidate if e[0] != 'scalar'], 'paid event identity') + terms = terms_from(lib, events, helpers) + rows = [] + for h in helpers: + points = coordinate_candidates(terms, gauges, h) + old = dict(points)[gauges.get(h, 0)] + need(min(value for _, value in points) == old, 'coordinate stationary') + rows.append([h, points]) + before = lib.invoice(events, 'copy-init') + after = lib.invoice(candidate, 'copy-init') + need(after['real_primitives'] - before['real_primitives'] == objective(terms, gauges), 'complete invoice delta') + need(before['paid_profile'] == after['paid_profile'], 'paid profile equality') + certificate['orientations'][orientation] = { + 'support': len(gauges), 'boundary_real_primitives': 2 * sum(abs(k) for k in gauges.values()), + 'delta_real': objective(terms, gauges), 'baseline': before, 'candidate': after, + 'saving_complex': before['complex_primitives'] - after['complex_primitives'], + 'candidate_sha256': sha(canonical(candidate)), 'coordinate_checks': rows, + 'baseline_endpoint': lib.replay(events, orientation), 'candidate_endpoint': lib.replay(candidate, orientation), + 'horner_saving_complex': lib.invoice(events, 'horner')['complex_primitives'] - lib.invoice(candidate, 'horner')['complex_primitives']} + candidates[orientation] = candidate + certificate['status'] = 'PASS_MANY_HELPER_DYADIC_CONSTRUCTION' + return certificate, candidates + + +def main(): + result, _ = compute() + path = HERE / 'CERTIFICATE.json' + if '--write' in sys.argv: + need(not path.exists(), 'refusing to overwrite certificate') + path.write_bytes(canonical(result) + b'\n') + else: + need(canonical(result) == canonical(json.loads(path.read_bytes())), 'complete certificate equality') + print(result['status']) + for orientation, row in result['orientations'].items(): + print(orientation, 'support', row['support'], 'saving_complex', row['saving_complex'], + 'before', row['baseline']['complex_primitives'], 'after', row['candidate']['complex_primitives']) + + +if __name__ == '__main__': + main() diff --git a/research/k8-temporal-menu-composition/verify.py b/research/k8-temporal-menu-composition/verify.py new file mode 100644 index 0000000000..4e3104f856 --- /dev/null +++ b/research/k8-temporal-menu-composition/verify.py @@ -0,0 +1,278 @@ +"""Frozen-menu composition, no new exponent-domain or supplier search.""" +import argparse +import copy +import gzip +import hashlib +import importlib.util +import json +import sys +import tarfile +import tempfile +from pathlib import Path + +HERE = Path(__file__).resolve().parent +INPUT = HERE / 'inputs' + + +def need(ok, label): + if not ok: + raise ValueError(label) + + +def sha(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def load(name, path): + spec = importlib.util.spec_from_file_location(name, path) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + return module + + +def compose(events, schedules, independent, word): + current = {h: 0 for h in schedules} + out, pulses = [], [] + frames = dict(enumerate(word['start'])) + for index, original in enumerate(events): + event = copy.deepcopy(original) + for h in sorted(schedules): + if index in schedules[h]: + exponent = schedules[h][index] + change = exponent - current[h] + if change: + need(frames[h] == event[2], 'transition uses actual live frame') + q = independent.two_power(change) + pulse = ['scalar', ['scale', ['L', h], q.numerator, q.denominator], event[2]] + out.append(pulse) + pulses.append([index, h, change, event[2], len(out)-1]) + current[h] = exponent + if event[0] == 'scalar' and event[1][0] == 'add': + gate = event[1] + shift = sum(sign * current.get(r[1], 0) for sign, r in + zip((1, -1), gate[1:3]) if r[0] == 'L') + q = independent.Fraction(gate[3], gate[4]) * independent.two_power(shift) + gate[3:5] = [q.numerator, q.denominator] + if index == len(events) - 1: + need(event == ['phase', 'done'], 'terminal boundary') + for h in sorted(schedules): + if current[h]: + need(frames[h] == word['final'][h], 'restoration actual final frame') + q = independent.two_power(-current[h]) + out.append(['scalar', ['scale', ['L', h], q.numerator, q.denominator], word['final'][h]]) + pulses.append([index, h, -current[h], word['final'][h], len(out)-1]) + out.append(event) + if event[0] == 'climb': + need(frames[event[2]] == event[3], 'original live frame edge') + frames[event[2]] = event[4] + need([e for e in out if e[0] != 'scalar'] == + [e for e in events if e[0] != 'scalar'], 'nonscalar identity') + return out, pulses + + +def menu_census(single, cross): + # Gray order: exact 2^19 fixed subsets, not optimization of gauge paths. + n = len(single) + active, score = [False] * n, 0 + best_score, best_mask = 0, 0 + previous = 0 + for i in range(1, 1 << n): + mask = i ^ (i >> 1) + changed = mask ^ previous + j = changed.bit_length() - 1 + marginal = single[j] + sum(cross[j][k] for k in range(n) if active[k]) + score += -marginal if active[j] else marginal + active[j] = not active[j] + if (score, mask) < (best_score, best_mask): + best_score, best_mask = score, mask + previous = mask + return best_score, best_mask + + +def recurrence_census(single, cross): + n = len(single) + values = [0] * (1 << n) + best = (0, 0) + for mask in range(1, 1 << n): + bit = mask & -mask + i = bit.bit_length() - 1 + rest = mask ^ bit + total = values[rest] + single[i] + remaining = rest + while remaining: + next_bit = remaining & -remaining + j = next_bit.bit_length() - 1 + total += cross[i][j] + remaining ^= next_bit + values[mask] = total + best = min(best, (total, mask)) + return best + + +def run(output, upstream, exhaustive=False): + need(__debug__ and not sys.flags.optimize, 'assertions required') + pins = json.loads((HERE / 'MANIFEST.json').read_text())['files'] + for path, digest in pins.items(): + need(sha(HERE / path) == digest, 'package pin ' + path) + archive = upstream / 'research/community-frontier1094-audit/selected-replay.tar.gz' + need(sha(archive) == 'f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6', 'upstream archive pin') + blobs = {} + with tarfile.open(archive) as bundle: + for name, digest in json.loads((HERE / 'UPSTREAM.json').read_text())['members'].items(): + member = bundle.getmember(name) + need(member.isfile(), 'fixed regular archive member') + raw = bundle.extractfile(member).read() + need(hashlib.sha256(raw).hexdigest() == digest, 'upstream member pin') + blobs[Path(name).name] = json.loads(gzip.decompress(raw)) + lib = load('pinned_replay_invoice', INPUT / 'engine/engine.py') + independent = load('pinned_single_dp', INPUT / 'pr1369/independent.py') + parent = load('pinned_static_transform', INPUT / 'pr1388/vendor/pr1369/vendor/pr1263/verify.py') + word = blobs['CANONICAL-WORD.json.gz'] + programs = blobs['LOCAL-PROGRAMS.json.gz'] + gauges = json.loads((INPUT / 'pr1388/vendor/pr1369/vendor/pr1263/GAUGES.json').read_text()) + certificate = json.loads((INPUT / 'pr1369/CERTIFICATE.json').read_text()) + pair = json.loads((INPUT / 'pr1388/RESULT.json').read_text()) + menu = json.loads((HERE / 'MENU.json').read_text()) + expected = json.loads((HERE / 'EXPECTED.json').read_text()) + results = {} + for orientation in ('forward', 'backward'): + static = parent.transform(lib, word, programs[orientation], + {int(h): int(k) for h, k in gauges[orientation].items()}) + baseline = json.loads(json.dumps(lib.invoice(static, 'copy-init'))) + need(baseline == certificate['orientations'][orientation]['baseline_static_invoice'], + 'exact static baseline invoice') + rows = certificate['orientations'][orientation]['helpers'] + helpers = sorted(row['helper'] for row in rows) + need(len(helpers) == 19 and len(set(helpers)) == 19, 'exact19menu') + schedules, singles = {}, {} + for row in rows: + h = row['helper'] + need(str(h) not in gauges[orientation], 'zero static coordinate') + need(word['start'][h] == 0 and word['final'][h] == 1, 'cold FULL boundary') + need(not any(e[0] == 'residual_adapter' and e[2] == h for e in static), 'unwrapped') + need(not any(e[0] == 'scalar' and e[1][0] in ('copy', 'clear') and + ['L', h] in e[1][1:] for e in static), 'no COPY CLEAR') + terms = independent.incident_adds(static, h) + schedule = {int(i): k for i, k in menu[orientation][str(h)].items()} + need(set(schedule) == {t[0] for t in terms}, 'complete fixed-menu incident coverage') + need(all(type(k) is int and row['domain'][0] <= k <= row['domain'][1] + for k in schedule.values()), 'pinned exponent domain') + delta = independent.objective(terms, [schedule[t[0]] for t in terms]) + need(delta == row['best_delta_real'], 'pinned fixed-menu single objective') + schedules[h] = schedule + singles[h] = delta + cross = [[0] * 19 for _ in helpers] + interactions = [] + for index, e in enumerate(static): + if e[0] != 'scalar' or e[1][0] != 'add': + continue + g = e[1] + if g[1][0] != 'L' or g[2][0] != 'L': + continue + a, b = g[1][1], g[2][1] + if a not in schedules or b not in schedules: + continue + ka, kb = schedules[a][index], schedules[b][index] + q = lib.Q(g[3], g[4]) + correction = (lib.price(q * lib.power(ka-kb)) - lib.price(q * lib.power(ka)) + - lib.price(q * lib.power(-kb)) + lib.price(q)) + j, k = helpers.index(a), helpers.index(b) + cross[j][k] += correction + cross[k][j] += correction + interactions.append([index, a, b, ka, kb, correction]) + all19, all_pulses = compose(static, schedules, independent, word) + all_invoice = lib.invoice(all19, 'copy-init') + full_delta = sum(singles.values()) + sum(cross[i][j] for i in range(19) for j in range(i)) + need(all_invoice['real_primitives'] - baseline['real_primitives'] == full_delta, + 'quadratic full19 exact invoice') + marginal = {h: singles[h] + sum(max(0, c) for c in cross[j]) + for j, h in enumerate(helpers)} + need(all(bound < 0 for bound in marginal.values()), 'strict negative worst-case marginal') + best_delta, mask = full_delta, (1 << 19) - 1 + if exhaustive: + need((best_delta, mask) == menu_census([singles[h] for h in helpers], cross), + 'Gray fixed-menu oracle') + need((best_delta, mask) == recurrence_census([singles[h] for h in helpers], cross), + 'least-bit fixed-menu oracle') + chosen = [h for j, h in enumerate(helpers) if mask >> j & 1] + winner, pulses = compose(static, {h: schedules[h] for h in chosen}, independent, word) + invoice = lib.invoice(winner, 'copy-init') + need(invoice['real_primitives'] - baseline['real_primitives'] == best_delta, + 'winning subset exact invoice') + need({str(k): v for k, v in invoice['paid_profile'].items()} == + baseline['paid_profile'], 'paid profile equality') + need(invoice['charged_payload_bits'] == 192 and invoice['prefix_bits'] <= 192, 'payload') + endpoint = lib.replay(winner, orientation) + need(endpoint['formal_input_columns'] == 712, 'complete endpoint') + # Reproduce the strongest comparable published pair on this same menu. + pair_word, _ = compose(static, {h: schedules[h] for h in (348, 359)}, independent, word) + pair_invoice = lib.invoice(pair_word, 'copy-init') + expected_pair = pair['orientations'][orientation]['candidate_invoice'] + need({k: pair_invoice[k] for k in expected_pair} == expected_pair, 'PR1388pair exact') + need(compose(static, {h: {i: 0 for i in s} for h, s in schedules.items()}, independent, word)[0] + == static, 'zero menu identity control') + # Compare the formula against emitted words on both nonzero interactions. + sample = [helpers.index(h) for h in (348, 359, 479, 515)] + for small_mask in range(16): + selected = [i for j, i in enumerate(sample) if small_mask >> j & 1] + small_word, _ = compose(static, {helpers[i]: schedules[helpers[i]] + for i in selected}, independent, word) + actual = lib.invoice(small_word, 'copy-init')['real_primitives'] - baseline['real_primitives'] + predicted = sum(singles[helpers[i]] for i in selected) + sum( + cross[i][j] for i in selected for j in selected if j < i) + need(actual == predicted, 'four-helper subset direct invoice') + # Missing restoration must fail the formal-column endpoint predicate. + wrong = copy.deepcopy(winner) + need(bool(pulses), 'negative control inserted pulse exists') + source_index, helper, change, frame, output_index = pulses[-1] + q = independent.two_power(change) + expected_scale = ['scalar', ['scale', ['L', helper], q.numerator, q.denominator], frame] + need(wrong[output_index] == expected_scale, 'recorded inserted pulse exact SCALE') + del wrong[output_index] + rejected = False + try: + lib.replay(wrong, orientation) + except ValueError: + rejected = True + need(rejected, 'omitted transition endpoint rejected') + results[orientation] = {'helpers': helpers, 'schedules': schedules, 'single_real_deltas': singles, + 'shared_ADD_interactions': interactions, 'all19_invoice': all_invoice, + 'all19_delta_real': full_delta, 'exhaustive_subsets_checked': (1 << 19) if exhaustive else 0, + 'strict_marginal_bounds': marginal, + 'unique_fixed_menu_optimum': True, + 'fixed_menu_winning_helpers': chosen, 'winning_invoice': invoice, + 'winning_delta_real': best_delta, 'PR1388pair_invoice': pair_invoice, + 'strictly_better_than_PR1388pair': invoice['complex_primitives'] < pair_invoice['complex_primitives'], + 'all712_endpoint': endpoint, 'inserted_scales': pulses, + 'controls': {'zero_menu': True, 'four_helper_direct_invoices': 16, + 'omitted_transition': True}, + 'nonscalar_events_unchanged': True} + prior = expected['orientations'][orientation] + for field in ('all19_delta_real', 'winning_delta_real', 'winning_invoice', + 'all19_invoice', 'shared_ADD_interactions', 'fixed_menu_winning_helpers'): + need(json.loads(json.dumps(results[orientation][field])) == prior[field], + 'admitted result field ' + field) + for path, digest in pins.items(): + need(sha(HERE / path) == digest, 'postflight package pin ' + path) + need(sha(archive) == 'f1da80610bf33c58527f18ad63b4350d0b864e1d4486141ee17ac9bed4d529d6', 'postflight upstream archive') + output.write_text(json.dumps({'status': 'PASS_FIXED19_MENU_COMPOSITION', 'orientations': results, + 'scope': 'finite scalar fixed-menu optimum; no native/owner/adapter or kappa admission', + 'no_new_kappa': True}, indent=2) + '\n') + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--output', type=Path, help='fresh JSON file outside this package') + parser.add_argument('--upstream', type=Path, default=HERE.parents[1], + help='checkout containing the pinned archive (default: this repository)') + parser.add_argument('--exhaustive', action='store_true') + args = parser.parse_args() + if args.output is not None: + need(not args.output.exists(), 'fresh output') + need(HERE not in args.output.resolve().parents, 'output outside package') + run(args.output, args.upstream.resolve(), args.exhaustive) + else: + with tempfile.TemporaryDirectory(prefix='temporal-menu-') as temporary: + run(Path(temporary) / 'result.json', args.upstream.resolve(), args.exhaustive) + print('PASS_FIXED19_MENU_COMPOSITION: 134070/134086 complex primitives; ' + 'unique fixed-menu optimum; all 712 scalar columns per orientation')