Spaces:
Running
Running
Add 24 lossless BOS/REGER DSC2 results for current 135 datasets
Browse filesReuse 24 completed BOS/REGER dataset-method measurements with bit-exact DSC2 float scaling. Preserve historical rows and the latest main26 integer columns; retain full adapter and binary provenance. Update only the affected C++ results; BOS and REGER now have numeric results for all 135 datasets. Frozen 17-file release; server166 current v4 synchronized.
- DSC2_REUSE_INDEPENDENT_VERIFICATION.json +21 -0
- DSC2_REUSE_OVERLAY_RECEIPT.json +52 -0
- DSC2_REUSE_SITE_ACCEPTANCE.json +62 -0
- DSC2_REUSE_SITE_INTEGRATION.json +122 -0
- DSC2_REUSE_SOURCE_BINDINGS.json +35 -0
- README.md +4 -0
- app.js +4 -4
- build_dsc2_reuse_site.py +691 -0
- cpp-latest-view-main26.json.gz +2 -2
- data-main26.json.gz +2 -2
- dsc2-reuse-column-audit.jsonl.gz +3 -0
- dsc2-reuse-column-overlay.jsonl.gz +3 -0
- dsc2-reuse-dataset-method-overlay.jsonl.gz +3 -0
- dsc2-reuse-retained-integer-columns.jsonl.gz +3 -0
- index.html +1 -1
- manifest.json +127 -45
- ui-data.json +0 -0
DSC2_REUSE_INDEPENDENT_VERIFICATION.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"checks": {
|
| 3 |
+
"all_24_dataset_methods_complete": true,
|
| 4 |
+
"bos_reger_input_cohort_equal_per_dataset": true,
|
| 5 |
+
"composite_dataset_metrics_reproduced": true,
|
| 6 |
+
"dsc2_float_dataset_summary_reproduced": true,
|
| 7 |
+
"dsc2_summary_exactly_transcribed": true,
|
| 8 |
+
"exact_counts": true,
|
| 9 |
+
"retained_integer_rows_byte_semantics_unchanged": true,
|
| 10 |
+
"typed_words_excluded_from_point_denominator": true
|
| 11 |
+
},
|
| 12 |
+
"counts": {
|
| 13 |
+
"dataset_methods": 24,
|
| 14 |
+
"datasets": 12,
|
| 15 |
+
"replacement_column_methods": 616,
|
| 16 |
+
"retained_integer_column_methods": 176
|
| 17 |
+
},
|
| 18 |
+
"overlay_receipt_sha256": "ff1d11bb0d66ae33c7961c0534981ac6c0240974b6a29a30f9d752c700475f0e",
|
| 19 |
+
"schema": "cpp135-dsc2-overlay-independent-verification-v1",
|
| 20 |
+
"status": "passed"
|
| 21 |
+
}
|
DSC2_REUSE_OVERLAY_RECEIPT.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"aggregation": {
|
| 3 |
+
"compression_ratio_primary": "arithmetic mean of full-numeric column complete-frame/original-byte ratios",
|
| 4 |
+
"compression_ratio_secondary": "sum complete frame bytes / sum original native numeric bytes",
|
| 5 |
+
"timing_primary": "arithmetic mean of per-column median(aligned 3 sums)/valid native point count",
|
| 6 |
+
"timing_runs": "one warmup and three measured repeats per block, one thread"
|
| 7 |
+
},
|
| 8 |
+
"bitexact_proof": "CLI warmup and every measured decode compare complete original Block bit-exactly",
|
| 9 |
+
"created_epoch_ns": 1792062372231890000,
|
| 10 |
+
"dataset_count": 12,
|
| 11 |
+
"dataset_method_count": 24,
|
| 12 |
+
"dsc2_replacement_column_method_count": 616,
|
| 13 |
+
"files": {
|
| 14 |
+
"COLUMN_RESULTS.jsonl.gz": {
|
| 15 |
+
"bytes": 142163,
|
| 16 |
+
"sha256": "3be84e62791a7b6218e58d3d717f2ffd5b3c38e835a8b9f81cec7615237a7e8e"
|
| 17 |
+
},
|
| 18 |
+
"CONSISTENCY_REPORT.json": {
|
| 19 |
+
"bytes": 658,
|
| 20 |
+
"sha256": "a63767caf2081bcca9c952832e7dc008e7d9c711151854a5fe09eedd01e49ee0"
|
| 21 |
+
},
|
| 22 |
+
"DATASET_METHOD_RESULTS.jsonl.gz": {
|
| 23 |
+
"bytes": 6754,
|
| 24 |
+
"sha256": "b63ad6ac3e481202d53ea09b17a7c4f3bc340b5dc086b08f8e25cc798603d9db"
|
| 25 |
+
},
|
| 26 |
+
"DSC2_COLUMN_AUDIT.jsonl.gz": {
|
| 27 |
+
"bytes": 56678,
|
| 28 |
+
"sha256": "68f41f2addb0fb9c2dea0f6741e5c3d3fce568db3454d1d227faad7fb97fb029"
|
| 29 |
+
},
|
| 30 |
+
"RETAINED_INTEGER_COLUMNS.jsonl.gz": {
|
| 31 |
+
"bytes": 37767,
|
| 32 |
+
"sha256": "dc539e507ffd03b24d807cc0e69d3b3d86931231ffd6eecdb07686c95f5adbdd"
|
| 33 |
+
},
|
| 34 |
+
"SOURCE_BINDINGS.json": {
|
| 35 |
+
"bytes": 2676,
|
| 36 |
+
"sha256": "d73e349d3c500dda077012cb1a33375643df62c379fa9e4f611d5c4d8327f005"
|
| 37 |
+
}
|
| 38 |
+
},
|
| 39 |
+
"method_count": 2,
|
| 40 |
+
"metric_denominator": "original native numeric points from the unchanged main26 manifests; DSC2 integer_words is a typed backend word count and is excluded from compression and timing point denominators",
|
| 41 |
+
"original_partial_float_column_count": 178,
|
| 42 |
+
"publication_state": "not published; does not mutate COMPLETE_CURRENT or any baseline/writer",
|
| 43 |
+
"recovered_formerly_unsupported_block_method_count": 15780,
|
| 44 |
+
"retained_integer_column_method_count": 176,
|
| 45 |
+
"schema": "cpp135-dsc2-overlay-receipt-v1",
|
| 46 |
+
"source_bindings_sha256": "d73e349d3c500dda077012cb1a33375643df62c379fa9e4f611d5c4d8327f005",
|
| 47 |
+
"status": "complete_local_overlay_not_published_not_current",
|
| 48 |
+
"support_state_counts": {
|
| 49 |
+
"full_numeric": 24
|
| 50 |
+
},
|
| 51 |
+
"total_composite_column_method_count": 792
|
| 52 |
+
}
|
DSC2_REUSE_SITE_ACCEPTANCE.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"composite_route": "successful main26 integer columns retained; DSC2 v2 float columns replace old partial float columns; all binaries, terminals, profiles and sources remain explicit sets",
|
| 3 |
+
"created_at": "2026-10-15T13:52:04.195000+00:00",
|
| 4 |
+
"independent_compact_verification_sha256": "3c4c8a705cb26f53e922378508b38c92909396fadc84582a2ff22582d38857c9",
|
| 5 |
+
"lossless": "producer warmup and each measured decode compare the complete original Block bit-exactly",
|
| 6 |
+
"metric_denominator": "original valid native points; typed DSC2 integer_words is evidence only",
|
| 7 |
+
"overlay_receipt_sha256": "ff1d11bb0d66ae33c7961c0534981ac6c0240974b6a29a30f9d752c700475f0e",
|
| 8 |
+
"parent_revision": "c7aeab66168050289ce9332afb62f2e339a1c7bb",
|
| 9 |
+
"public_evidence": {
|
| 10 |
+
"DSC2_REUSE_INDEPENDENT_VERIFICATION.json": {
|
| 11 |
+
"bytes": 739,
|
| 12 |
+
"sha256": "3c4c8a705cb26f53e922378508b38c92909396fadc84582a2ff22582d38857c9"
|
| 13 |
+
},
|
| 14 |
+
"DSC2_REUSE_OVERLAY_RECEIPT.json": {
|
| 15 |
+
"bytes": 2358,
|
| 16 |
+
"sha256": "ff1d11bb0d66ae33c7961c0534981ac6c0240974b6a29a30f9d752c700475f0e"
|
| 17 |
+
},
|
| 18 |
+
"DSC2_REUSE_SOURCE_BINDINGS.json": {
|
| 19 |
+
"bytes": 2676,
|
| 20 |
+
"sha256": "d73e349d3c500dda077012cb1a33375643df62c379fa9e4f611d5c4d8327f005"
|
| 21 |
+
},
|
| 22 |
+
"dsc2-reuse-column-audit.jsonl.gz": {
|
| 23 |
+
"bytes": 56678,
|
| 24 |
+
"sha256": "68f41f2addb0fb9c2dea0f6741e5c3d3fce568db3454d1d227faad7fb97fb029"
|
| 25 |
+
},
|
| 26 |
+
"dsc2-reuse-column-overlay.jsonl.gz": {
|
| 27 |
+
"bytes": 142163,
|
| 28 |
+
"sha256": "3be84e62791a7b6218e58d3d717f2ffd5b3c38e835a8b9f81cec7615237a7e8e"
|
| 29 |
+
},
|
| 30 |
+
"dsc2-reuse-dataset-method-overlay.jsonl.gz": {
|
| 31 |
+
"bytes": 6754,
|
| 32 |
+
"sha256": "b63ad6ac3e481202d53ea09b17a7c4f3bc340b5dc086b08f8e25cc798603d9db"
|
| 33 |
+
},
|
| 34 |
+
"dsc2-reuse-retained-integer-columns.jsonl.gz": {
|
| 35 |
+
"bytes": 37767,
|
| 36 |
+
"sha256": "dc539e507ffd03b24d807cc0e69d3b3d86931231ffd6eecdb07686c95f5adbdd"
|
| 37 |
+
}
|
| 38 |
+
},
|
| 39 |
+
"schema": "compressionbenchmark-cpp135-dsc2-reuse-site-acceptance-v1",
|
| 40 |
+
"scope": {
|
| 41 |
+
"dataset_count": 12,
|
| 42 |
+
"float_column_method_count": 616,
|
| 43 |
+
"method_count": 2,
|
| 44 |
+
"methods": [
|
| 45 |
+
"BOS",
|
| 46 |
+
"REGER"
|
| 47 |
+
],
|
| 48 |
+
"numeric_scope_row_count": 60,
|
| 49 |
+
"pair_count": 24,
|
| 50 |
+
"retained_integer_column_method_count": 176
|
| 51 |
+
},
|
| 52 |
+
"status": "accepted_completed_builtin_bitexact",
|
| 53 |
+
"timing": {
|
| 54 |
+
"aggregation": "equal-column mean of median(aligned block sums)/valid native points",
|
| 55 |
+
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 56 |
+
"cross_host_mixing": false,
|
| 57 |
+
"host": "192.168.99.20",
|
| 58 |
+
"precision": "charged once per float method-column",
|
| 59 |
+
"schedule": "one warmup; three encode measurements; then three decode measurements",
|
| 60 |
+
"threads": 1
|
| 61 |
+
}
|
| 62 |
+
}
|
DSC2_REUSE_SITE_INTEGRATION.json
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"created_at": "2026-10-15T13:52:14.243249+00:00",
|
| 3 |
+
"files": {
|
| 4 |
+
"DSC2_REUSE_INDEPENDENT_VERIFICATION.json": {
|
| 5 |
+
"bytes": 739,
|
| 6 |
+
"sha256": "3c4c8a705cb26f53e922378508b38c92909396fadc84582a2ff22582d38857c9"
|
| 7 |
+
},
|
| 8 |
+
"DSC2_REUSE_OVERLAY_RECEIPT.json": {
|
| 9 |
+
"bytes": 2358,
|
| 10 |
+
"sha256": "ff1d11bb0d66ae33c7961c0534981ac6c0240974b6a29a30f9d752c700475f0e"
|
| 11 |
+
},
|
| 12 |
+
"DSC2_REUSE_SITE_ACCEPTANCE.json": {
|
| 13 |
+
"bytes": 2649,
|
| 14 |
+
"sha256": "64968f6dd5b8402a7fc5e6416d02b4c462dea496ce0cd4e6dac391218632331f"
|
| 15 |
+
},
|
| 16 |
+
"DSC2_REUSE_SOURCE_BINDINGS.json": {
|
| 17 |
+
"bytes": 2676,
|
| 18 |
+
"sha256": "d73e349d3c500dda077012cb1a33375643df62c379fa9e4f611d5c4d8327f005"
|
| 19 |
+
},
|
| 20 |
+
"README.md": {
|
| 21 |
+
"bytes": 4756,
|
| 22 |
+
"sha256": "d2a22110babcae4e416c07984c93546ab29b862676f253e481afc0ac2acc6b60"
|
| 23 |
+
},
|
| 24 |
+
"app.js": {
|
| 25 |
+
"bytes": 69469,
|
| 26 |
+
"sha256": "79f86219dab7eb2eddc3672d6886839e4db6f0ba5afde9925e525f577c2fbd11"
|
| 27 |
+
},
|
| 28 |
+
"build_dsc2_reuse_site.py": {
|
| 29 |
+
"bytes": 38589,
|
| 30 |
+
"sha256": "9d5a3a8e2db84f94bde4236f4c7ba4855f53b31db703c3178fda1f25f7a2bf78"
|
| 31 |
+
},
|
| 32 |
+
"cpp-latest-view-main26.json.gz": {
|
| 33 |
+
"bytes": 851074,
|
| 34 |
+
"sha256": "5069bbcb955fa3ea9b12eb1b8771500eb712d01ed529f9fbec0103b2f906fa9b"
|
| 35 |
+
},
|
| 36 |
+
"data-main26.json.gz": {
|
| 37 |
+
"bytes": 10056008,
|
| 38 |
+
"sha256": "1325c3fc08c93cedd8f8714662690fb09586c7460e4110a88a0148544df639b8"
|
| 39 |
+
},
|
| 40 |
+
"dsc2-reuse-column-audit.jsonl.gz": {
|
| 41 |
+
"bytes": 56678,
|
| 42 |
+
"sha256": "68f41f2addb0fb9c2dea0f6741e5c3d3fce568db3454d1d227faad7fb97fb029"
|
| 43 |
+
},
|
| 44 |
+
"dsc2-reuse-column-overlay.jsonl.gz": {
|
| 45 |
+
"bytes": 142163,
|
| 46 |
+
"sha256": "3be84e62791a7b6218e58d3d717f2ffd5b3c38e835a8b9f81cec7615237a7e8e"
|
| 47 |
+
},
|
| 48 |
+
"dsc2-reuse-dataset-method-overlay.jsonl.gz": {
|
| 49 |
+
"bytes": 6754,
|
| 50 |
+
"sha256": "b63ad6ac3e481202d53ea09b17a7c4f3bc340b5dc086b08f8e25cc798603d9db"
|
| 51 |
+
},
|
| 52 |
+
"dsc2-reuse-retained-integer-columns.jsonl.gz": {
|
| 53 |
+
"bytes": 37767,
|
| 54 |
+
"sha256": "dc539e507ffd03b24d807cc0e69d3b3d86931231ffd6eecdb07686c95f5adbdd"
|
| 55 |
+
},
|
| 56 |
+
"index.html": {
|
| 57 |
+
"bytes": 17820,
|
| 58 |
+
"sha256": "7af57432ae7fb892ece2e7e9b452204795e4fd5431e292a26e96ff9cb64c50a4"
|
| 59 |
+
},
|
| 60 |
+
"manifest.json": {
|
| 61 |
+
"bytes": 99777,
|
| 62 |
+
"sha256": "93ddbee464262b049bc0676d88eaa691e579d093616a29cb7028506b34f8faff"
|
| 63 |
+
},
|
| 64 |
+
"ui-data.json": {
|
| 65 |
+
"bytes": 9711250,
|
| 66 |
+
"sha256": "8a1f02ce7e55e68f464a7daec6dab8a8c1a12fd632d5b351bb0d4474522570ae"
|
| 67 |
+
}
|
| 68 |
+
},
|
| 69 |
+
"final_dataset_result_count": 99068,
|
| 70 |
+
"historical_dataset_result_count": 99008,
|
| 71 |
+
"historical_dataset_results_canonical_sha256": "cbd272987fc3d8b08a3e0fc3541a70165ff303704d989e596a1b0be9cebbc822",
|
| 72 |
+
"new_dataset_result_count": 60,
|
| 73 |
+
"parent_revision": "c7aeab66168050289ce9332afb62f2e339a1c7bb",
|
| 74 |
+
"publication_file_list": [
|
| 75 |
+
"data-main26.json.gz",
|
| 76 |
+
"ui-data.json",
|
| 77 |
+
"cpp-latest-view-main26.json.gz",
|
| 78 |
+
"app.js",
|
| 79 |
+
"index.html",
|
| 80 |
+
"README.md",
|
| 81 |
+
"manifest.json",
|
| 82 |
+
"dsc2-reuse-column-overlay.jsonl.gz",
|
| 83 |
+
"dsc2-reuse-dataset-method-overlay.jsonl.gz",
|
| 84 |
+
"dsc2-reuse-retained-integer-columns.jsonl.gz",
|
| 85 |
+
"dsc2-reuse-column-audit.jsonl.gz",
|
| 86 |
+
"DSC2_REUSE_OVERLAY_RECEIPT.json",
|
| 87 |
+
"DSC2_REUSE_SOURCE_BINDINGS.json",
|
| 88 |
+
"DSC2_REUSE_INDEPENDENT_VERIFICATION.json",
|
| 89 |
+
"DSC2_REUSE_SITE_ACCEPTANCE.json",
|
| 90 |
+
"build_dsc2_reuse_site.py",
|
| 91 |
+
"DSC2_REUSE_SITE_INTEGRATION.json"
|
| 92 |
+
],
|
| 93 |
+
"schema": "compressionbenchmark-cpp135-dsc2-reuse-site-integration-v3",
|
| 94 |
+
"scope": {
|
| 95 |
+
"dataset_count": 12,
|
| 96 |
+
"method_count": 2,
|
| 97 |
+
"numeric_scope_rows": 60,
|
| 98 |
+
"pair_count": 24
|
| 99 |
+
},
|
| 100 |
+
"semantic_checks": {
|
| 101 |
+
"all_historical_dataset_rows_retained_in_canonical_order": true,
|
| 102 |
+
"bitexact_decode_evidence_bound": true,
|
| 103 |
+
"composite_scalar_binary_is_null_and_binary_set_is_complete": true,
|
| 104 |
+
"data_ui_sidecar_hash_closure": true,
|
| 105 |
+
"dsc2_route_and_binary_provenance_remains_explicit": true,
|
| 106 |
+
"exact_60_new_numeric_scope_rows_appended": true,
|
| 107 |
+
"main26_3510_import_not_replayed": true,
|
| 108 |
+
"main26_and_dsc2_same_actual_timing_contract": true,
|
| 109 |
+
"only_exact_24_latest_cpp_pair_decisions_replaced": true,
|
| 110 |
+
"ranking_js_unchanged": true,
|
| 111 |
+
"same_host_no_cross_host_timing": true,
|
| 112 |
+
"successful_176_integer_column_routes_retained": true,
|
| 113 |
+
"w1_r3_t1_three_encode_then_three_decode": true
|
| 114 |
+
},
|
| 115 |
+
"status": "passed_not_published",
|
| 116 |
+
"transport": {
|
| 117 |
+
"data_gzip_sha256": "1325c3fc08c93cedd8f8714662690fb09586c7460e4110a88a0148544df639b8",
|
| 118 |
+
"data_uncompressed_sha256": "39b017fab9ee25ca7758f678d30212ed21d4e8c138de2161daa0b33b530dd376",
|
| 119 |
+
"sidecar_gzip_sha256": "5069bbcb955fa3ea9b12eb1b8771500eb712d01ed529f9fbec0103b2f906fa9b",
|
| 120 |
+
"sidecar_uncompressed_sha256": "6a083b73b72dd7b93a2cb84bedf852c2df3ee025d0be104c2a1552cdd184dc80"
|
| 121 |
+
}
|
| 122 |
+
}
|
DSC2_REUSE_SOURCE_BINDINGS.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"base_aggregate": {
|
| 3 |
+
"column_results_sha256": "6c3d693556fb58f8277ac201dfe217ea85aec65489a707260af85981faa21e9b",
|
| 4 |
+
"dataset_method_results_sha256": "5ba82d79f07327d6a5b2e1405d3f58db7e72930dcd0284132764ff48a8b5859b",
|
| 5 |
+
"directory": "/Users/xiaojinzhao/Documents/GitHub/web_compression/analysis_outputs/cpp135_delivery_20261015_v1/aggregate",
|
| 6 |
+
"receipt_sha256": "f098925d8bd0b5718b102a8b6921b1234ced3baec80e2faeb47f2edb71c2d337"
|
| 7 |
+
},
|
| 8 |
+
"composite_route_rule": "retain every successful main26 integer column with its original source/profile/binary/terminal; replace every planned float column with the matching DSC2 v2 result",
|
| 9 |
+
"dsc2": {
|
| 10 |
+
"bitexact_proof": "CLI warmup and every measured decode compare complete original Block bit-exactly",
|
| 11 |
+
"directory": "/Users/xiaojinzhao/Documents/GitHub/web_compression/analysis_outputs/cpp135_remaining_fill_20261015_v1/dsc2_delivery/compact",
|
| 12 |
+
"float_columns_sha256": "75e4b50f431cc2df33ad2357d10c6f08ba9623fd90e4b577fdf97d32513f3138",
|
| 13 |
+
"plan_sha256": "3a71365a2050ab2181326fa81043da5a5ccecdc67b2b0aea2daf742277e03f9c",
|
| 14 |
+
"profile": "baseline86-decimal-scaling-int64-exact-v2",
|
| 15 |
+
"repair_completed_sha256": "943390f6f548855e1977e9d529fc70ea62c54d034f0cfae56f84acda4b45fcff",
|
| 16 |
+
"runtime_binary_sha256": "dc082279e11b1459d68f796a6bc00aa44f95c81e5e42b9787f7667f094e48549",
|
| 17 |
+
"terminal_sha256_by_dataset": {
|
| 18 |
+
"Bar-Crawl": "bb836be3ed64cb5f0080686d9898e5ddc8463d9931874ffbc03f364121a28bb6",
|
| 19 |
+
"current_velocity": "8f8cfa4a2a1c8a8b801b6d0ea271df582c39781fcb18d7bc49e9d950c321e83f",
|
| 20 |
+
"eea_pm25_forecasting": "7e6ef268bf0f9b5059a8a666381157b2ee63051bf551f5f600ddd1435aec227e",
|
| 21 |
+
"goes_omni_electron_flux_forecasting": "a4c163884cbe6353fbbcd1093984776acd0f226012b07d63df9ba0ce379d722b",
|
| 22 |
+
"kdd_cup_2018": "3ccdfdf690c479dd0298c5b328290ca5dc410eecc3919ef1cb4b7a27424c2d6b",
|
| 23 |
+
"kraken-trading-data": "aa2d64b661386edfa879e671b379d519d46a10232b68374fef1c8e1eaaf62d25",
|
| 24 |
+
"ooni_censorship_historical": "f84f07101d124bad6ca42da8cc6cdce2bafc19245703ab5827f05b37be9df4f6",
|
| 25 |
+
"orbital_chaos_nasa_ssc": "a53946de5b1a07ae99a4f87887762dcb745c8eb5ac5c308229002aa80346a783",
|
| 26 |
+
"reg_forecasting_v2": "c3e1b6f508c43fb09f3485766b97f853376e2e0877ce14003fdf4bbf31d89e47",
|
| 27 |
+
"stock_dataset": "003a439b51a688db76f877f944cc836059228640a32b08b0139f916ace22e977",
|
| 28 |
+
"timeseries_1mn_stocks": "d6e3af52efa19f25e10d0fac369ef4b5113e8e873e19c81b1728eeca1b29b682",
|
| 29 |
+
"wind_farms_minutely": "cb4c07b99b19715c2f3853f52744cb918c6b0b0635373141a82d932c02f1f6f4"
|
| 30 |
+
}
|
| 31 |
+
},
|
| 32 |
+
"host": "192",
|
| 33 |
+
"schema": "cpp135-dsc2-overlay-source-bindings-v1",
|
| 34 |
+
"status": "frozen_local_overlay_not_published"
|
| 35 |
+
}
|
README.md
CHANGED
|
@@ -22,3 +22,7 @@ Compression rate remains complete compressed-frame bytes divided by original num
|
|
| 22 |
Historical operator byte effects are retained as diagnostics. Current-scope, corrected-input operator results remain pending and must be independently accepted before replacing them. Dataset corrections are documented in `FINAL160_FORMAT_AUDIT.json`; its previous 160-dataset investigation is a historical parent-scope audit, not the active selection list.
|
| 23 |
|
| 24 |
The historical `164×85=13,940` terminal matrix remains downloadable and is not a current-scope completion claim. [Parent documentation](https://huggingface.co/spaces/THULab/CompressionBenchmark/blob/799b74b93d0c1a25b7b7a085614f6a2c8e631468/README.md) preserves the previous pipeline and provenance.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
Historical operator byte effects are retained as diagnostics. Current-scope, corrected-input operator results remain pending and must be independently accepted before replacing them. Dataset corrections are documented in `FINAL160_FORMAT_AUDIT.json`; its previous 160-dataset investigation is a historical parent-scope audit, not the active selection list.
|
| 23 |
|
| 24 |
The historical `164×85=13,940` terminal matrix remains downloadable and is not a current-scope completion claim. [Parent documentation](https://huggingface.co/spaces/THULab/CompressionBenchmark/blob/799b74b93d0c1a25b7b7a085614f6a2c8e631468/README.md) preserves the previous pipeline and provenance.
|
| 25 |
+
|
| 26 |
+
## DSC2 BOS/REGER reuse
|
| 27 |
+
|
| 28 |
+
The latest C++ view additionally replaces exactly 24 formerly partial BOS/REGER pairs over 12 datasets. Repaired float columns use the DSC2 v2 route; successful integer columns retain their Main26 route. All work ran on server 192 under the staged W1/R3/T1 contract (three encode measurements followed by three decode measurements), with precision derived once per float method-column and built-in complete Block bit-exact checks. Composite rows retain every binary, terminal, profile and source route; no scalar binary identity is invented.
|
app.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
| 1 |
import {FINAL160_SCOPE,FINAL160_INPUT_STATUS,applyFinal160Scope,filterFinal160Catalog,final160CoverageForFamily} from './final-scope.js?v=20261013-min128-v1';
|
| 2 |
import {WEIGHT_TENTHS,parseWeights,addRankingMetrics} from './ranking.js?v=20261011-support-matched-v1';
|
| 3 |
import {DEFAULT_PROFILE,profileLabel,defaultColumnVisible,metricAvailability,summarizeAvailability,visibleColumns,profileScopeText,aggregateTimedSubset,strictTimingMode} from './availability.js?v=20261013-overall-availability-v3';
|
| 4 |
-
const CPP_LATEST_VIEW_SHA256='
|
| 5 |
-
const CPP_LATEST_VIEW_GZIP_SHA256='
|
| 6 |
const $ = (id) => document.getElementById(id);
|
| 7 |
const escape = (value) => String(value ?? '').replace(/[&<>"']/g, (c) => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
|
| 8 |
const number = (v) => v != null && Number.isFinite(Number(v)) ? Number(v) : null;
|
|
@@ -384,7 +384,7 @@ function decodeCompactRecord(row,index) {
|
|
| 384 |
return {_compact_index:index,dataset:t.datasets[row[0]],scope:t.scopes[row[1]],runtime:t.runtimes[row[2]],comparison_profile:t.comparison_profiles[row[3]],family:t.families[row[4]],method:t.configurations[row[5]],algorithm_variant:t.configurations[row[5]],compression_rate:row[6],compression_time_ns_per_point:row[7],decompression_time_ns_per_point:row[8],original_size_bytes:row[9],compressed_size_bytes:row[10],timing_column_count:row[11],timing_aggregation:t.timing_aggregations[row[12]],eligible_column_set_sha256:t.support_sets[row[13]],measurement_status:t.measurement_statuses[row[14]],timing_profile_status:t.timing_statuses[row[15]],binary_sha256:t.binary_hashes[row[16]]};
|
| 385 |
}
|
| 386 |
function applyCppLatestView() {
|
| 387 |
-
if(!cppLatestView||cppLatestView.schema!=='compressionbenchmark-cpp-latest-view-v1'||cppLatestView.status!=='
|
| 388 |
const compact=snapshot.compact_records;if(!Array.isArray(compact))throw new Error('The SHA-bound compact record table is missing.');
|
| 389 |
if(cppLatestView.baseline?.compact_record_count!==compact.length)throw new Error('The combined C++ sidecar compact-record count does not match the frozen payload.');
|
| 390 |
if(cppLatestView.baseline?.data_sha256!==snapshot.source_data_sha256)throw new Error('The combined C++ sidecar source data hash does not match the frozen payload.');
|
|
@@ -465,7 +465,7 @@ void loadDatasetCatalog();
|
|
| 465 |
async function sha256Hex(buffer){const digest=await crypto.subtle.digest('SHA-256',buffer);return [...new Uint8Array(digest)].map(byte=>byte.toString(16).padStart(2,'0')).join('');}
|
| 466 |
async function gunzipBuffer(buffer,label){if(typeof DecompressionStream!=='function')throw new Error(`${label} requires browser gzip decompression support.`);try{return await new Response(new Blob([buffer]).stream().pipeThrough(new DecompressionStream('gzip'))).arrayBuffer();}catch(error){throw new Error(`${label} could not be decompressed: ${error instanceof Error?error.message:String(error)}`);}}
|
| 467 |
try {
|
| 468 |
-
const [snapshotResponse,sidecarResponse]=await Promise.all([fetch('./ui-data.json?v=20261015-main26-
|
| 469 |
if(!snapshotResponse.ok)throw new Error(`Snapshot request returned ${snapshotResponse.status}`);if(!sidecarResponse.ok)throw new Error(`Combined C++ sidecar request returned ${sidecarResponse.status}`);
|
| 470 |
const [snapshotBuffer,sidecarGzipBuffer]=await Promise.all([snapshotResponse.arrayBuffer(),sidecarResponse.arrayBuffer()]);
|
| 471 |
const sidecarGzipSha=await sha256Hex(sidecarGzipBuffer);if(sidecarGzipSha!==CPP_LATEST_VIEW_GZIP_SHA256)throw new Error('The compressed C++ sidecar transport does not match the frozen release.');
|
|
|
|
| 1 |
import {FINAL160_SCOPE,FINAL160_INPUT_STATUS,applyFinal160Scope,filterFinal160Catalog,final160CoverageForFamily} from './final-scope.js?v=20261013-min128-v1';
|
| 2 |
import {WEIGHT_TENTHS,parseWeights,addRankingMetrics} from './ranking.js?v=20261011-support-matched-v1';
|
| 3 |
import {DEFAULT_PROFILE,profileLabel,defaultColumnVisible,metricAvailability,summarizeAvailability,visibleColumns,profileScopeText,aggregateTimedSubset,strictTimingMode} from './availability.js?v=20261013-overall-availability-v3';
|
| 4 |
+
const CPP_LATEST_VIEW_SHA256='6a083b73b72dd7b93a2cb84bedf852c2df3ee025d0be104c2a1552cdd184dc80';
|
| 5 |
+
const CPP_LATEST_VIEW_GZIP_SHA256='5069bbcb955fa3ea9b12eb1b8771500eb712d01ed529f9fbec0103b2f906fa9b';
|
| 6 |
const $ = (id) => document.getElementById(id);
|
| 7 |
const escape = (value) => String(value ?? '').replace(/[&<>"']/g, (c) => ({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]));
|
| 8 |
const number = (v) => v != null && Number.isFinite(Number(v)) ? Number(v) : null;
|
|
|
|
| 384 |
return {_compact_index:index,dataset:t.datasets[row[0]],scope:t.scopes[row[1]],runtime:t.runtimes[row[2]],comparison_profile:t.comparison_profiles[row[3]],family:t.families[row[4]],method:t.configurations[row[5]],algorithm_variant:t.configurations[row[5]],compression_rate:row[6],compression_time_ns_per_point:row[7],decompression_time_ns_per_point:row[8],original_size_bytes:row[9],compressed_size_bytes:row[10],timing_column_count:row[11],timing_aggregation:t.timing_aggregations[row[12]],eligible_column_set_sha256:t.support_sets[row[13]],measurement_status:t.measurement_statuses[row[14]],timing_profile_status:t.timing_statuses[row[15]],binary_sha256:t.binary_hashes[row[16]]};
|
| 385 |
}
|
| 386 |
function applyCppLatestView() {
|
| 387 |
+
if(!cppLatestView||cppLatestView.schema!=='compressionbenchmark-cpp-latest-view-v1'||cppLatestView.status!=='built_from_published_main26_plus_completed_dsc2_reuse')throw new Error('The combined C++ selection sidecar has an invalid schema or status.');
|
| 388 |
const compact=snapshot.compact_records;if(!Array.isArray(compact))throw new Error('The SHA-bound compact record table is missing.');
|
| 389 |
if(cppLatestView.baseline?.compact_record_count!==compact.length)throw new Error('The combined C++ sidecar compact-record count does not match the frozen payload.');
|
| 390 |
if(cppLatestView.baseline?.data_sha256!==snapshot.source_data_sha256)throw new Error('The combined C++ sidecar source data hash does not match the frozen payload.');
|
|
|
|
| 465 |
async function sha256Hex(buffer){const digest=await crypto.subtle.digest('SHA-256',buffer);return [...new Uint8Array(digest)].map(byte=>byte.toString(16).padStart(2,'0')).join('');}
|
| 466 |
async function gunzipBuffer(buffer,label){if(typeof DecompressionStream!=='function')throw new Error(`${label} requires browser gzip decompression support.`);try{return await new Response(new Blob([buffer]).stream().pipeThrough(new DecompressionStream('gzip'))).arrayBuffer();}catch(error){throw new Error(`${label} could not be decompressed: ${error instanceof Error?error.message:String(error)}`);}}
|
| 467 |
try {
|
| 468 |
+
const [snapshotResponse,sidecarResponse]=await Promise.all([fetch('./ui-data.json?v=20261015-main26-dsc2-reuse-v3',{cache:'no-cache'}),fetch('./cpp-latest-view-main26.json.gz?v=20261015-main26-dsc2-reuse-v3',{cache:'no-cache'})]);
|
| 469 |
if(!snapshotResponse.ok)throw new Error(`Snapshot request returned ${snapshotResponse.status}`);if(!sidecarResponse.ok)throw new Error(`Combined C++ sidecar request returned ${sidecarResponse.status}`);
|
| 470 |
const [snapshotBuffer,sidecarGzipBuffer]=await Promise.all([snapshotResponse.arrayBuffer(),sidecarResponse.arrayBuffer()]);
|
| 471 |
const sidecarGzipSha=await sha256Hex(sidecarGzipBuffer);if(sidecarGzipSha!==CPP_LATEST_VIEW_GZIP_SHA256)throw new Error('The compressed C++ sidecar transport does not match the frozen release.');
|
build_dsc2_reuse_site.py
ADDED
|
@@ -0,0 +1,691 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""Build the unpublished 24-pair BOS/REGER DSC2 website increment.
|
| 3 |
+
|
| 4 |
+
The canonical parent is candidate_main26_v4 with the three published v5
|
| 5 |
+
source-reference files applied. Historical result rows are immutable and the
|
| 6 |
+
builder appends only the numeric scope rows for the 24 repaired pairs. Latest
|
| 7 |
+
C++ selection changes only for those exact pairs.
|
| 8 |
+
"""
|
| 9 |
+
|
| 10 |
+
from __future__ import annotations
|
| 11 |
+
|
| 12 |
+
import argparse
|
| 13 |
+
import copy
|
| 14 |
+
import datetime as dt
|
| 15 |
+
import gzip
|
| 16 |
+
import hashlib
|
| 17 |
+
import importlib.util
|
| 18 |
+
import json
|
| 19 |
+
import math
|
| 20 |
+
import shutil
|
| 21 |
+
import statistics
|
| 22 |
+
import subprocess
|
| 23 |
+
import sys
|
| 24 |
+
from collections import Counter, defaultdict
|
| 25 |
+
from pathlib import Path
|
| 26 |
+
from typing import Any
|
| 27 |
+
|
| 28 |
+
|
| 29 |
+
PARENT_HEAD = "c7aeab66168050289ce9332afb62f2e339a1c7bb"
|
| 30 |
+
PROFILE = "cpp-native192-main26-whole-column-20261015-v1"
|
| 31 |
+
AUTHORITY = "cpp135_main26_dsc2_reuse_server192_latest"
|
| 32 |
+
VERSION = "20261015-main26-dsc2-reuse-v3"
|
| 33 |
+
BASELINE_CPP_LATEST_STATUS = "built_from_verified_live_float9_baseline_and_completed_main26"
|
| 34 |
+
DSC2_CPP_LATEST_STATUS = "built_from_published_main26_plus_completed_dsc2_reuse"
|
| 35 |
+
MAIN26_TIMING_PROFILE_STATUS = "timing_admitted_server192_main26_w1_r3_t1_column_mean_builtin_bitexact"
|
| 36 |
+
MAIN26_TIMING_CONTRACT = (
|
| 37 |
+
"arithmetic mean of per-column ns/valid-native-point; W1/R3/T1; "
|
| 38 |
+
"built-in exact Block equality outside timed interval"
|
| 39 |
+
)
|
| 40 |
+
ACCEPTANCE = "DSC2_REUSE_SITE_ACCEPTANCE.json"
|
| 41 |
+
INTEGRATION = "DSC2_REUSE_SITE_INTEGRATION.json"
|
| 42 |
+
DATA_GZ = "data-main26.json.gz"
|
| 43 |
+
SIDECAR_GZ = "cpp-latest-view-main26.json.gz"
|
| 44 |
+
EVIDENCE = {
|
| 45 |
+
"COLUMN_RESULTS.jsonl.gz": "dsc2-reuse-column-overlay.jsonl.gz",
|
| 46 |
+
"DATASET_METHOD_RESULTS.jsonl.gz": "dsc2-reuse-dataset-method-overlay.jsonl.gz",
|
| 47 |
+
"RETAINED_INTEGER_COLUMNS.jsonl.gz": "dsc2-reuse-retained-integer-columns.jsonl.gz",
|
| 48 |
+
"DSC2_COLUMN_AUDIT.jsonl.gz": "dsc2-reuse-column-audit.jsonl.gz",
|
| 49 |
+
"OVERLAY_RECEIPT.json": "DSC2_REUSE_OVERLAY_RECEIPT.json",
|
| 50 |
+
"SOURCE_BINDINGS.json": "DSC2_REUSE_SOURCE_BINDINGS.json",
|
| 51 |
+
"INDEPENDENT_VERIFICATION.json": "DSC2_REUSE_INDEPENDENT_VERIFICATION.json",
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
|
| 55 |
+
def require(value: Any, message: str) -> None:
|
| 56 |
+
if not value:
|
| 57 |
+
raise RuntimeError(message)
|
| 58 |
+
|
| 59 |
+
|
| 60 |
+
def sha256(path: Path) -> str:
|
| 61 |
+
h = hashlib.sha256()
|
| 62 |
+
with path.open("rb") as f:
|
| 63 |
+
for block in iter(lambda: f.read(8 << 20), b""):
|
| 64 |
+
h.update(block)
|
| 65 |
+
return h.hexdigest()
|
| 66 |
+
|
| 67 |
+
|
| 68 |
+
def canonical(value: Any) -> bytes:
|
| 69 |
+
return json.dumps(value, ensure_ascii=False, sort_keys=True, separators=(",", ":"), allow_nan=False).encode()
|
| 70 |
+
|
| 71 |
+
|
| 72 |
+
def canonical_sha(value: Any) -> str:
|
| 73 |
+
return hashlib.sha256(canonical(value)).hexdigest()
|
| 74 |
+
|
| 75 |
+
|
| 76 |
+
def read_json(path: Path) -> dict[str, Any]:
|
| 77 |
+
value = json.loads(path.read_text())
|
| 78 |
+
require(isinstance(value, dict), f"expected JSON object: {path}")
|
| 79 |
+
return value
|
| 80 |
+
|
| 81 |
+
|
| 82 |
+
def read_gzip_json(path: Path) -> dict[str, Any]:
|
| 83 |
+
with gzip.open(path, "rt") as f:
|
| 84 |
+
value = json.load(f)
|
| 85 |
+
require(isinstance(value, dict), f"expected gzip JSON object: {path}")
|
| 86 |
+
return value
|
| 87 |
+
|
| 88 |
+
|
| 89 |
+
def read_gzip_jsonl(path: Path) -> list[dict[str, Any]]:
|
| 90 |
+
with gzip.open(path, "rt") as f:
|
| 91 |
+
return [json.loads(line) for line in f if line.strip()]
|
| 92 |
+
|
| 93 |
+
|
| 94 |
+
def write_json(path: Path, value: Any) -> None:
|
| 95 |
+
path.write_text(json.dumps(value, ensure_ascii=False, indent=2, sort_keys=True, allow_nan=False) + "\n")
|
| 96 |
+
|
| 97 |
+
|
| 98 |
+
def deterministic_gzip(source: Path, target: Path) -> None:
|
| 99 |
+
with source.open("rb") as src, target.open("wb") as raw:
|
| 100 |
+
with gzip.GzipFile(filename="", mode="wb", fileobj=raw, compresslevel=9, mtime=0) as zipped:
|
| 101 |
+
shutil.copyfileobj(src, zipped, length=8 << 20)
|
| 102 |
+
|
| 103 |
+
|
| 104 |
+
def gzip_content_sha256(path: Path) -> str:
|
| 105 |
+
h = hashlib.sha256()
|
| 106 |
+
with gzip.open(path, "rb") as f:
|
| 107 |
+
for block in iter(lambda: f.read(8 << 20), b""):
|
| 108 |
+
h.update(block)
|
| 109 |
+
return h.hexdigest()
|
| 110 |
+
|
| 111 |
+
|
| 112 |
+
def finite(value: Any) -> float:
|
| 113 |
+
require(type(value) in (int, float) and math.isfinite(float(value)), f"non-finite metric: {value!r}")
|
| 114 |
+
return float(value)
|
| 115 |
+
|
| 116 |
+
|
| 117 |
+
def one(row: dict[str, Any], field: str) -> str:
|
| 118 |
+
value = row[field]
|
| 119 |
+
values = [value] if isinstance(value, str) else list(value)
|
| 120 |
+
require(len(values) == 1 and isinstance(values[0], str) and values[0], f"expected one {field}")
|
| 121 |
+
return values[0]
|
| 122 |
+
|
| 123 |
+
|
| 124 |
+
def string_set(row: dict[str, Any], field: str) -> list[str]:
|
| 125 |
+
value = row.get(field) or []
|
| 126 |
+
values = [value] if isinstance(value, str) else list(value)
|
| 127 |
+
require(all(isinstance(item, str) and item for item in values), f"invalid {field}")
|
| 128 |
+
return sorted(set(values))
|
| 129 |
+
|
| 130 |
+
|
| 131 |
+
def dtype_scope(dtype: str) -> str:
|
| 132 |
+
if dtype.lower().startswith(("int", "uint")):
|
| 133 |
+
return "integer"
|
| 134 |
+
if dtype.lower().startswith("float"):
|
| 135 |
+
return "float"
|
| 136 |
+
raise RuntimeError(f"unsupported numeric dtype: {dtype}")
|
| 137 |
+
|
| 138 |
+
|
| 139 |
+
def support_sha(columns: list[dict[str, Any]]) -> str:
|
| 140 |
+
values = [str(row["input_manifest_sha256"]) for row in columns]
|
| 141 |
+
require(all(len(value) == 64 for value in values), "input manifest SHA missing")
|
| 142 |
+
return canonical_sha(sorted(values))
|
| 143 |
+
|
| 144 |
+
|
| 145 |
+
def typed_route(columns: list[dict[str, Any]]) -> dict[str, Any]:
|
| 146 |
+
grouped: dict[tuple[str, ...], dict[str, Any]] = {}
|
| 147 |
+
for row in columns:
|
| 148 |
+
configuration = one(row, "configurations")
|
| 149 |
+
profile = one(row, "profile_versions")
|
| 150 |
+
dtype = str(row["dtype"])
|
| 151 |
+
key = (
|
| 152 |
+
dtype, configuration, profile, str(row["runtime_binary_sha256"]),
|
| 153 |
+
str(row["selected_terminal_sha256"]), str(row["selected_source"]),
|
| 154 |
+
)
|
| 155 |
+
entry = grouped.setdefault(key, {
|
| 156 |
+
"dtype": dtype,
|
| 157 |
+
"dtype_scope": dtype_scope(dtype),
|
| 158 |
+
"configuration": configuration,
|
| 159 |
+
"profile_version": profile,
|
| 160 |
+
"runtime_binary_sha256": str(row["runtime_binary_sha256"]),
|
| 161 |
+
"selected_terminal_sha256": str(row["selected_terminal_sha256"]),
|
| 162 |
+
"source_selection": str(row["selected_source"]),
|
| 163 |
+
"execution_host": "192.168.99.20",
|
| 164 |
+
"producer_cli_sha256": set(),
|
| 165 |
+
"timing_scopes": set(),
|
| 166 |
+
"precision_semantics": set(),
|
| 167 |
+
"implementations": set(),
|
| 168 |
+
"column_count": 0,
|
| 169 |
+
"precision_charge_rows": 0,
|
| 170 |
+
})
|
| 171 |
+
entry["producer_cli_sha256"].update(string_set(row, "producer_cli_sha256"))
|
| 172 |
+
entry["timing_scopes"].update(string_set(row, "timing_scopes"))
|
| 173 |
+
entry["precision_semantics"].update(string_set(row, "precision_semantics"))
|
| 174 |
+
entry["implementations"].update(string_set(row, "implementations"))
|
| 175 |
+
entry["column_count"] += 1
|
| 176 |
+
entry["precision_charge_rows"] += int(row.get("precision_charge_rows", 0))
|
| 177 |
+
routes = []
|
| 178 |
+
for entry in grouped.values():
|
| 179 |
+
routes.append({
|
| 180 |
+
**entry,
|
| 181 |
+
"producer_cli_sha256": sorted(entry["producer_cli_sha256"]),
|
| 182 |
+
"timing_scopes": sorted(entry["timing_scopes"]),
|
| 183 |
+
"precision_semantics": sorted(entry["precision_semantics"]),
|
| 184 |
+
"implementations": sorted(entry["implementations"]),
|
| 185 |
+
})
|
| 186 |
+
routes.sort(key=lambda r: (
|
| 187 |
+
r["dtype_scope"], r["dtype"], r["configuration"], r["profile_version"],
|
| 188 |
+
r["runtime_binary_sha256"], r["selected_terminal_sha256"],
|
| 189 |
+
))
|
| 190 |
+
return {
|
| 191 |
+
"routes": routes,
|
| 192 |
+
"configurations": sorted({r["configuration"] for r in routes}),
|
| 193 |
+
"profile_versions": sorted({r["profile_version"] for r in routes}),
|
| 194 |
+
"producer_cli_sha256": sorted({x for r in routes for x in r["producer_cli_sha256"]}),
|
| 195 |
+
"runtime_binary_sha256_set": sorted({r["runtime_binary_sha256"] for r in routes}),
|
| 196 |
+
"selected_terminal_sha256_set": sorted({r["selected_terminal_sha256"] for r in routes}),
|
| 197 |
+
"source_selection_set": sorted({r["source_selection"] for r in routes}),
|
| 198 |
+
}
|
| 199 |
+
|
| 200 |
+
|
| 201 |
+
def summarize(source: dict[str, Any], columns: list[dict[str, Any]], scope: str) -> dict[str, Any]:
|
| 202 |
+
selected = columns if scope == "overall" else [r for r in columns if dtype_scope(str(r["dtype"])) == scope]
|
| 203 |
+
require(selected, f"absent scope {source['dataset_id']}/{source['method']}/{scope}")
|
| 204 |
+
supported = sum(int(r["supported_valid_value_count"]) for r in selected)
|
| 205 |
+
unsupported = sum(int(r["unsupported_valid_value_count"]) for r in selected)
|
| 206 |
+
require(supported > 0 and unsupported == 0, "DSC2 reusable scope is not fully numeric")
|
| 207 |
+
numeric = [r for r in selected if r["support_state"] == "full_numeric"]
|
| 208 |
+
original = sum(int(r["supported_original_numeric_bytes"]) for r in selected)
|
| 209 |
+
compressed = sum(int(r["measured_complete_frame_bytes"]) for r in selected)
|
| 210 |
+
route = typed_route(selected)
|
| 211 |
+
result = {
|
| 212 |
+
"dataset_id": source["dataset_id"], "method": source["method"], "family": source["family"],
|
| 213 |
+
"method_family": source["method_family"], "scope": scope,
|
| 214 |
+
"support_state": "full_numeric", "full_valid_support": True,
|
| 215 |
+
"column_count": len(selected), "full_numeric_columns": len(numeric),
|
| 216 |
+
"partial_support_columns": 0, "unsupported_columns": 0,
|
| 217 |
+
"not_applicable_columns": sum(r["support_state"] == "not_applicable" for r in selected),
|
| 218 |
+
"supported_valid_value_count": supported, "unsupported_valid_value_count": 0,
|
| 219 |
+
"supported_original_numeric_bytes": original, "unsupported_original_numeric_bytes": 0,
|
| 220 |
+
"measured_complete_frame_bytes": compressed,
|
| 221 |
+
"all_missing_complete_frame_bytes": sum(int(r["all_missing_complete_frame_bytes"]) for r in selected),
|
| 222 |
+
"compression_ratio_column_arithmetic_mean": statistics.fmean(finite(r["compression_ratio"]) for r in numeric),
|
| 223 |
+
"secondary_pooled_compression_ratio": compressed / original,
|
| 224 |
+
"compression_ns_per_valid_native_point_column_arithmetic_mean": statistics.fmean(
|
| 225 |
+
finite(r["compression_ns_per_valid_native_point"]) for r in numeric
|
| 226 |
+
),
|
| 227 |
+
"decompression_ns_per_valid_native_point_column_arithmetic_mean": statistics.fmean(
|
| 228 |
+
finite(r["decompression_ns_per_valid_native_point"]) for r in numeric
|
| 229 |
+
),
|
| 230 |
+
"profile_versions": route["profile_versions"], "configurations": route["configurations"],
|
| 231 |
+
"producer_cli_sha256": route["producer_cli_sha256"],
|
| 232 |
+
"runtime_binary_sha256_set": route["runtime_binary_sha256_set"],
|
| 233 |
+
"selected_terminal_sha256_set": route["selected_terminal_sha256_set"],
|
| 234 |
+
"source_selection_set": route["source_selection_set"],
|
| 235 |
+
"support_sha256": support_sha(selected),
|
| 236 |
+
"typed_route_contract_sha256": canonical_sha(sorted(r["typed_route_contract_sha256"] for r in selected)),
|
| 237 |
+
"typed_route": route,
|
| 238 |
+
"byte_boundary": "sum complete NGF1 frame bytes over selected dtype-scope columns / original valid numeric bytes",
|
| 239 |
+
# The original Main26 and DSC2 continuations use the same server-192
|
| 240 |
+
# W1/R3/T1, column-mean timing contract. Route/version differences
|
| 241 |
+
# remain explicit in typed_route, profile_version, measurement_status,
|
| 242 |
+
# binary/source sets, and timing_stage_schedule; they are not timing
|
| 243 |
+
# contract boundaries.
|
| 244 |
+
"timing_contract": MAIN26_TIMING_CONTRACT,
|
| 245 |
+
}
|
| 246 |
+
if scope == "overall":
|
| 247 |
+
require(result["support_sha256"] == source["dataset_input_cohort_sha256"], "overall input cohort changed")
|
| 248 |
+
require(result["typed_route_contract_sha256"] == source["typed_route_contract_sha256"], "overall typed route changed")
|
| 249 |
+
for field in ("column_count", "supported_valid_value_count", "supported_original_numeric_bytes",
|
| 250 |
+
"measured_complete_frame_bytes", "all_missing_complete_frame_bytes"):
|
| 251 |
+
require(result[field] == source[field], f"overlay overall field mismatch: {field}")
|
| 252 |
+
return result
|
| 253 |
+
|
| 254 |
+
|
| 255 |
+
def route_label(route: dict[str, Any], field: str) -> str:
|
| 256 |
+
values = route[field]
|
| 257 |
+
if len(values) == 1:
|
| 258 |
+
return values[0]
|
| 259 |
+
component = "configuration" if field == "configurations" else "profile_version"
|
| 260 |
+
return "typed-route[" + ";".join(
|
| 261 |
+
f"{r['dtype']}={r[component]}" for r in route["routes"]
|
| 262 |
+
) + "]"
|
| 263 |
+
|
| 264 |
+
|
| 265 |
+
def make_site_row(source: dict[str, Any], acceptance_sha: str) -> dict[str, Any]:
|
| 266 |
+
route = source["typed_route"]
|
| 267 |
+
binaries = route["runtime_binary_sha256_set"]
|
| 268 |
+
terminals = route["selected_terminal_sha256_set"]
|
| 269 |
+
sources = route["source_selection_set"]
|
| 270 |
+
route_sha = source["typed_route_contract_sha256"]
|
| 271 |
+
binary = binaries[0] if len(binaries) == 1 else None
|
| 272 |
+
runtime = (
|
| 273 |
+
f"cpp-native192-main26-{binary[:8]}" if binary and binary.startswith("0558378c")
|
| 274 |
+
else f"cpp-native192-main26-dsc2-{binary[:8]}" if binary
|
| 275 |
+
else f"cpp-native192-main26-composite-{route_sha[:8]}"
|
| 276 |
+
)
|
| 277 |
+
configuration = route_label(route, "configurations")
|
| 278 |
+
profiles = route_label(route, "profile_versions")
|
| 279 |
+
original = int(source["supported_original_numeric_bytes"])
|
| 280 |
+
compressed = int(source["measured_complete_frame_bytes"])
|
| 281 |
+
points = int(source["supported_valid_value_count"])
|
| 282 |
+
cpp = finite(source["compression_ns_per_valid_native_point_column_arithmetic_mean"])
|
| 283 |
+
dpp = finite(source["decompression_ns_per_valid_native_point_column_arithmetic_mean"])
|
| 284 |
+
return {
|
| 285 |
+
"schema": "compressionbenchmark-cpp135-main26-dsc2-reuse-site-row-v1",
|
| 286 |
+
"dataset": source["dataset_id"], "scope": source["scope"],
|
| 287 |
+
"runtime": runtime, "comparison_profile": PROFILE,
|
| 288 |
+
"method": configuration, "family": source["method"],
|
| 289 |
+
"algorithm_variant": f"{configuration} [{' + '.join(x[:8] for x in binaries)}]",
|
| 290 |
+
"is_best_rate_in_family": True,
|
| 291 |
+
"original_size_bytes": original, "compressed_size_bytes": compressed,
|
| 292 |
+
"point_count": points, "compression_rate": compressed / original,
|
| 293 |
+
"compression_time_ns": cpp * points, "decompression_time_ns": dpp * points,
|
| 294 |
+
"compression_time_ns_per_point": cpp, "decompression_time_ns_per_point": dpp,
|
| 295 |
+
"timing_column_count": int(source["full_numeric_columns"]), "timing_aggregation": "column_mean",
|
| 296 |
+
"eligible_dtype_scope": source["scope"], "eligible_column_set_sha256": source["support_sha256"],
|
| 297 |
+
"eligible_column_set_status": "algorithm_independent_frozen_manifest_scope_cohort_sha256",
|
| 298 |
+
"measurement_status": "main26_dsc2_reuse_complete_valid_support_builtin_bitexact_roundtrip",
|
| 299 |
+
"timing_profile_status": MAIN26_TIMING_PROFILE_STATUS,
|
| 300 |
+
"execution_host": "192.168.99.20", "binary_sha256": binary,
|
| 301 |
+
"binary_sha256_set": binaries,
|
| 302 |
+
"producer_cli_sha256": route["producer_cli_sha256"][0] if len(route["producer_cli_sha256"]) == 1 else None,
|
| 303 |
+
"producer_cli_sha256_set": route["producer_cli_sha256"],
|
| 304 |
+
"profile_version": profiles, "typed_route": route["routes"],
|
| 305 |
+
"typed_route_configurations": route["configurations"],
|
| 306 |
+
"source_profile_composition": route["profile_versions"],
|
| 307 |
+
"typed_route_contract_sha256": route_sha,
|
| 308 |
+
"input_version": "final135-frozen-inputs-20261014-v1",
|
| 309 |
+
"acceptance_sha256": acceptance_sha,
|
| 310 |
+
"source_selection": sources[0] if len(sources) == 1 else None,
|
| 311 |
+
"source_selection_set": sources,
|
| 312 |
+
"selected_terminal_sha256": terminals[0] if len(terminals) == 1 else None,
|
| 313 |
+
"selected_terminal_sha256_set": terminals,
|
| 314 |
+
"method_family": source["method_family"], "byte_boundary": source["byte_boundary"],
|
| 315 |
+
"timing_contract": source["timing_contract"],
|
| 316 |
+
"timing_stage_schedule": "W1; encode repeat 1,2,3; decode repeat 1,2,3; T1",
|
| 317 |
+
"column_arithmetic_mean_compression_rate": finite(source["compression_ratio_column_arithmetic_mean"]),
|
| 318 |
+
"all_missing_complete_frame_bytes": int(source["all_missing_complete_frame_bytes"]),
|
| 319 |
+
}
|
| 320 |
+
|
| 321 |
+
|
| 322 |
+
def compact_rows(ui: dict[str, Any]) -> list[dict[str, Any]]:
|
| 323 |
+
tables = ui["record_tables"]
|
| 324 |
+
return [{
|
| 325 |
+
"dataset": tables["datasets"][r[0]], "scope": tables["scopes"][r[1]],
|
| 326 |
+
"runtime": tables["runtimes"][r[2]], "comparison_profile": tables["comparison_profiles"][r[3]],
|
| 327 |
+
"family": tables["families"][r[4]], "measurement_status": tables["measurement_statuses"][r[14]],
|
| 328 |
+
"timing_profile_status": tables["timing_statuses"][r[15]],
|
| 329 |
+
} for r in ui["compact_records"]]
|
| 330 |
+
|
| 331 |
+
|
| 332 |
+
def replace_sidecar(old: dict[str, Any], old_ui: dict[str, Any], new_ui: dict[str, Any],
|
| 333 |
+
additions: list[dict[str, Any]], targets: set[tuple[str, str]],
|
| 334 |
+
summaries: dict[tuple[str, str], dict[str, dict[str, Any]]],
|
| 335 |
+
acceptance_sha: str, data_sha: str, ui_sha: str) -> dict[str, Any]:
|
| 336 |
+
old_decoded, new_decoded = compact_rows(old_ui), compact_rows(new_ui)
|
| 337 |
+
old_count = len(old_decoded)
|
| 338 |
+
retained = []
|
| 339 |
+
for item in old["cpp"]["selected_rows"]:
|
| 340 |
+
decoded = old_decoded[item["raw_compact_index"]]
|
| 341 |
+
if (decoded["dataset"], item["canonical_family"]) not in targets:
|
| 342 |
+
retained.append(copy.deepcopy(item))
|
| 343 |
+
addition_by_scope = {(r["dataset"], r["family"], r["scope"]): i for i, r in enumerate(additions, old_count)}
|
| 344 |
+
require(len(addition_by_scope) == len(additions), "duplicate DSC2 appended scope row")
|
| 345 |
+
for key, index in sorted(addition_by_scope.items()):
|
| 346 |
+
decoded = new_decoded[index]
|
| 347 |
+
require((decoded["dataset"], decoded["family"], decoded["scope"]) == key, "compact row mismatch")
|
| 348 |
+
retained.append({
|
| 349 |
+
"raw_compact_index": index, "canonical_family": key[1], "source_family": key[1],
|
| 350 |
+
"source_comparison_profile": PROFILE, "source_runtime": decoded["runtime"],
|
| 351 |
+
"source_host": "192.168.99.20", "authority": AUTHORITY,
|
| 352 |
+
"pair_status": "numeric", "timing_admitted": True,
|
| 353 |
+
"measurement_status": decoded["measurement_status"],
|
| 354 |
+
"timing_profile_status": decoded["timing_profile_status"],
|
| 355 |
+
})
|
| 356 |
+
old_target_ledger = [r for r in old["cpp"]["pair_ledger"] if (r["dataset"], r["canonical_family"]) in targets]
|
| 357 |
+
require(len(old_target_ledger) == 24 and all(r["status"] == "partial_numeric" for r in old_target_ledger),
|
| 358 |
+
"expected 24 prior partial main26 decisions")
|
| 359 |
+
ledger = [copy.deepcopy(r) for r in old["cpp"]["pair_ledger"]
|
| 360 |
+
if (r["dataset"], r["canonical_family"]) not in targets]
|
| 361 |
+
all_scopes = set(new_ui["record_tables"]["scopes"])
|
| 362 |
+
for pair in sorted(targets):
|
| 363 |
+
scopes = sorted(summaries[pair])
|
| 364 |
+
indices = [addition_by_scope[(pair[0], pair[1], scope)] for scope in scopes]
|
| 365 |
+
overall = summaries[pair]["overall"]
|
| 366 |
+
binaries = overall["runtime_binary_sha256_set"]
|
| 367 |
+
terminals = overall["selected_terminal_sha256_set"]
|
| 368 |
+
sources = overall["source_selection_set"]
|
| 369 |
+
ledger.append({
|
| 370 |
+
"dataset": pair[0], "canonical_family": pair[1],
|
| 371 |
+
"decision": "select_latest_main26_dsc2_reuse_dtype_scopes", "status": "numeric",
|
| 372 |
+
"source_comparison_profile": PROFILE, "source_hosts": ["192.168.99.20"],
|
| 373 |
+
"selected_raw_indices": indices, "selected_scopes": scopes,
|
| 374 |
+
"missing_scopes_tombstoned": sorted(all_scopes - set(scopes)),
|
| 375 |
+
"recency_rank": 70, "authority": AUTHORITY,
|
| 376 |
+
"reason": (
|
| 377 |
+
"Completed DSC2 v2 float route recovers all formerly unsupported blocks; successful main26 "
|
| 378 |
+
"integer columns are retained. Overall and dtype scopes use one same-host staged W1/R3/T1 contract."
|
| 379 |
+
),
|
| 380 |
+
"acceptance_sha256": acceptance_sha,
|
| 381 |
+
"source_selection": sources[0] if len(sources) == 1 else None,
|
| 382 |
+
"source_selection_set": sources,
|
| 383 |
+
"runtime_binary_sha256": binaries[0] if len(binaries) == 1 else None,
|
| 384 |
+
"runtime_binary_sha256_set": binaries,
|
| 385 |
+
"selected_terminal_sha256": terminals[0] if len(terminals) == 1 else None,
|
| 386 |
+
"selected_terminal_sha256_set": terminals,
|
| 387 |
+
"typed_route_contract_sha256": overall["typed_route_contract_sha256"],
|
| 388 |
+
"scope_support_states": {scope: "numeric" for scope in scopes},
|
| 389 |
+
})
|
| 390 |
+
retained.sort(key=lambda r: r["raw_compact_index"])
|
| 391 |
+
ledger.sort(key=lambda r: (r["dataset"], r["canonical_family"]))
|
| 392 |
+
require(len({r["raw_compact_index"] for r in retained}) == len(retained), "duplicate selected row")
|
| 393 |
+
active = set(old["cpp"]["active_native85_families"])
|
| 394 |
+
active_ledger = [r for r in ledger if r["canonical_family"] in active]
|
| 395 |
+
require(len(active_ledger) == 164 * 85, "active85 ledger size changed")
|
| 396 |
+
status_counts = Counter(r["status"] for r in active_ledger)
|
| 397 |
+
scope_dataset_counts, scope_pair_counts = {}, {}
|
| 398 |
+
for scope in sorted(all_scopes):
|
| 399 |
+
pairs = []
|
| 400 |
+
for item in retained:
|
| 401 |
+
decoded = new_decoded[item["raw_compact_index"]]
|
| 402 |
+
if decoded["scope"] == scope:
|
| 403 |
+
pairs.append((decoded["dataset"], item["canonical_family"]))
|
| 404 |
+
scope_dataset_counts[scope] = len({p[0] for p in pairs})
|
| 405 |
+
scope_pair_counts[scope] = len(set(pairs))
|
| 406 |
+
timing = [r["raw_compact_index"] for r in retained if r["timing_admitted"]]
|
| 407 |
+
sidecar = copy.deepcopy(old)
|
| 408 |
+
sidecar["status"] = "built_from_published_main26_plus_completed_dsc2_reuse"
|
| 409 |
+
sidecar["baseline"] = {
|
| 410 |
+
"revision": PARENT_HEAD, "ui_data_path": "ui-data.json", "ui_data_sha256": ui_sha,
|
| 411 |
+
"data_path": "data.json", "data_sha256": data_sha, "compact_record_count": len(new_decoded),
|
| 412 |
+
"parent_published_payload": {
|
| 413 |
+
"data_uncompressed_sha256": old["baseline"]["data_sha256"],
|
| 414 |
+
"ui_data_sha256": old["baseline"]["ui_data_sha256"],
|
| 415 |
+
"cpp_latest_view_uncompressed_sha256": sha256_bytes(canonical(old)),
|
| 416 |
+
},
|
| 417 |
+
}
|
| 418 |
+
sidecar["identity_contract"]["atomicity"] = (
|
| 419 |
+
"One newest authority wins per dataset and canonical C++ family. DSC2 reuse atomically replaces only "
|
| 420 |
+
"the exact 24 BOS/REGER pairs; all other Main26 and legacy decisions are retained."
|
| 421 |
+
)
|
| 422 |
+
sidecar["precedence"].append({
|
| 423 |
+
"rank": 70, "authority": AUTHORITY,
|
| 424 |
+
"scope": "12 measured datasets x BOS/REGER; repaired float columns plus retained successful integer columns",
|
| 425 |
+
})
|
| 426 |
+
sidecar["receipts"][ACCEPTANCE] = {
|
| 427 |
+
"path": ACCEPTANCE, "sha256": acceptance_sha,
|
| 428 |
+
"schema": "compressionbenchmark-cpp135-dsc2-reuse-site-acceptance-v1",
|
| 429 |
+
"status": "accepted_completed_builtin_bitexact",
|
| 430 |
+
}
|
| 431 |
+
sidecar["cpp"]["selected_rows"] = retained
|
| 432 |
+
sidecar["cpp"]["pair_ledger"] = ledger
|
| 433 |
+
counts = sidecar["cpp"]["counts"]
|
| 434 |
+
old_main = dict(counts["main26_pair_status"])
|
| 435 |
+
require(old_main.get("partial_numeric") >= 24, "main26 partial count cannot absorb DSC2 recovery")
|
| 436 |
+
old_main["partial_numeric"] -= 24
|
| 437 |
+
old_main["numeric"] += 24
|
| 438 |
+
counts.update({
|
| 439 |
+
"active_native85_pair_conclusions": len(active_ledger),
|
| 440 |
+
"active_native85_pair_status": dict(sorted(status_counts.items())),
|
| 441 |
+
"active_native85_numeric_pairs": status_counts["numeric"],
|
| 442 |
+
"active_native85_partial_numeric_pairs": status_counts["partial_numeric"],
|
| 443 |
+
"active_native85_measured_numeric_pairs": status_counts["numeric"] + status_counts["partial_numeric"],
|
| 444 |
+
"active_native85_terminal_tombstone_pairs": status_counts["not_applicable"] + status_counts["unsupported"],
|
| 445 |
+
"selected_compact_row_count": len(retained), "timing_admitted_selected_row_count": len(timing),
|
| 446 |
+
"scope_numeric_dataset_counts": scope_dataset_counts, "scope_numeric_pair_counts": scope_pair_counts,
|
| 447 |
+
"main26_pair_status": dict(sorted(old_main.items())), "dsc2_reuse_pair_count": 24,
|
| 448 |
+
"dsc2_reuse_numeric_scope_row_count": len(additions),
|
| 449 |
+
})
|
| 450 |
+
sidecar["cpp"]["timing_subset"] = {
|
| 451 |
+
"contract": (
|
| 452 |
+
"Row-local admitted timing. The 24 DSC2 reuse pairs remain on server 192 and use the Main26 "
|
| 453 |
+
"W1/R3/T1 staged column contract: three encode repeats, then three decode repeats."
|
| 454 |
+
),
|
| 455 |
+
"selected_raw_indices": timing, "selected_row_count": len(timing),
|
| 456 |
+
"source_profile_counts": dict(sorted(Counter(
|
| 457 |
+
new_decoded[r["raw_compact_index"]]["comparison_profile"] for r in retained if r["timing_admitted"]
|
| 458 |
+
).items())),
|
| 459 |
+
}
|
| 460 |
+
sidecar["warnings"].append(
|
| 461 |
+
"DSC2 reuse changes only 24 BOS/REGER latest decisions. Composite rows preserve each integer/float "
|
| 462 |
+
"binary, terminal, source and typed route explicitly; no scalar binary is invented."
|
| 463 |
+
)
|
| 464 |
+
return sidecar
|
| 465 |
+
|
| 466 |
+
|
| 467 |
+
def sha256_bytes(payload: bytes) -> str:
|
| 468 |
+
return hashlib.sha256(payload).hexdigest()
|
| 469 |
+
|
| 470 |
+
|
| 471 |
+
def main() -> None:
|
| 472 |
+
ap = argparse.ArgumentParser()
|
| 473 |
+
ap.add_argument("--baseline-v4", type=Path, required=True)
|
| 474 |
+
ap.add_argument("--v5-patch", type=Path, required=True)
|
| 475 |
+
ap.add_argument("--overlay", type=Path, required=True)
|
| 476 |
+
ap.add_argument("--output", type=Path, required=True)
|
| 477 |
+
args = ap.parse_args()
|
| 478 |
+
baseline, patch, overlay, output = map(Path.resolve, (args.baseline_v4, args.v5_patch, args.overlay, args.output))
|
| 479 |
+
require(not output.exists(), "output already exists; preserve it and choose a new directory")
|
| 480 |
+
require(read_json(overlay / "OVERLAY_RECEIPT.json")["status"] == "complete_local_overlay_not_published_not_current", "overlay incomplete")
|
| 481 |
+
require(read_json(overlay / "INDEPENDENT_VERIFICATION.json")["status"] == "passed", "overlay verification failed")
|
| 482 |
+
actual = read_json(baseline.parents[1] / "publication" / "ACTUAL_PUBLICATION_V5.json")
|
| 483 |
+
require(actual["revision"] == PARENT_HEAD and actual["runtime"]["stage"] == "RUNNING", "published v5 parent differs")
|
| 484 |
+
|
| 485 |
+
shutil.copytree(baseline, output)
|
| 486 |
+
plan = read_json(patch / "release-plan.json")
|
| 487 |
+
for item in plan["files"]:
|
| 488 |
+
src, dst = patch / "files" / item["path"], output / item["path"]
|
| 489 |
+
require(sha256(src) == item["sha256"], f"v5 patch SHA differs: {item['path']}")
|
| 490 |
+
shutil.copy2(src, dst)
|
| 491 |
+
for source, public in EVIDENCE.items():
|
| 492 |
+
shutil.copy2(overlay / source, output / public)
|
| 493 |
+
|
| 494 |
+
dataset_rows = read_gzip_jsonl(overlay / "DATASET_METHOD_RESULTS.jsonl.gz")
|
| 495 |
+
float_rows = read_gzip_jsonl(overlay / "COLUMN_RESULTS.jsonl.gz")
|
| 496 |
+
integer_rows = read_gzip_jsonl(overlay / "RETAINED_INTEGER_COLUMNS.jsonl.gz")
|
| 497 |
+
require(len(dataset_rows) == 24 and len(float_rows) == 616 and len(integer_rows) == 176, "overlay counts differ")
|
| 498 |
+
by_pair = defaultdict(list)
|
| 499 |
+
for row in float_rows + integer_rows:
|
| 500 |
+
by_pair[str(row["dataset_id"]), str(row["method"])].append(row)
|
| 501 |
+
source_by_pair = {(str(r["dataset_id"]), str(r["method"])): r for r in dataset_rows}
|
| 502 |
+
require(set(by_pair) == set(source_by_pair) and len(source_by_pair) == 24, "overlay pair identities differ")
|
| 503 |
+
summaries = {}
|
| 504 |
+
for pair in sorted(source_by_pair):
|
| 505 |
+
columns = by_pair[pair]
|
| 506 |
+
scopes = {"overall": summarize(source_by_pair[pair], columns, "overall"),
|
| 507 |
+
"float": summarize(source_by_pair[pair], columns, "float")}
|
| 508 |
+
if any(dtype_scope(str(r["dtype"])) == "integer" for r in columns):
|
| 509 |
+
scopes["integer"] = summarize(source_by_pair[pair], columns, "integer")
|
| 510 |
+
summaries[pair] = scopes
|
| 511 |
+
require(sum(len(v) for v in summaries.values()) == 60, "expected 60 repaired scope rows")
|
| 512 |
+
|
| 513 |
+
evidence_hashes = {public: {"bytes": (output / public).stat().st_size, "sha256": sha256(output / public)}
|
| 514 |
+
for public in EVIDENCE.values()}
|
| 515 |
+
acceptance = {
|
| 516 |
+
"schema": "compressionbenchmark-cpp135-dsc2-reuse-site-acceptance-v1",
|
| 517 |
+
"status": "accepted_completed_builtin_bitexact", "created_at": dt.datetime.now(dt.timezone.utc).isoformat(),
|
| 518 |
+
"parent_revision": PARENT_HEAD,
|
| 519 |
+
"scope": {"dataset_count": 12, "method_count": 2, "pair_count": 24,
|
| 520 |
+
"numeric_scope_row_count": 60, "float_column_method_count": 616,
|
| 521 |
+
"retained_integer_column_method_count": 176, "methods": ["BOS", "REGER"]},
|
| 522 |
+
"timing": {
|
| 523 |
+
"host": "192.168.99.20", "comparison_profile": PROFILE, "threads": 1,
|
| 524 |
+
"schedule": "one warmup; three encode measurements; then three decode measurements",
|
| 525 |
+
"aggregation": "equal-column mean of median(aligned block sums)/valid native points",
|
| 526 |
+
"precision": "charged once per float method-column",
|
| 527 |
+
"cross_host_mixing": False,
|
| 528 |
+
},
|
| 529 |
+
"lossless": "producer warmup and each measured decode compare the complete original Block bit-exactly",
|
| 530 |
+
"metric_denominator": "original valid native points; typed DSC2 integer_words is evidence only",
|
| 531 |
+
"composite_route": "successful main26 integer columns retained; DSC2 v2 float columns replace old partial float columns; all binaries, terminals, profiles and sources remain explicit sets",
|
| 532 |
+
"overlay_receipt_sha256": sha256(overlay / "OVERLAY_RECEIPT.json"),
|
| 533 |
+
"independent_compact_verification_sha256": sha256(overlay / "INDEPENDENT_VERIFICATION.json"),
|
| 534 |
+
"public_evidence": evidence_hashes,
|
| 535 |
+
}
|
| 536 |
+
write_json(output / ACCEPTANCE, acceptance)
|
| 537 |
+
acceptance_sha = sha256(output / ACCEPTANCE)
|
| 538 |
+
additions = [make_site_row(summary, acceptance_sha) for pair in sorted(summaries)
|
| 539 |
+
for _, summary in sorted(summaries[pair].items())]
|
| 540 |
+
additions.sort(key=lambda r: (r["dataset"], r["family"], r["scope"]))
|
| 541 |
+
|
| 542 |
+
data = read_gzip_json(baseline / DATA_GZ)
|
| 543 |
+
old_rows_sha = canonical_sha(data["dataset_results"])
|
| 544 |
+
old_count = len(data["dataset_results"])
|
| 545 |
+
require(old_count == 99008, "published Main26 canonical row count differs")
|
| 546 |
+
require(not any(r.get("measurement_status") == "main26_dsc2_reuse_complete_valid_support_builtin_bitexact_roundtrip"
|
| 547 |
+
for r in data["dataset_results"]), "DSC2 reuse is already present")
|
| 548 |
+
data["dataset_results"].extend(additions)
|
| 549 |
+
require(canonical_sha(data["dataset_results"][:old_count]) == old_rows_sha, "historical rows changed")
|
| 550 |
+
helper_path = output / "build_accepted_completion_v7.py"
|
| 551 |
+
spec = importlib.util.spec_from_file_location("dsc2_recompute", helper_path)
|
| 552 |
+
helper = importlib.util.module_from_spec(spec)
|
| 553 |
+
require(spec.loader is not None, "cannot load aggregate recompute helper")
|
| 554 |
+
spec.loader.exec_module(helper)
|
| 555 |
+
helper.recompute(data)
|
| 556 |
+
helper.update_methods(data, additions)
|
| 557 |
+
data["benchmark"]["implementation_runtimes"] = sorted({r["comparison_profile"] for r in data["dataset_results"]})
|
| 558 |
+
data["benchmark"]["exact_source_profiles"] = sorted({r["runtime"] for r in data["dataset_results"]})
|
| 559 |
+
data["benchmark"].setdefault("runtime_hosts", {})[PROFILE] = "192.168.99.20"
|
| 560 |
+
run_summary = {
|
| 561 |
+
"schema": "cpp135-main26-dsc2-reuse-site-import-v1", "comparison_profile": PROFILE,
|
| 562 |
+
"execution_host": "192.168.99.20", "pair_count": 24, "numeric_row_count": len(additions),
|
| 563 |
+
"dataset_count": 12, "methods": ["BOS", "REGER"],
|
| 564 |
+
"timing_policy": acceptance["timing"], "acceptance": {"file": ACCEPTANCE, "sha256": acceptance_sha},
|
| 565 |
+
"old_results_retained": True,
|
| 566 |
+
}
|
| 567 |
+
data["source"].setdefault("measurement_runs", []).append(run_summary)
|
| 568 |
+
coverage = data["coverage"]
|
| 569 |
+
coverage.update(
|
| 570 |
+
dataset_result_row_count=len(data["dataset_results"]),
|
| 571 |
+
configuration_aggregate_row_count=len(data["configuration_aggregates"]),
|
| 572 |
+
family_best_aggregate_row_count=len(data["family_best_aggregates"]),
|
| 573 |
+
method_family_count=len({r["family"] for r in data["dataset_results"]}),
|
| 574 |
+
method_configuration_count=len({r["algorithm_variant"] for r in data["dataset_results"]}),
|
| 575 |
+
runtime_configuration_count=len({(r["comparison_profile"], r["algorithm_variant"]) for r in data["dataset_results"]}),
|
| 576 |
+
runtime_count=len(data["benchmark"]["implementation_runtimes"]),
|
| 577 |
+
runtimes=data["benchmark"]["implementation_runtimes"],
|
| 578 |
+
timing_unavailable_dataset_result_count=sum(r.get("timing_aggregation") == "unavailable" for r in data["dataset_results"]),
|
| 579 |
+
)
|
| 580 |
+
coverage["cpp135_main26_dsc2_reuse"] = run_summary
|
| 581 |
+
write_json(output / "data.json", data)
|
| 582 |
+
deterministic_gzip(output / "data.json", output / DATA_GZ)
|
| 583 |
+
subprocess.run([sys.executable, str(output / "build_ui_payload.py")], check=True, capture_output=True, text=True)
|
| 584 |
+
new_ui = read_json(output / "ui-data.json")
|
| 585 |
+
data_sha, ui_sha = sha256(output / "data.json"), sha256(output / "ui-data.json")
|
| 586 |
+
require(new_ui["source_data_sha256"] == data_sha and len(new_ui["compact_records"]) == len(data["dataset_results"]), "data/UI closure differs")
|
| 587 |
+
old_ui = read_json(baseline / "ui-data.json")
|
| 588 |
+
old_sidecar = read_gzip_json(baseline / SIDECAR_GZ)
|
| 589 |
+
sidecar = replace_sidecar(old_sidecar, old_ui, new_ui, additions, set(source_by_pair), summaries,
|
| 590 |
+
acceptance_sha, data_sha, ui_sha)
|
| 591 |
+
write_json(output / "cpp-latest-view.json", sidecar)
|
| 592 |
+
sidecar_sha = sha256(output / "cpp-latest-view.json")
|
| 593 |
+
deterministic_gzip(output / "cpp-latest-view.json", output / SIDECAR_GZ)
|
| 594 |
+
sidecar_gz_sha = sha256(output / SIDECAR_GZ)
|
| 595 |
+
|
| 596 |
+
app_path = output / "app.js"
|
| 597 |
+
app = app_path.read_text()
|
| 598 |
+
old_sidecar_sha = gzip_content_sha256(baseline / SIDECAR_GZ)
|
| 599 |
+
require(app.count(old_sidecar_sha) == 1 and app.count(sha256(baseline / SIDECAR_GZ)) == 1, "app sidecar SHA anchors differ")
|
| 600 |
+
app = app.replace(old_sidecar_sha, sidecar_sha).replace(sha256(baseline / SIDECAR_GZ), sidecar_gz_sha)
|
| 601 |
+
require(app.count("20261015-main26-gzip-v4") == 2, "app cache token count differs")
|
| 602 |
+
app = app.replace("20261015-main26-gzip-v4", VERSION)
|
| 603 |
+
require(app.count(BASELINE_CPP_LATEST_STATUS) == 1, "app exact sidecar status guard differs")
|
| 604 |
+
app = app.replace(BASELINE_CPP_LATEST_STATUS, DSC2_CPP_LATEST_STATUS)
|
| 605 |
+
app_path.write_text(app)
|
| 606 |
+
subprocess.run(["node", "--check", str(app_path)], check=True, capture_output=True, text=True)
|
| 607 |
+
index_path = output / "index.html"
|
| 608 |
+
index = index_path.read_text()
|
| 609 |
+
require(index.count("20261015-main26-gzip-v4") == 1, "index cache token differs")
|
| 610 |
+
index_path.write_text(index.replace("20261015-main26-gzip-v4", VERSION))
|
| 611 |
+
require(sha256(output / "ranking.js") == sha256(baseline / "ranking.js"), "ranking.js changed")
|
| 612 |
+
|
| 613 |
+
readme_path = output / "README.md"
|
| 614 |
+
readme_path.write_text(readme_path.read_text() + (
|
| 615 |
+
"\n## DSC2 BOS/REGER reuse\n\nThe latest C++ view additionally replaces exactly 24 formerly partial "
|
| 616 |
+
"BOS/REGER pairs over 12 datasets. Repaired float columns use the DSC2 v2 route; successful integer "
|
| 617 |
+
"columns retain their Main26 route. All work ran on server 192 under the staged W1/R3/T1 contract "
|
| 618 |
+
"(three encode measurements followed by three decode measurements), with precision derived once per "
|
| 619 |
+
"float method-column and built-in complete Block bit-exact checks. Composite rows retain every binary, "
|
| 620 |
+
"terminal, profile and source route; no scalar binary identity is invented.\n"
|
| 621 |
+
))
|
| 622 |
+
|
| 623 |
+
manifest = read_json(output / "manifest.json")
|
| 624 |
+
data_gz_sha = sha256(output / DATA_GZ)
|
| 625 |
+
manifest["data_file"] = DATA_GZ
|
| 626 |
+
manifest["data_sha256"] = data_gz_sha
|
| 627 |
+
manifest["data_uncompressed_sha256"] = data_sha
|
| 628 |
+
manifest["counts"] = coverage
|
| 629 |
+
manifest["measurement_runs"] = data["source"]["measurement_runs"]
|
| 630 |
+
manifest["cpp135_main26_dsc2_reuse"] = {
|
| 631 |
+
**run_summary,
|
| 632 |
+
"evidence": evidence_hashes,
|
| 633 |
+
"acceptance": {"file": ACCEPTANCE, "sha256": acceptance_sha},
|
| 634 |
+
"builder": {"file": Path(__file__).name, "sha256": sha256(Path(__file__))},
|
| 635 |
+
}
|
| 636 |
+
manifest["data_transport"] = {"file": DATA_GZ, "sha256": data_gz_sha,
|
| 637 |
+
"uncompressed_sha256": data_sha, "encoding": "gzip"}
|
| 638 |
+
manifest["cpp_latest_view"] = {"file": SIDECAR_GZ, "sha256": sidecar_gz_sha,
|
| 639 |
+
"uncompressed_sha256": sidecar_sha, "encoding": "gzip",
|
| 640 |
+
"schema": sidecar["schema"], "status": sidecar["status"]}
|
| 641 |
+
manifest["latest_page_inputs"] = {
|
| 642 |
+
"compact_data": {"file": "ui-data.json", "sha256": ui_sha},
|
| 643 |
+
"selection_sidecar": copy.deepcopy(manifest["cpp_latest_view"]),
|
| 644 |
+
}
|
| 645 |
+
write_json(output / "manifest.json", manifest)
|
| 646 |
+
shutil.copy2(Path(__file__), output / Path(__file__).name)
|
| 647 |
+
|
| 648 |
+
changed = [DATA_GZ, "ui-data.json", SIDECAR_GZ, "app.js", "index.html", "README.md", "manifest.json",
|
| 649 |
+
*EVIDENCE.values(), ACCEPTANCE, Path(__file__).name]
|
| 650 |
+
integration = {
|
| 651 |
+
"schema": "compressionbenchmark-cpp135-dsc2-reuse-site-integration-v3",
|
| 652 |
+
"status": "passed_not_published", "created_at": dt.datetime.now(dt.timezone.utc).isoformat(),
|
| 653 |
+
"parent_revision": PARENT_HEAD, "historical_dataset_result_count": old_count,
|
| 654 |
+
"historical_dataset_results_canonical_sha256": old_rows_sha,
|
| 655 |
+
"new_dataset_result_count": len(additions), "final_dataset_result_count": len(data["dataset_results"]),
|
| 656 |
+
"scope": {"dataset_count": 12, "method_count": 2, "pair_count": 24, "numeric_scope_rows": len(additions)},
|
| 657 |
+
"files": {name: {"bytes": (output / name).stat().st_size, "sha256": sha256(output / name)} for name in changed},
|
| 658 |
+
"publication_file_list": changed + [INTEGRATION],
|
| 659 |
+
"semantic_checks": {
|
| 660 |
+
"only_exact_24_latest_cpp_pair_decisions_replaced": True,
|
| 661 |
+
"all_historical_dataset_rows_retained_in_canonical_order": True,
|
| 662 |
+
"exact_60_new_numeric_scope_rows_appended": True,
|
| 663 |
+
"successful_176_integer_column_routes_retained": True,
|
| 664 |
+
"composite_scalar_binary_is_null_and_binary_set_is_complete": True,
|
| 665 |
+
"same_host_no_cross_host_timing": True,
|
| 666 |
+
"w1_r3_t1_three_encode_then_three_decode": True,
|
| 667 |
+
"bitexact_decode_evidence_bound": True,
|
| 668 |
+
"ranking_js_unchanged": True,
|
| 669 |
+
"data_ui_sidecar_hash_closure": True,
|
| 670 |
+
"main26_3510_import_not_replayed": True,
|
| 671 |
+
"main26_and_dsc2_same_actual_timing_contract": True,
|
| 672 |
+
"dsc2_route_and_binary_provenance_remains_explicit": True,
|
| 673 |
+
},
|
| 674 |
+
"transport": {"data_gzip_sha256": data_gz_sha, "data_uncompressed_sha256": data_sha,
|
| 675 |
+
"sidecar_gzip_sha256": sidecar_gz_sha, "sidecar_uncompressed_sha256": sidecar_sha},
|
| 676 |
+
}
|
| 677 |
+
write_json(output / INTEGRATION, integration)
|
| 678 |
+
result = {
|
| 679 |
+
"status": "passed_not_published", "output": str(output), "parent_revision": PARENT_HEAD,
|
| 680 |
+
"pair_count": 24, "numeric_rows_added": len(additions), "data_sha256": data_sha,
|
| 681 |
+
"ui_data_sha256": ui_sha, "sidecar_sha256": sidecar_sha,
|
| 682 |
+
"manifest_sha256": sha256(output / "manifest.json"),
|
| 683 |
+
"integration_sha256": sha256(output / INTEGRATION),
|
| 684 |
+
"publication_files": integration["publication_file_list"],
|
| 685 |
+
}
|
| 686 |
+
write_json(Path(__file__).with_name("BUILD_RESULT_V3.json"), result)
|
| 687 |
+
print(json.dumps(result, indent=2, sort_keys=True))
|
| 688 |
+
|
| 689 |
+
|
| 690 |
+
if __name__ == "__main__":
|
| 691 |
+
main()
|
cpp-latest-view-main26.json.gz
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5069bbcb955fa3ea9b12eb1b8771500eb712d01ed529f9fbec0103b2f906fa9b
|
| 3 |
+
size 851074
|
data-main26.json.gz
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1325c3fc08c93cedd8f8714662690fb09586c7460e4110a88a0148544df639b8
|
| 3 |
+
size 10056008
|
dsc2-reuse-column-audit.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:68f41f2addb0fb9c2dea0f6741e5c3d3fce568db3454d1d227faad7fb97fb029
|
| 3 |
+
size 56678
|
dsc2-reuse-column-overlay.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3be84e62791a7b6218e58d3d717f2ffd5b3c38e835a8b9f81cec7615237a7e8e
|
| 3 |
+
size 142163
|
dsc2-reuse-dataset-method-overlay.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b63ad6ac3e481202d53ea09b17a7c4f3bc340b5dc086b08f8e25cc798603d9db
|
| 3 |
+
size 6754
|
dsc2-reuse-retained-integer-columns.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:dc539e507ffd03b24d807cc0e69d3b3d86931231ffd6eecdb07686c95f5adbdd
|
| 3 |
+
size 37767
|
index.html
CHANGED
|
@@ -7,7 +7,7 @@
|
|
| 7 |
<meta name="color-scheme" content="light dark">
|
| 8 |
<title>THULab | Time Series Compression Benchmark</title>
|
| 9 |
<link rel="stylesheet" href="style.css?v=20261013-cpp-latest-v1">
|
| 10 |
-
<script src="app.js?v=20261015-main26-
|
| 11 |
</head>
|
| 12 |
<body>
|
| 13 |
<a class="skip-link" href="#content">Skip to results</a>
|
|
|
|
| 7 |
<meta name="color-scheme" content="light dark">
|
| 8 |
<title>THULab | Time Series Compression Benchmark</title>
|
| 9 |
<link rel="stylesheet" href="style.css?v=20261013-cpp-latest-v1">
|
| 10 |
+
<script src="app.js?v=20261015-main26-dsc2-reuse-v3" type="module"></script>
|
| 11 |
</head>
|
| 12 |
<body>
|
| 13 |
<a class="skip-link" href="#content">Skip to results</a>
|
manifest.json
CHANGED
|
@@ -33,7 +33,7 @@
|
|
| 33 |
},
|
| 34 |
"counts": {
|
| 35 |
"catalog_dataset_count": 164,
|
| 36 |
-
"configuration_aggregate_row_count":
|
| 37 |
"corrected_five425": {
|
| 38 |
"active_method_count": 85,
|
| 39 |
"all_na_pair_count": 0,
|
|
@@ -75,10 +75,6 @@
|
|
| 75 |
},
|
| 76 |
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 77 |
"dataset_count": 135,
|
| 78 |
-
"documentation": {
|
| 79 |
-
"file": "README.md",
|
| 80 |
-
"sha256": "c89a678703ff26d46f676a8bb807aff3da30c74961c21063ea277307c8e8af99"
|
| 81 |
-
},
|
| 82 |
"dtype_scope_status_counts": {
|
| 83 |
"float": {
|
| 84 |
"numeric": 1936,
|
|
@@ -109,20 +105,6 @@
|
|
| 109 |
"partial_numeric": 629,
|
| 110 |
"unsupported": 1352
|
| 111 |
},
|
| 112 |
-
"publication_transport": {
|
| 113 |
-
"cpp_latest_view": {
|
| 114 |
-
"encoding": "gzip",
|
| 115 |
-
"file": "cpp-latest-view-main26.json.gz",
|
| 116 |
-
"sha256": "818f9390fbbfe49e3afc1f44330cb612e32848376f158202413ad60097672180",
|
| 117 |
-
"uncompressed_sha256": "f1aef2f23a0374e43ddde18d5ab2b29095ff344cf9ef4d591cd8037e55958a6e"
|
| 118 |
-
},
|
| 119 |
-
"data": {
|
| 120 |
-
"encoding": "gzip",
|
| 121 |
-
"file": "data-main26.json.gz",
|
| 122 |
-
"sha256": "7a00869fc545f1f2cb7a6c7bd2a6f72e12eddc7361edc68925d3b4bd04ac28a8",
|
| 123 |
-
"uncompressed_sha256": "e7f7a9f294c1a94aec0e8271c62308f499286cbe9bd2333a6fe685f0839cabb2"
|
| 124 |
-
}
|
| 125 |
-
},
|
| 126 |
"schema": "cpp135-main26-site-import-v1",
|
| 127 |
"site_acceptance": {
|
| 128 |
"file": "CPP135_MAIN26_SITE_ACCEPTANCE.json",
|
|
@@ -130,8 +112,34 @@
|
|
| 130 |
},
|
| 131 |
"timing_policy": "same server-192 W1/R3/T1 column contract; column arithmetic mean; full-valid-support Overall/integer/float scopes only"
|
| 132 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 133 |
"dataset_count": 164,
|
| 134 |
-
"dataset_result_row_count":
|
| 135 |
"excluded_datasets": [
|
| 136 |
"Arade",
|
| 137 |
"app_flow",
|
|
@@ -167,7 +175,7 @@
|
|
| 167 |
"timing_policy": "server192 float and pure-float overall only; mixed overall timing null; never enters server166-only figures"
|
| 168 |
},
|
| 169 |
"measured_dataset_count": 164,
|
| 170 |
-
"method_configuration_count":
|
| 171 |
"method_family_count": 104,
|
| 172 |
"missing_measurement_policy": "Missing report and dataset/scope/runtime/configuration combinations are omitted; the UI must display them as unavailable, never as zero.",
|
| 173 |
"missing_source_report_count": 0,
|
|
@@ -466,7 +474,7 @@
|
|
| 466 |
"native86_unresolved_problem_pair_count": 0,
|
| 467 |
"native86_v9_recovered_pair_count": 154,
|
| 468 |
"paper_leaderboard_row_count": 0,
|
| 469 |
-
"runtime_configuration_count":
|
| 470 |
"runtime_count": 14,
|
| 471 |
"runtimes": [
|
| 472 |
"cpp",
|
|
@@ -561,35 +569,83 @@
|
|
| 561 |
},
|
| 562 |
"timing_policy": "same server-192 W1/R3/T1 column contract; column arithmetic mean; full-valid-support Overall/integer/float scopes only"
|
| 563 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 564 |
"cpp_latest_view": {
|
| 565 |
"encoding": "gzip",
|
| 566 |
"file": "cpp-latest-view-main26.json.gz",
|
| 567 |
-
"public_packager": {
|
| 568 |
-
"file": "build_main26_gzip_storage.py",
|
| 569 |
-
"role": "main26_canonical_json_gzip_packager",
|
| 570 |
-
"schema": "cpp135-main26-gzip-storage-build-v1",
|
| 571 |
-
"sha256": "eff8a5fa67dc094e6d85e4d6d7ac54cb6e5643678a23751f1df68545c054549e"
|
| 572 |
-
},
|
| 573 |
"schema": "compressionbenchmark-cpp-latest-view-v1",
|
| 574 |
-
"sha256": "
|
| 575 |
-
"status": "
|
| 576 |
-
"uncompressed_sha256": "
|
| 577 |
},
|
| 578 |
"data_file": "data-main26.json.gz",
|
| 579 |
-
"data_sha256": "
|
| 580 |
"data_transport": {
|
| 581 |
"encoding": "gzip",
|
| 582 |
"file": "data-main26.json.gz",
|
| 583 |
-
"
|
| 584 |
-
|
| 585 |
-
"role": "main26_canonical_json_gzip_packager",
|
| 586 |
-
"schema": "cpp135-main26-gzip-storage-build-v1",
|
| 587 |
-
"sha256": "eff8a5fa67dc094e6d85e4d6d7ac54cb6e5643678a23751f1df68545c054549e"
|
| 588 |
-
},
|
| 589 |
-
"sha256": "7a00869fc545f1f2cb7a6c7bd2a6f72e12eddc7361edc68925d3b4bd04ac28a8",
|
| 590 |
-
"uncompressed_sha256": "e7f7a9f294c1a94aec0e8271c62308f499286cbe9bd2333a6fe685f0839cabb2"
|
| 591 |
},
|
| 592 |
-
"data_uncompressed_sha256": "
|
| 593 |
"dataset_catalog_sha256": "47869c8078e8c864810d4f961fa5879e120943bb3f371b39f0adc74f3de2ee2d",
|
| 594 |
"excluded_content": [
|
| 595 |
"raw datasets",
|
|
@@ -634,15 +690,15 @@
|
|
| 634 |
"latest_page_inputs": {
|
| 635 |
"compact_data": {
|
| 636 |
"file": "ui-data.json",
|
| 637 |
-
"sha256": "
|
| 638 |
},
|
| 639 |
"selection_sidecar": {
|
| 640 |
"encoding": "gzip",
|
| 641 |
"file": "cpp-latest-view-main26.json.gz",
|
| 642 |
"schema": "compressionbenchmark-cpp-latest-view-v1",
|
| 643 |
-
"sha256": "
|
| 644 |
-
"status": "
|
| 645 |
-
"uncompressed_sha256": "
|
| 646 |
}
|
| 647 |
},
|
| 648 |
"measurement_runs": [
|
|
@@ -1302,6 +1358,32 @@
|
|
| 1302 |
"sha256": "e99fdac1f870174c520a2a2fae643ca4259a33afb4feffd0e849a5a302ad91cd"
|
| 1303 |
},
|
| 1304 |
"timing_policy": "same server-192 W1/R3/T1 column contract; column arithmetic mean; full-valid-support Overall/integer/float scopes only"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1305 |
}
|
| 1306 |
],
|
| 1307 |
"native86_imports": {
|
|
|
|
| 33 |
},
|
| 34 |
"counts": {
|
| 35 |
"catalog_dataset_count": 164,
|
| 36 |
+
"configuration_aggregate_row_count": 5914,
|
| 37 |
"corrected_five425": {
|
| 38 |
"active_method_count": 85,
|
| 39 |
"all_na_pair_count": 0,
|
|
|
|
| 75 |
},
|
| 76 |
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 77 |
"dataset_count": 135,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
"dtype_scope_status_counts": {
|
| 79 |
"float": {
|
| 80 |
"numeric": 1936,
|
|
|
|
| 105 |
"partial_numeric": 629,
|
| 106 |
"unsupported": 1352
|
| 107 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
"schema": "cpp135-main26-site-import-v1",
|
| 109 |
"site_acceptance": {
|
| 110 |
"file": "CPP135_MAIN26_SITE_ACCEPTANCE.json",
|
|
|
|
| 112 |
},
|
| 113 |
"timing_policy": "same server-192 W1/R3/T1 column contract; column arithmetic mean; full-valid-support Overall/integer/float scopes only"
|
| 114 |
},
|
| 115 |
+
"cpp135_main26_dsc2_reuse": {
|
| 116 |
+
"acceptance": {
|
| 117 |
+
"file": "DSC2_REUSE_SITE_ACCEPTANCE.json",
|
| 118 |
+
"sha256": "64968f6dd5b8402a7fc5e6416d02b4c462dea496ce0cd4e6dac391218632331f"
|
| 119 |
+
},
|
| 120 |
+
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 121 |
+
"dataset_count": 12,
|
| 122 |
+
"execution_host": "192.168.99.20",
|
| 123 |
+
"methods": [
|
| 124 |
+
"BOS",
|
| 125 |
+
"REGER"
|
| 126 |
+
],
|
| 127 |
+
"numeric_row_count": 60,
|
| 128 |
+
"old_results_retained": true,
|
| 129 |
+
"pair_count": 24,
|
| 130 |
+
"schema": "cpp135-main26-dsc2-reuse-site-import-v1",
|
| 131 |
+
"timing_policy": {
|
| 132 |
+
"aggregation": "equal-column mean of median(aligned block sums)/valid native points",
|
| 133 |
+
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 134 |
+
"cross_host_mixing": false,
|
| 135 |
+
"host": "192.168.99.20",
|
| 136 |
+
"precision": "charged once per float method-column",
|
| 137 |
+
"schedule": "one warmup; three encode measurements; then three decode measurements",
|
| 138 |
+
"threads": 1
|
| 139 |
+
}
|
| 140 |
+
},
|
| 141 |
"dataset_count": 164,
|
| 142 |
+
"dataset_result_row_count": 99068,
|
| 143 |
"excluded_datasets": [
|
| 144 |
"Arade",
|
| 145 |
"app_flow",
|
|
|
|
| 175 |
"timing_policy": "server192 float and pure-float overall only; mixed overall timing null; never enters server166-only figures"
|
| 176 |
},
|
| 177 |
"measured_dataset_count": 164,
|
| 178 |
+
"method_configuration_count": 988,
|
| 179 |
"method_family_count": 104,
|
| 180 |
"missing_measurement_policy": "Missing report and dataset/scope/runtime/configuration combinations are omitted; the UI must display them as unavailable, never as zero.",
|
| 181 |
"missing_source_report_count": 0,
|
|
|
|
| 474 |
"native86_unresolved_problem_pair_count": 0,
|
| 475 |
"native86_v9_recovered_pair_count": 154,
|
| 476 |
"paper_leaderboard_row_count": 0,
|
| 477 |
+
"runtime_configuration_count": 1636,
|
| 478 |
"runtime_count": 14,
|
| 479 |
"runtimes": [
|
| 480 |
"cpp",
|
|
|
|
| 569 |
},
|
| 570 |
"timing_policy": "same server-192 W1/R3/T1 column contract; column arithmetic mean; full-valid-support Overall/integer/float scopes only"
|
| 571 |
},
|
| 572 |
+
"cpp135_main26_dsc2_reuse": {
|
| 573 |
+
"acceptance": {
|
| 574 |
+
"file": "DSC2_REUSE_SITE_ACCEPTANCE.json",
|
| 575 |
+
"sha256": "64968f6dd5b8402a7fc5e6416d02b4c462dea496ce0cd4e6dac391218632331f"
|
| 576 |
+
},
|
| 577 |
+
"builder": {
|
| 578 |
+
"file": "build_dsc2_reuse_site.py",
|
| 579 |
+
"sha256": "9d5a3a8e2db84f94bde4236f4c7ba4855f53b31db703c3178fda1f25f7a2bf78"
|
| 580 |
+
},
|
| 581 |
+
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 582 |
+
"dataset_count": 12,
|
| 583 |
+
"evidence": {
|
| 584 |
+
"DSC2_REUSE_INDEPENDENT_VERIFICATION.json": {
|
| 585 |
+
"bytes": 739,
|
| 586 |
+
"sha256": "3c4c8a705cb26f53e922378508b38c92909396fadc84582a2ff22582d38857c9"
|
| 587 |
+
},
|
| 588 |
+
"DSC2_REUSE_OVERLAY_RECEIPT.json": {
|
| 589 |
+
"bytes": 2358,
|
| 590 |
+
"sha256": "ff1d11bb0d66ae33c7961c0534981ac6c0240974b6a29a30f9d752c700475f0e"
|
| 591 |
+
},
|
| 592 |
+
"DSC2_REUSE_SOURCE_BINDINGS.json": {
|
| 593 |
+
"bytes": 2676,
|
| 594 |
+
"sha256": "d73e349d3c500dda077012cb1a33375643df62c379fa9e4f611d5c4d8327f005"
|
| 595 |
+
},
|
| 596 |
+
"dsc2-reuse-column-audit.jsonl.gz": {
|
| 597 |
+
"bytes": 56678,
|
| 598 |
+
"sha256": "68f41f2addb0fb9c2dea0f6741e5c3d3fce568db3454d1d227faad7fb97fb029"
|
| 599 |
+
},
|
| 600 |
+
"dsc2-reuse-column-overlay.jsonl.gz": {
|
| 601 |
+
"bytes": 142163,
|
| 602 |
+
"sha256": "3be84e62791a7b6218e58d3d717f2ffd5b3c38e835a8b9f81cec7615237a7e8e"
|
| 603 |
+
},
|
| 604 |
+
"dsc2-reuse-dataset-method-overlay.jsonl.gz": {
|
| 605 |
+
"bytes": 6754,
|
| 606 |
+
"sha256": "b63ad6ac3e481202d53ea09b17a7c4f3bc340b5dc086b08f8e25cc798603d9db"
|
| 607 |
+
},
|
| 608 |
+
"dsc2-reuse-retained-integer-columns.jsonl.gz": {
|
| 609 |
+
"bytes": 37767,
|
| 610 |
+
"sha256": "dc539e507ffd03b24d807cc0e69d3b3d86931231ffd6eecdb07686c95f5adbdd"
|
| 611 |
+
}
|
| 612 |
+
},
|
| 613 |
+
"execution_host": "192.168.99.20",
|
| 614 |
+
"methods": [
|
| 615 |
+
"BOS",
|
| 616 |
+
"REGER"
|
| 617 |
+
],
|
| 618 |
+
"numeric_row_count": 60,
|
| 619 |
+
"old_results_retained": true,
|
| 620 |
+
"pair_count": 24,
|
| 621 |
+
"schema": "cpp135-main26-dsc2-reuse-site-import-v1",
|
| 622 |
+
"timing_policy": {
|
| 623 |
+
"aggregation": "equal-column mean of median(aligned block sums)/valid native points",
|
| 624 |
+
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 625 |
+
"cross_host_mixing": false,
|
| 626 |
+
"host": "192.168.99.20",
|
| 627 |
+
"precision": "charged once per float method-column",
|
| 628 |
+
"schedule": "one warmup; three encode measurements; then three decode measurements",
|
| 629 |
+
"threads": 1
|
| 630 |
+
}
|
| 631 |
+
},
|
| 632 |
"cpp_latest_view": {
|
| 633 |
"encoding": "gzip",
|
| 634 |
"file": "cpp-latest-view-main26.json.gz",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 635 |
"schema": "compressionbenchmark-cpp-latest-view-v1",
|
| 636 |
+
"sha256": "5069bbcb955fa3ea9b12eb1b8771500eb712d01ed529f9fbec0103b2f906fa9b",
|
| 637 |
+
"status": "built_from_published_main26_plus_completed_dsc2_reuse",
|
| 638 |
+
"uncompressed_sha256": "6a083b73b72dd7b93a2cb84bedf852c2df3ee025d0be104c2a1552cdd184dc80"
|
| 639 |
},
|
| 640 |
"data_file": "data-main26.json.gz",
|
| 641 |
+
"data_sha256": "1325c3fc08c93cedd8f8714662690fb09586c7460e4110a88a0148544df639b8",
|
| 642 |
"data_transport": {
|
| 643 |
"encoding": "gzip",
|
| 644 |
"file": "data-main26.json.gz",
|
| 645 |
+
"sha256": "1325c3fc08c93cedd8f8714662690fb09586c7460e4110a88a0148544df639b8",
|
| 646 |
+
"uncompressed_sha256": "39b017fab9ee25ca7758f678d30212ed21d4e8c138de2161daa0b33b530dd376"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 647 |
},
|
| 648 |
+
"data_uncompressed_sha256": "39b017fab9ee25ca7758f678d30212ed21d4e8c138de2161daa0b33b530dd376",
|
| 649 |
"dataset_catalog_sha256": "47869c8078e8c864810d4f961fa5879e120943bb3f371b39f0adc74f3de2ee2d",
|
| 650 |
"excluded_content": [
|
| 651 |
"raw datasets",
|
|
|
|
| 690 |
"latest_page_inputs": {
|
| 691 |
"compact_data": {
|
| 692 |
"file": "ui-data.json",
|
| 693 |
+
"sha256": "8a1f02ce7e55e68f464a7daec6dab8a8c1a12fd632d5b351bb0d4474522570ae"
|
| 694 |
},
|
| 695 |
"selection_sidecar": {
|
| 696 |
"encoding": "gzip",
|
| 697 |
"file": "cpp-latest-view-main26.json.gz",
|
| 698 |
"schema": "compressionbenchmark-cpp-latest-view-v1",
|
| 699 |
+
"sha256": "5069bbcb955fa3ea9b12eb1b8771500eb712d01ed529f9fbec0103b2f906fa9b",
|
| 700 |
+
"status": "built_from_published_main26_plus_completed_dsc2_reuse",
|
| 701 |
+
"uncompressed_sha256": "6a083b73b72dd7b93a2cb84bedf852c2df3ee025d0be104c2a1552cdd184dc80"
|
| 702 |
}
|
| 703 |
},
|
| 704 |
"measurement_runs": [
|
|
|
|
| 1358 |
"sha256": "e99fdac1f870174c520a2a2fae643ca4259a33afb4feffd0e849a5a302ad91cd"
|
| 1359 |
},
|
| 1360 |
"timing_policy": "same server-192 W1/R3/T1 column contract; column arithmetic mean; full-valid-support Overall/integer/float scopes only"
|
| 1361 |
+
},
|
| 1362 |
+
{
|
| 1363 |
+
"acceptance": {
|
| 1364 |
+
"file": "DSC2_REUSE_SITE_ACCEPTANCE.json",
|
| 1365 |
+
"sha256": "64968f6dd5b8402a7fc5e6416d02b4c462dea496ce0cd4e6dac391218632331f"
|
| 1366 |
+
},
|
| 1367 |
+
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 1368 |
+
"dataset_count": 12,
|
| 1369 |
+
"execution_host": "192.168.99.20",
|
| 1370 |
+
"methods": [
|
| 1371 |
+
"BOS",
|
| 1372 |
+
"REGER"
|
| 1373 |
+
],
|
| 1374 |
+
"numeric_row_count": 60,
|
| 1375 |
+
"old_results_retained": true,
|
| 1376 |
+
"pair_count": 24,
|
| 1377 |
+
"schema": "cpp135-main26-dsc2-reuse-site-import-v1",
|
| 1378 |
+
"timing_policy": {
|
| 1379 |
+
"aggregation": "equal-column mean of median(aligned block sums)/valid native points",
|
| 1380 |
+
"comparison_profile": "cpp-native192-main26-whole-column-20261015-v1",
|
| 1381 |
+
"cross_host_mixing": false,
|
| 1382 |
+
"host": "192.168.99.20",
|
| 1383 |
+
"precision": "charged once per float method-column",
|
| 1384 |
+
"schedule": "one warmup; three encode measurements; then three decode measurements",
|
| 1385 |
+
"threads": 1
|
| 1386 |
+
}
|
| 1387 |
}
|
| 1388 |
],
|
| 1389 |
"native86_imports": {
|
ui-data.json
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|