Skip to content

Eliminate unevaluatedProperties behind a single \ branch - #1028

Merged
jviotti merged 4 commits into
mainfrom
uneval-elim-research
Sep 8, 2026
Merged

Eliminate unevaluatedProperties behind a single \ branch#1028
jviotti merged 4 commits into
mainfrom
uneval-elim-research

Conversation

@Vansh-kap-98

@Vansh-kap-98 Vansh-kap-98 commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

unevaluated_properties_to_additional_properties only fires when
unevaluatedProperties has no applicator sibling at all, which does not happen
on real schemas. All 33 unevaluatedProperties occurrences in the OMC benchmark
sit next to allOf: [ { $ref } ], so the keyword survives canonicalisation.

This handles that shape. Based on arXiv:2503.11288v1 ("Elimination of annotation
dependencies in validation for Modern JSON Schema"), which I read for this: it is
the paper's cheapest non-trivial case, where a single branch means there is
nothing to intersect and the referenced schema's evaluated property set is
exactly the names its properties spells out.

Renaming alone would be wrong, since additionalProperties only consults
syntactically adjacent properties/patternProperties and the $ref's
properties are not adjacent. The referenced names are merged into the local
properties as true schemas first; validation still comes from the untouched
$ref.

The rewrite applies only when the target is statically characterisable: no
in-place applicator or reference of its own, no unevaluated*, no
additionalProperties, no non-empty patternProperties. Targets whose
required is not already covered by properties are skipped, since
required_properties_in_properties would widen them later, as are legacy
dialects, which grow an implicit additionalProperties.

Limits: converts only the terminal hop of a $ref chain (in a -> b -> c only
b -> c), does not touch unevaluatedItems, and does not affect
E2E_Evaluator_*, which compiles the raw schema without canonicalising.

Effect: benchmark/e2e/omc/schema.json goes from 33 unevaluatedProperties to
0 after canonicalisation. No site in benchmark/e2e/openapi/schema.json
converts.

Review in cubic

Signed-off-by: Vansh <officialbusiness9818@gmail.com>
@Vansh-kap-98
Vansh-kap-98 marked this pull request as draft September 2, 2026 14:24

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 4 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="test/canonicalizer/canonicalizer_2019_09_test.cc">

<violation number="1" location="test/canonicalizer/canonicalizer_2019_09_test.cc:749">
P3: Only the happy path and two negative cases (anyOf target, additionalProperties target) are tested, but the rewrite stays sound only because of several other guard conditions that the PR description explicitly calls out. Add "stays" tests for a target with `required` not fully covered by `properties`, a non-empty `patternProperties`, an in-place applicator such as `items`/`contains`, and a legacy dialect (e.g. draft-04), plus a top-level sibling `unevaluatedItems`. These guard conditions are what prevent the rewrite from corrupting semantics, so leaving them untested hides regressions in exactly the logic this PR exists to add. The rule also applies to 2020-12, so the same cases belong in canonicalizer_2020_12_test.cc.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

CANONICALIZE_AND_VALIDATE(document, expected, compiled_metaschema());
}

TEST(unevaluated_properties_single_ref_to_additional_properties) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: Only the happy path and two negative cases (anyOf target, additionalProperties target) are tested, but the rewrite stays sound only because of several other guard conditions that the PR description explicitly calls out. Add "stays" tests for a target with required not fully covered by properties, a non-empty patternProperties, an in-place applicator such as items/contains, and a legacy dialect (e.g. draft-04), plus a top-level sibling unevaluatedItems. These guard conditions are what prevent the rewrite from corrupting semantics, so leaving them untested hides regressions in exactly the logic this PR exists to add. The rule also applies to 2020-12, so the same cases belong in canonicalizer_2020_12_test.cc.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At test/canonicalizer/canonicalizer_2019_09_test.cc, line 749:

<comment>Only the happy path and two negative cases (anyOf target, additionalProperties target) are tested, but the rewrite stays sound only because of several other guard conditions that the PR description explicitly calls out. Add "stays" tests for a target with `required` not fully covered by `properties`, a non-empty `patternProperties`, an in-place applicator such as `items`/`contains`, and a legacy dialect (e.g. draft-04), plus a top-level sibling `unevaluatedItems`. These guard conditions are what prevent the rewrite from corrupting semantics, so leaving them untested hides regressions in exactly the logic this PR exists to add. The rule also applies to 2020-12, so the same cases belong in canonicalizer_2020_12_test.cc.</comment>

<file context>
@@ -746,6 +746,187 @@ TEST(items_implicit_1) {
   CANONICALIZE_AND_VALIDATE(document, expected, compiled_metaschema());
 }
 
+TEST(unevaluated_properties_single_ref_to_additional_properties) {
+  auto document = sourcemeta::core::parse_json(R"JSON({
+    "$schema": "https://json-schema.org/draft/2019-09/schema",
</file context>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (macos/llvm)

Details
Benchmark suite Current: d818b8b Previous: 49094a0 Ratio
Schema_Tracker_ISO_Language 3661199.1853655265 ns/iter 3898398.746113877 ns/iter 0.94
Schema_Tracker_ISO_Language_To_JSON 16606819.734691698 ns/iter 13966395.826921247 ns/iter 1.19
Schema_Frame_WoT_References 3667971.467980642 ns/iter 3006915.2031249045 ns/iter 1.22
Schema_Frame_OMC_References 15975480.916665673 ns/iter 14316033.323078813 ns/iter 1.12
Schema_Frame_OMC_Pointers 33893204.695657365 ns/iter 27812091.346154727 ns/iter 1.22
Schema_Frame_OMC_Locations 13155449.404762078 ns/iter 10922380.681818416 ns/iter 1.20
Schema_Frame_ISO_Language_Locations 36815377.470595516 ns/iter 30590728.260874484 ns/iter 1.20
Schema_Frame_ISO_Language_Root 293.14816143919074 ns/iter 218.30135963303573 ns/iter 1.34
Schema_Frame_KrakenD_References 27614987.83332665 ns/iter 20003728.594591282 ns/iter 1.38
Schema_Frame_KrakenD_Reachable 286473458.5000406 ns/iter 220804389.33335245 ns/iter 1.30
Schema_Frame_ISO_Language_Locations_To_JSON 35179249.99999877 ns/iter 32605276.04166441 ns/iter 1.08
Schema_Frame_Many_Resources_References 183191416.66665927 ns/iter 177325266.80001682 ns/iter 1.03
Schema_Frame_Deeply_Nested_References 19540709.60605901 ns/iter 16762788.208334692 ns/iter 1.17
Schema_Bundle_Meta_2020_12 930583.1088978193 ns/iter 651770.3481493855 ns/iter 1.43
Schema_Bundle_Many_Remotes_With_Fragments 12177213.015883397 ns/iter 7319607.5918345675 ns/iter 1.66
Schema_Format_ISO_Language_To_JSON 38787041.84615764 ns/iter 32779859.8636119 ns/iter 1.18
E2E_Compiler_adaptivecard 58721854.10000838 ns/iter 37181476.56249471 ns/iter 1.58
E2E_Compiler_ansible_meta 17758490.071428023 ns/iter 11782333.955223484 ns/iter 1.51
E2E_Compiler_aws_cdk 319453.2755659616 ns/iter 174354.14904455477 ns/iter 1.83
E2E_Compiler_babelrc 2023475.337531755 ns/iter 1004459.4208810364 ns/iter 2.01
E2E_Compiler_clang_format 15493153.656247927 ns/iter 7319024.92523268 ns/iter 2.12
E2E_Compiler_cmake_presets 34799659.75000709 ns/iter 18132069.44444801 ns/iter 1.92
E2E_Compiler_code_climate 1423371.38084639 ns/iter 853304.6095744503 ns/iter 1.67
E2E_Compiler_cql2 13839008.510205753 ns/iter 7572579.121213292 ns/iter 1.83
E2E_Compiler_cspell 21066877.840909954 ns/iter 15446161.914288886 ns/iter 1.36
E2E_Compiler_cypress 4434839.820754955 ns/iter 1916226.027160407 ns/iter 2.31
E2E_Compiler_deno 8538054.972221844 ns/iter 3867149.595121524 ns/iter 2.21
E2E_Compiler_dependabot 3094321.0105631254 ns/iter 1733003.608225154 ns/iter 1.79
E2E_Compiler_draft_04 2253777.476703053 ns/iter 1465296.5686278264 ns/iter 1.54
E2E_Compiler_fabric_mod 3746869.442424709 ns/iter 2362499.1749176555 ns/iter 1.59
E2E_Compiler_geojson 20414949.083336372 ns/iter 13548993.945455963 ns/iter 1.51
E2E_Compiler_gitpod_configuration 3584999.273256958 ns/iter 2203292.032257534 ns/iter 1.63
E2E_Compiler_helm_chart_lock 585045.1454033958 ns/iter 334320.970599546 ns/iter 1.75
E2E_Compiler_importmap 214080.0389754513 ns/iter 156205.89663355175 ns/iter 1.37
E2E_Compiler_jasmine 828399.2348993052 ns/iter 547017.735204928 ns/iter 1.51
E2E_Compiler_jshintrc 2177725.649350914 ns/iter 1593441.6828751895 ns/iter 1.37
E2E_Compiler_jsconfig 14262348.039214795 ns/iter 10212384.615384415 ns/iter 1.40
E2E_Compiler_krakend 124164779.71428971 ns/iter 81890679.10000177 ns/iter 1.52
E2E_Compiler_lazygit 27590528.285713844 ns/iter 19616618.511109766 ns/iter 1.41
E2E_Compiler_lerna 1146984.2740384506 ns/iter 816641.6479029745 ns/iter 1.40
E2E_Compiler_nest_cli 6082489.676189305 ns/iter 3404827.6596858213 ns/iter 1.79
E2E_Compiler_omc 156935406.2499997 ns/iter 95982315.57142104 ns/iter 1.64
E2E_Compiler_omnisharp 5243514.985611111 ns/iter 3161300.1302090995 ns/iter 1.66
E2E_Compiler_openapi 27728344.82758644 ns/iter 13928161.680000814 ns/iter 1.99
E2E_Compiler_pre_commit_hooks 2295329.8141893307 ns/iter 1581207.991803314 ns/iter 1.45
E2E_Compiler_pulumi 3269618.8118812465 ns/iter 1819110.0099253394 ns/iter 1.80
E2E_Compiler_semantic_release 995107.9034482877 ns/iter 761464.8318583397 ns/iter 1.31
E2E_Compiler_stale 798134.2191193443 ns/iter 573410.3483754986 ns/iter 1.39
E2E_Compiler_stylecop 3632033.0056180484 ns/iter 2916618.181494686 ns/iter 1.25
E2E_Compiler_tmuxinator 1083258.669355165 ns/iter 942575.3943868581 ns/iter 1.15
E2E_Compiler_ui5 45086127.4705938 ns/iter 37460173.210523576 ns/iter 1.20
E2E_Compiler_ui5_manifest 260758291.99999136 ns/iter 238118333.33328044 ns/iter 1.10
E2E_Compiler_unreal_engine_uproject 2483124.564460552 ns/iter 1946922.8006139097 ns/iter 1.28
E2E_Compiler_users_array 501305.0426135767 ns/iter 386046.4907062612 ns/iter 1.30
E2E_Compiler_vercel 8055469.881189157 ns/iter 6139858.070312698 ns/iter 1.31
E2E_Compiler_yamllint 129149.4589386337 ns/iter 108689.48862908121 ns/iter 1.19
E2E_Evaluator_adaptivecard 34906.14444919334 ns/iter 22617.065716663335 ns/iter 1.54
E2E_Evaluator_ansible_meta 304589.11267606344 ns/iter 192967.57466814652 ns/iter 1.58
E2E_Evaluator_aws_cdk 55311.31660000029 ns/iter 43901.258998188954 ns/iter 1.26
E2E_Evaluator_babelrc 115365.65012897395 ns/iter 98747.61658099794 ns/iter 1.17
E2E_Evaluator_cerebrum_criminal_case 1209414.79353911 ns/iter 928115.7521577767 ns/iter 1.30
E2E_Evaluator_clang_format 121870.63167156768 ns/iter 94126.444595504 ns/iter 1.29
E2E_Evaluator_cmake_presets 6158653.749998849 ns/iter 4799457.095237986 ns/iter 1.28
E2E_Evaluator_code_climate 208098.76380851344 ns/iter 164265.8548717708 ns/iter 1.27
E2E_Evaluator_cql2 216242.5833917796 ns/iter 155714.9708265592 ns/iter 1.39
E2E_Evaluator_cspell 695240.3038461888 ns/iter 564164.5729803233 ns/iter 1.23
E2E_Evaluator_cypress 192115.21534710584 ns/iter 155102.6668260967 ns/iter 1.24
E2E_Evaluator_deno 363988.120567383 ns/iter 285899.64078749006 ns/iter 1.27
E2E_Evaluator_dependabot 401110.42247842834 ns/iter 294482.5171178404 ns/iter 1.36
E2E_Evaluator_draft_04 8072066.8604657855 ns/iter 5602991.186992582 ns/iter 1.44
E2E_Evaluator_fabric_mod 725175.2531894125 ns/iter 565056.8663999366 ns/iter 1.28
E2E_Evaluator_geojson 12416041.057969013 ns/iter 9491768.893331027 ns/iter 1.31
E2E_Evaluator_gitpod_configuration 302285.44327643234 ns/iter 211379.433390995 ns/iter 1.43
E2E_Evaluator_helm_chart_lock 357198.1589146813 ns/iter 318613.51217085967 ns/iter 1.12
E2E_Evaluator_importmap 57060.483300006126 ns/iter 45332.051805042676 ns/iter 1.26
E2E_Evaluator_jasmine 150940.5931693745 ns/iter 106267.32526520717 ns/iter 1.42
E2E_Evaluator_jshintrc 1563945.9706959222 ns/iter 1097255.222841485 ns/iter 1.43
E2E_Evaluator_jsconfig 449643.91626289615 ns/iter 333522.08268856525 ns/iter 1.35
E2E_Evaluator_krakend 227402.96965605905 ns/iter 158701.21612615633 ns/iter 1.43
E2E_Evaluator_lazygit 178867.67802112285 ns/iter 115521.58377394866 ns/iter 1.55
E2E_Evaluator_lerna 213165.79127895043 ns/iter 141205.14220184527 ns/iter 1.51
E2E_Evaluator_nest_cli 229645.31306023826 ns/iter 152496.63739441 ns/iter 1.51
E2E_Evaluator_omc 19305.93219123189 ns/iter 16460.93984408428 ns/iter 1.17
E2E_Evaluator_omnisharp 573950.139166565 ns/iter 628056.5419999675 ns/iter 0.91
E2E_Evaluator_openapi 9026022.942031847 ns/iter 10912404.594203021 ns/iter 0.83
E2E_Evaluator_pre_commit_hooks 512103.9589998872 ns/iter 541407.246051572 ns/iter 0.95
E2E_Evaluator_pulumi 710534.5612682865 ns/iter 593845.2378101305 ns/iter 1.20
E2E_Evaluator_semantic_release 99937.37280272752 ns/iter 82090.36355085838 ns/iter 1.22
E2E_Evaluator_stale 152320.10367214415 ns/iter 140888.8370907575 ns/iter 1.08
E2E_Evaluator_stylecop 305430.23913043446 ns/iter 258931.43154366312 ns/iter 1.18
E2E_Evaluator_tmuxinator 125006.73861743225 ns/iter 77121.88498119569 ns/iter 1.62
E2E_Evaluator_ui5 593050.3248639413 ns/iter 410725.3362988014 ns/iter 1.44
E2E_Evaluator_ui5_manifest 1976439.9578651832 ns/iter 1981835.2307692764 ns/iter 1.00
E2E_Evaluator_unreal_engine_uproject 387275.21765687456 ns/iter 487601.55382912693 ns/iter 0.79
E2E_Evaluator_users_array 499124.7501666179 ns/iter 538146.7990235345 ns/iter 0.93
E2E_Evaluator_vercel 311859.37913477997 ns/iter 250822.30652331753 ns/iter 1.24
E2E_Evaluator_yamllint 9454.25564311246 ns/iter 8859.928913296457 ns/iter 1.07
JSONLD_Catalog_Simple 20842297.44444125 ns/iter 17996897.92500203 ns/iter 1.16
JSONLD_Catalog_Override_Agreeing 21421034.090907957 ns/iter 18184275.641027477 ns/iter 1.18
JSONLD_Catalog_Override_Shadowing 26031052.481483936 ns/iter 28690651.785707034 ns/iter 0.91
Micro_Draft4_Meta_1_No_Callback 188.7995031717174 ns/iter 161.87952192377531 ns/iter 1.17
Micro_Draft4_Required_Properties 839.4238243953363 ns/iter 755.5643746369121 ns/iter 1.11
Micro_Draft4_Many_Optional_Properties_Minimal_Match 22.700857840481955 ns/iter 18.706606681063885 ns/iter 1.21
Micro_Draft4_Few_Optional_Properties_Minimal_Match 11.087811116694889 ns/iter 11.362381567540728 ns/iter 0.98
Micro_Draft4_Items_Schema 289.0880326502918 ns/iter 282.7073189732871 ns/iter 1.02
Micro_Draft4_Nested_Object 2.1873306373929924 ns/iter 1.8191577150293 ns/iter 1.20
Micro_Draft4_Properties_Triad_Optional 376.3580123733252 ns/iter 336.1481227267843 ns/iter 1.12
Micro_Draft4_Properties_Triad_Closed 261.1429290560986 ns/iter 259.00834676596867 ns/iter 1.01
Micro_Draft4_Properties_Triad_Required 407.6470920120755 ns/iter 331.8506552065959 ns/iter 1.23
Micro_Draft4_Properties_Closed 62.75017077297406 ns/iter 54.443024965271974 ns/iter 1.15
Micro_Draft4_Non_Recursive_Ref 16.27714814757746 ns/iter 13.338329285566475 ns/iter 1.22
Micro_Draft4_Pattern_Properties_Empty 210.02131752289998 ns/iter 174.35363441112548 ns/iter 1.20
Micro_Draft4_Ref_To_Single_Property 14.488227394395112 ns/iter 11.408587963874266 ns/iter 1.27
Micro_Draft4_Additional_Properties_Type 31.905217114045342 ns/iter 29.429160823388422 ns/iter 1.08
Micro_Draft4_Nested_Oneof 47.4945852115611 ns/iter 41.09601143743633 ns/iter 1.16
Micro_Draft4_Short_Enum 8.052775212515671 ns/iter 7.182849069861677 ns/iter 1.12
Micro_Draft4_Long_Enum 13.968119462716098 ns/iter 11.414638412701839 ns/iter 1.22
Micro_Draft4_Long_Enum_Short_Strings 9.093611523669095 ns/iter 8.629395488403812 ns/iter 1.05
Micro_Draft4_Type_Object 4.533415385336528 ns/iter 3.545823704913021 ns/iter 1.28
Micro_Draft4_Ref_Single_100 1203979.6660957725 ns/iter 1047763.5973055196 ns/iter 1.15
Micro_Draft4_Compile_Ref_Many_Nested 900775.2273224032 ns/iter 662985.8212927728 ns/iter 1.36
Micro_Draft4_Compile_Wrap 1059195.511834534 ns/iter 878351.9950370747 ns/iter 1.21
Micro_Draft6_Property_Names 113.59307113355173 ns/iter 97.61235753884594 ns/iter 1.16
Micro_Draft6_Compile_FHIR 7242377000.000033 ns/iter 5821016500.000042 ns/iter 1.24
Micro_Draft7_If_Then_Else 22.90707633501495 ns/iter 20.17473481196204 ns/iter 1.14
Micro_2019_09_Unevaluated_Properties 41.16844976804258 ns/iter 34.534518408251806 ns/iter 1.19
Micro_2019_09_Compile_Wrap 100720678.57143858 ns/iter 95090953.12500903 ns/iter 1.06
Micro_2020_12_Dynamic_Ref 707.5562191479501 ns/iter 643.4641515914345 ns/iter 1.10
Micro_2020_12_Dynamic_Ref_Single 4.3152005104985305 ns/iter 3.676134098205469 ns/iter 1.17
Micro_2020_12_Simple_Output_Mask 890.4061593391065 ns/iter 821.9261104362126 ns/iter 1.08
Micro_2020_12_Simple_Output_Annotations 51534.78671743723 ns/iter 61368.58916256635 ns/iter 0.84
Micro_2020_12_Simple_Output_Annotation_Dropping 1214939.9078725993 ns/iter 1272888.8888887013 ns/iter 0.95
Micro_2020_12_Compile_NonCircular_Shared_Refs 476501.2963224398 ns/iter 454852.2336145103 ns/iter 1.05
Micro_2020_12_Exhaustive_Deep_Numeric 5073.639159998038 ns/iter 6019.041332544765 ns/iter 0.84
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 30780.270959693244 ns/iter 31375.35693661389 ns/iter 0.98
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 13445.884586621924 ns/iter 15432.307999316492 ns/iter 0.87
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 87.96279449833405 ns/iter 97.0299398161225 ns/iter 0.91
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 2681.230107897262 ns/iter 2543.713414095277 ns/iter 1.05
TestSuite_Parse_WoT 17713630.946429607 ns/iter 11796219.934426442 ns/iter 1.50
Alterschema_Check_Readibility_ISO_Language_Set_3 171014177.24995828 ns/iter 160282104.2499727 ns/iter 1.07
Alterschema_Check_Readibility_OMC 51040522.26667287 ns/iter 35157697.89999013 ns/iter 1.45
Alterschema_Check_Readibility_KrakenD 601405833.0001717 ns/iter 546124896.0000376 ns/iter 1.10
Alterschema_Apply_Readibility_KrakenD 55447312290.999886 ns/iter 47269789040.99997 ns/iter 1.17
Alterschema_Check_Invalid_External_Refs 160424656.25002933 ns/iter 166118383.20000058 ns/iter 0.97
Alterschema_Check_Resolvable_External_Refs 154733.15888300832 ns/iter 183894.21679741688 ns/iter 0.84

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JavaScript (macos/llvm)

Details
Benchmark suite Current: d818b8b Previous: 49094a0 Ratio
E2E_Evaluator_adaptivecard 156094 ns 111060 ns 1.41
E2E_Evaluator_ansible-meta 600073 ns 384001 ns 1.56
E2E_Evaluator_aws-cdk 183402 ns 151089 ns 1.21
E2E_Evaluator_babelrc 415125 ns 285315 ns 1.45
E2E_Evaluator_cerebrum-criminal-case 1881134 ns 1708042 ns 1.10
E2E_Evaluator_clang-format 251908 ns 210751 ns 1.20
E2E_Evaluator_cmake-presets 26828084 ns 17032443 ns 1.58
E2E_Evaluator_code-climate 633886 ns 620136 ns 1.02
E2E_Evaluator_cql2 1531201 ns 1619496 ns 0.95
E2E_Evaluator_cspell 1742232 ns 1877806 ns 0.93
E2E_Evaluator_cypress 895263 ns 835858 ns 1.07
E2E_Evaluator_deno 1194239 ns 1139239 ns 1.05
E2E_Evaluator_dependabot 947100 ns 1060402 ns 0.89
E2E_Evaluator_draft-04 22224524 ns 19060252 ns 1.17
E2E_Evaluator_fabric-mod 2368145 ns 1887526 ns 1.25
E2E_Evaluator_geojson 23447635 ns 18801795 ns 1.25
E2E_Evaluator_gitpod-configuration 747728 ns 584546 ns 1.28
E2E_Evaluator_helm-chart-lock 1146450 ns 1113339 ns 1.03
E2E_Evaluator_importmap 348939 ns 276649 ns 1.26
E2E_Evaluator_jasmine 251929 ns 255608 ns 0.99
E2E_Evaluator_jsconfig 1088342 ns 1117603 ns 0.97
E2E_Evaluator_jshintrc 2516236 ns 2794772 ns 0.90
E2E_Evaluator_krakend 580161 ns 710283 ns 0.82
E2E_Evaluator_lazygit 377845 ns 500339 ns 0.76
E2E_Evaluator_lerna 503273 ns 525907 ns 0.96
E2E_Evaluator_nest-cli 640754 ns 516750 ns 1.24
E2E_Evaluator_omc 128830 ns 112912 ns 1.14
E2E_Evaluator_omnisharp 1384000 ns 1298006 ns 1.07
E2E_Evaluator_openapi 41935620 ns 34560999 ns 1.21
E2E_Evaluator_pre-commit-hooks 1733416 ns 1914572 ns 0.91
E2E_Evaluator_pulumi 1883844 ns 2191302 ns 0.86
E2E_Evaluator_semantic-release 221756 ns 222878 ns 0.99
E2E_Evaluator_stale 409200 ns 382786 ns 1.07
E2E_Evaluator_stylecop 1105027 ns 1052026 ns 1.05
E2E_Evaluator_tmuxinator 202391 ns 317677 ns 0.64
E2E_Evaluator_ui5 1922286 ns 3134921 ns 0.61
E2E_Evaluator_ui5-manifest 10895216 ns 17883780 ns 0.61
E2E_Evaluator_unreal-engine-uproject 1362406 ns 1916764 ns 0.71
E2E_Evaluator_users-array 2941263 ns 4612854 ns 0.64
E2E_Evaluator_vercel 1108140 ns 1224090 ns 0.91
E2E_Evaluator_yamllint 27156 ns 27440 ns 0.99

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/llvm)

Details
Benchmark suite Current: d818b8b Previous: 49094a0 Ratio
Schema_Tracker_ISO_Language 2279189.750809139 ns/iter 3517474.4371862113 ns/iter 0.65
Schema_Tracker_ISO_Language_To_JSON 8950323.428571032 ns/iter 12357564.732143698 ns/iter 0.72
Schema_Frame_WoT_References 1250396.1270124791 ns/iter 1781748.758354697 ns/iter 0.70
Schema_Frame_OMC_References 5471966.244094909 ns/iter 7829601.12359576 ns/iter 0.70
Schema_Frame_OMC_Pointers 10305115.39705886 ns/iter 14405908.367347347 ns/iter 0.72
Schema_Frame_OMC_Locations 4680619.509933545 ns/iter 6787139.932038309 ns/iter 0.69
Schema_Frame_ISO_Language_Locations 26525203.074072577 ns/iter 31830225.954541385 ns/iter 0.83
Schema_Frame_ISO_Language_Root 194.36458393430814 ns/iter 272.4270024010185 ns/iter 0.71
Schema_Frame_KrakenD_References 9488821.666667199 ns/iter 12194710.210527167 ns/iter 0.78
Schema_Frame_KrakenD_Reachable 77546397.19998977 ns/iter 104703507.71431315 ns/iter 0.74
Schema_Frame_ISO_Language_Locations_To_JSON 22134755.4333344 ns/iter 22867564.200002257 ns/iter 0.97
Schema_Frame_Many_Resources_References 85409943.99999847 ns/iter 112613014.50000852 ns/iter 0.76
Schema_Frame_Deeply_Nested_References 6449730.327103128 ns/iter 8925966.49367113 ns/iter 0.72
Schema_Bundle_Meta_2020_12 300666.2980638667 ns/iter 444990.1768445715 ns/iter 0.68
Schema_Bundle_Many_Remotes_With_Fragments 3788146.956286128 ns/iter 5235304.022559995 ns/iter 0.72
Schema_Format_ISO_Language_To_JSON 28845360.62500113 ns/iter 34778385.40000562 ns/iter 0.83
E2E_Compiler_adaptivecard 21311101.939393967 ns/iter 26344430.961536054 ns/iter 0.81
E2E_Compiler_ansible_meta 5833110.866666877 ns/iter 8315772.702380693 ns/iter 0.70
E2E_Compiler_aws_cdk 91906.80186817468 ns/iter 127889.09542960742 ns/iter 0.72
E2E_Compiler_babelrc 507962.11661807407 ns/iter 757537.1256772241 ns/iter 0.67
E2E_Compiler_clang_format 3950787.7288134797 ns/iter 5617758.338710319 ns/iter 0.70
E2E_Compiler_cmake_presets 8342179.10843459 ns/iter 12099683.25862135 ns/iter 0.69
E2E_Compiler_code_climate 370528.5047720041 ns/iter 549990.5522387923 ns/iter 0.67
E2E_Compiler_cql2 3905681.837079044 ns/iter 5768914.9579835255 ns/iter 0.68
E2E_Compiler_cspell 6325844.62162081 ns/iter 9036852.10389599 ns/iter 0.70
E2E_Compiler_cypress 839245.4871795545 ns/iter 1343116.177820316 ns/iter 0.62
E2E_Compiler_deno 1807427.9507773877 ns/iter 2718952.6420231694 ns/iter 0.66
E2E_Compiler_dependabot 699077.245685242 ns/iter 1045838.2786885696 ns/iter 0.67
E2E_Compiler_draft_04 613172.0864197906 ns/iter 991673.7538896238 ns/iter 0.62
E2E_Compiler_fabric_mod 1100784.4047618338 ns/iter 1758918.809045083 ns/iter 0.63
E2E_Compiler_geojson 5877419.0166673185 ns/iter 8465657.382716758 ns/iter 0.69
E2E_Compiler_gitpod_configuration 1047258.9774436576 ns/iter 1687191.4688997213 ns/iter 0.62
E2E_Compiler_helm_chart_lock 158896.0882018643 ns/iter 224953.37881216686 ns/iter 0.71
E2E_Compiler_importmap 71490.57647899404 ns/iter 100128.65122654512 ns/iter 0.71
E2E_Compiler_jasmine 266329.5489067918 ns/iter 386283.7725014029 ns/iter 0.69
E2E_Compiler_jshintrc 871936.2826361366 ns/iter 1267039.1865943917 ns/iter 0.69
E2E_Compiler_jsconfig 5317694.946564862 ns/iter 7423066.085106682 ns/iter 0.72
E2E_Compiler_krakend 33745704.190475106 ns/iter 46602819.214285776 ns/iter 0.72
E2E_Compiler_lazygit 7697919.043956283 ns/iter 10834783.969230209 ns/iter 0.71
E2E_Compiler_lerna 342538.99313723965 ns/iter 480328.857339764 ns/iter 0.71
E2E_Compiler_nest_cli 1723180.7654323145 ns/iter 2540120.3527272544 ns/iter 0.68
E2E_Compiler_omc 46674888.66666644 ns/iter 61674582.90909426 ns/iter 0.76
E2E_Compiler_omnisharp 1487736.6495727724 ns/iter 2223045.82594956 ns/iter 0.67
E2E_Compiler_openapi 7309233.351063395 ns/iter 10409196.343282508 ns/iter 0.70
E2E_Compiler_pre_commit_hooks 675090.7552783297 ns/iter 1091785.7308294103 ns/iter 0.62
E2E_Compiler_pulumi 832159.8260354975 ns/iter 1379793.0553360414 ns/iter 0.60
E2E_Compiler_semantic_release 302724.1192541114 ns/iter 458911.8148879901 ns/iter 0.66
E2E_Compiler_stale 270831.7649109147 ns/iter 394974.8087986274 ns/iter 0.69
E2E_Compiler_stylecop 1302500.023679409 ns/iter 1877910.361186103 ns/iter 0.69
E2E_Compiler_tmuxinator 434400.5481665547 ns/iter 621326.6108637032 ns/iter 0.70
E2E_Compiler_ui5 15556198.15555676 ns/iter 21823413.24999726 ns/iter 0.71
E2E_Compiler_ui5_manifest 91997484.37499978 ns/iter 118093152.4000016 ns/iter 0.78
E2E_Compiler_unreal_engine_uproject 929974.6523995005 ns/iter 1465516.068607066 ns/iter 0.63
E2E_Compiler_users_array 174049.4379396753 ns/iter 252704.61909871138 ns/iter 0.69
E2E_Compiler_vercel 3535184.659999686 ns/iter 5033789.417266463 ns/iter 0.70
E2E_Compiler_yamllint 57270.52903752179 ns/iter 81284.45254118984 ns/iter 0.70
E2E_Evaluator_adaptivecard 14333.309070858813 ns/iter 18218.75870394755 ns/iter 0.79
E2E_Evaluator_ansible_meta 136597.5565319064 ns/iter 164982.0366343447 ns/iter 0.83
E2E_Evaluator_aws_cdk 27686.1328718084 ns/iter 37119.285737085 ns/iter 0.75
E2E_Evaluator_babelrc 64447.21997436846 ns/iter 90015.09240923991 ns/iter 0.72
E2E_Evaluator_cerebrum_criminal_case 589942.1092003871 ns/iter 875492.3787499535 ns/iter 0.67
E2E_Evaluator_clang_format 74335.69667896673 ns/iter 88068.50458599445 ns/iter 0.84
E2E_Evaluator_cmake_presets 2788530.315589367 ns/iter 3903088.933333265 ns/iter 0.71
E2E_Evaluator_code_climate 105212.01819266776 ns/iter 145723.78781599517 ns/iter 0.72
E2E_Evaluator_cql2 112721.30684931498 ns/iter 148532.3128073578 ns/iter 0.76
E2E_Evaluator_cspell 346457.2432160629 ns/iter 515105.440088777 ns/iter 0.67
E2E_Evaluator_cypress 109827.43162526826 ns/iter 151826.34822970701 ns/iter 0.72
E2E_Evaluator_deno 168550.83039806108 ns/iter 280184.4306831758 ns/iter 0.60
E2E_Evaluator_dependabot 205981.10196307846 ns/iter 262620.8171235313 ns/iter 0.78
E2E_Evaluator_draft_04 9178680.027397204 ns/iter 5571451.415999945 ns/iter 1.65
E2E_Evaluator_fabric_mod 390662.7416294661 ns/iter 574666.7903358192 ns/iter 0.68
E2E_Evaluator_geojson 8548331.189873824 ns/iter 8300041.365853248 ns/iter 1.03
E2E_Evaluator_gitpod_configuration 135661.61936757827 ns/iter 178882.45647179298 ns/iter 0.76
E2E_Evaluator_helm_chart_lock 169840.6829453301 ns/iter 384093.9923287656 ns/iter 0.44
E2E_Evaluator_importmap 25350.957604834093 ns/iter 30651.49263287538 ns/iter 0.83
E2E_Evaluator_jasmine 59080.906673440906 ns/iter 87054.29063669743 ns/iter 0.68
E2E_Evaluator_jshintrc 722025.5601373877 ns/iter 996111.6280751523 ns/iter 0.72
E2E_Evaluator_jsconfig 261396.27386654037 ns/iter 319733.35809263296 ns/iter 0.82
E2E_Evaluator_krakend 105803.74291314014 ns/iter 137458.63461918174 ns/iter 0.77
E2E_Evaluator_lazygit 73330.60127416592 ns/iter 102932.93564210406 ns/iter 0.71
E2E_Evaluator_lerna 64789.30429104286 ns/iter 141209.6992526805 ns/iter 0.46
E2E_Evaluator_nest_cli 111207.65027579774 ns/iter 141440.3886808296 ns/iter 0.79
E2E_Evaluator_omc 12608.271986467224 ns/iter 15128.247960634284 ns/iter 0.83
E2E_Evaluator_omnisharp 337805.44084507035 ns/iter 457711.320261439 ns/iter 0.74
E2E_Evaluator_openapi 8625946.739726553 ns/iter 9616171.397259964 ns/iter 0.90
E2E_Evaluator_pre_commit_hooks 291466.27479342686 ns/iter 409114.4837587001 ns/iter 0.71
E2E_Evaluator_pulumi 420700.1880239615 ns/iter 639962.824497264 ns/iter 0.66
E2E_Evaluator_semantic_release 52308.016729866715 ns/iter 71535.45952062376 ns/iter 0.73
E2E_Evaluator_stale 89437.32543848922 ns/iter 119871.06802956076 ns/iter 0.75
E2E_Evaluator_stylecop 157307.1631936372 ns/iter 207668.55309601876 ns/iter 0.76
E2E_Evaluator_tmuxinator 54607.79990440956 ns/iter 74964.28990686154 ns/iter 0.73
E2E_Evaluator_ui5 303931.5995689529 ns/iter 374954.6398714154 ns/iter 0.81
E2E_Evaluator_ui5_manifest 1544274.0111113077 ns/iter 2072519.1483677633 ns/iter 0.75
E2E_Evaluator_unreal_engine_uproject 281809.88998812286 ns/iter 368567.800104931 ns/iter 0.76
E2E_Evaluator_users_array 383951.49558500265 ns/iter 504194.77586204064 ns/iter 0.76
E2E_Evaluator_vercel 161735.3206015723 ns/iter 268229.56449751614 ns/iter 0.60
E2E_Evaluator_yamllint 4842.884794444818 ns/iter 6056.287641876857 ns/iter 0.80
JSONLD_Catalog_Simple 11139973.692308137 ns/iter 13626241.607842833 ns/iter 0.82
JSONLD_Catalog_Override_Agreeing 11074755.904760856 ns/iter 14185596.791665016 ns/iter 0.78
JSONLD_Catalog_Override_Shadowing 17643828.62162116 ns/iter 22443814.03124862 ns/iter 0.79
Micro_Draft4_Meta_1_No_Callback 95.57520563487563 ns/iter 140.56503727536446 ns/iter 0.68
Micro_Draft4_Required_Properties 430.72031224866663 ns/iter 595.9435981881313 ns/iter 0.72
Micro_Draft4_Many_Optional_Properties_Minimal_Match 14.555922568219993 ns/iter 18.236548348295628 ns/iter 0.80
Micro_Draft4_Few_Optional_Properties_Minimal_Match 7.379649712946825 ns/iter 8.925685657800853 ns/iter 0.83
Micro_Draft4_Items_Schema 165.26572320068908 ns/iter 252.99544412116333 ns/iter 0.65
Micro_Draft4_Nested_Object 1.5123957925436056 ns/iter 1.8589583150120124 ns/iter 0.81
Micro_Draft4_Properties_Triad_Optional 177.73284820490275 ns/iter 242.29614875994696 ns/iter 0.73
Micro_Draft4_Properties_Triad_Closed 147.78319339521232 ns/iter 198.98602922988454 ns/iter 0.74
Micro_Draft4_Properties_Triad_Required 184.96510954757287 ns/iter 253.17528145462012 ns/iter 0.73
Micro_Draft4_Properties_Closed 34.96341791068516 ns/iter 45.066029090596395 ns/iter 0.78
Micro_Draft4_Non_Recursive_Ref 9.848087240194046 ns/iter 11.866461094229033 ns/iter 0.83
Micro_Draft4_Pattern_Properties_Empty 81.20585634952866 ns/iter 116.29966942307468 ns/iter 0.70
Micro_Draft4_Ref_To_Single_Property 7.41228368394768 ns/iter 8.931616369298359 ns/iter 0.83
Micro_Draft4_Additional_Properties_Type 23.36147366367529 ns/iter 31.604761839613946 ns/iter 0.74
Micro_Draft4_Nested_Oneof 30.93913096999367 ns/iter 43.95259508371901 ns/iter 0.70
Micro_Draft4_Short_Enum 7.047364786131097 ns/iter 8.698972434866292 ns/iter 0.81
Micro_Draft4_Long_Enum 7.841677320206583 ns/iter 11.605769256067848 ns/iter 0.68
Micro_Draft4_Long_Enum_Short_Strings 7.278790014248449 ns/iter 8.700748694257577 ns/iter 0.84
Micro_Draft4_Type_Object 2.801651330933097 ns/iter 3.326690423485588 ns/iter 0.84
Micro_Draft4_Ref_Single_100 725632.003913916 ns/iter 1000537.7765043397 ns/iter 0.73
Micro_Draft4_Compile_Ref_Many_Nested 421408.83403741615 ns/iter 628938.9496855811 ns/iter 0.67
Micro_Draft4_Compile_Wrap 490272.4381153669 ns/iter 722160.0619834777 ns/iter 0.68
Micro_Draft6_Property_Names 73.00622375139727 ns/iter 102.83888907658486 ns/iter 0.71
Micro_Draft6_Compile_FHIR 2962671196.9999633 ns/iter 4256823670.000017 ns/iter 0.70
Micro_Draft7_If_Then_Else 13.803144919816827 ns/iter 20.09457785773417 ns/iter 0.69
Micro_2019_09_Unevaluated_Properties 15.428631901424346 ns/iter 25.055501408572994 ns/iter 0.62
Micro_2019_09_Compile_Wrap 55217951.545459576 ns/iter 61604270.499992706 ns/iter 0.90
Micro_2020_12_Dynamic_Ref 415.3796563115671 ns/iter 559.003384628192 ns/iter 0.74
Micro_2020_12_Dynamic_Ref_Single 2.5759257156800204 ns/iter 3.2240047394868414 ns/iter 0.80
Micro_2020_12_Simple_Output_Mask 577.0088708611214 ns/iter 730.9109349969624 ns/iter 0.79
Micro_2020_12_Simple_Output_Annotations 23542.624924256146 ns/iter 35629.11529854871 ns/iter 0.66
Micro_2020_12_Simple_Output_Annotation_Dropping 705143.7368420432 ns/iter 989766.2772277436 ns/iter 0.71
Micro_2020_12_Compile_NonCircular_Shared_Refs 264356.72445590893 ns/iter 363248.3357588854 ns/iter 0.73
Micro_2020_12_Exhaustive_Deep_Numeric 5151.020019745561 ns/iter 6101.79422442629 ns/iter 0.84
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 20762.748465697812 ns/iter 27466.917396599052 ns/iter 0.76
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 11301.641549148668 ns/iter 13680.19978977981 ns/iter 0.83
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 82.57797729304252 ns/iter 100.4853323640209 ns/iter 0.82
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 1328.1203715418144 ns/iter 1684.333929775636 ns/iter 0.79
TestSuite_Parse_WoT 6934924.780000529 ns/iter 9732394.305555342 ns/iter 0.71
Alterschema_Check_Readibility_ISO_Language_Set_3 141456609.00001076 ns/iter 187322335.7499967 ns/iter 0.76
Alterschema_Check_Readibility_OMC 23654048.266666904 ns/iter 34860826.80000208 ns/iter 0.68
Alterschema_Check_Readibility_KrakenD 278164047.3333103 ns/iter 447558972.0000244 ns/iter 0.62
Alterschema_Apply_Readibility_KrakenD 30293351196.000004 ns/iter 46491723243.00002 ns/iter 0.65
Alterschema_Check_Invalid_External_Refs 110731675.66667052 ns/iter 128146581.8000015 ns/iter 0.86
Alterschema_Check_Resolvable_External_Refs 98371.50495879361 ns/iter 128891.82502300489 ns/iter 0.76

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JavaScript (linux/llvm)

Details
Benchmark suite Current: d818b8b Previous: 49094a0 Ratio
E2E_Evaluator_adaptivecard 65743 ns 88539 ns 0.74
E2E_Evaluator_ansible-meta 334580 ns 365548 ns 0.92
E2E_Evaluator_aws-cdk 80627 ns 109542 ns 0.74
E2E_Evaluator_babelrc 235022 ns 279693 ns 0.84
E2E_Evaluator_cerebrum-criminal-case 1702278 ns 1748258 ns 0.97
E2E_Evaluator_clang-format 144066 ns 187622 ns 0.77
E2E_Evaluator_cmake-presets 12209075 ns 13060667 ns 0.93
E2E_Evaluator_code-climate 300712 ns 425761 ns 0.71
E2E_Evaluator_cql2 716876 ns 933399 ns 0.77
E2E_Evaluator_cspell 964983 ns 1218702 ns 0.79
E2E_Evaluator_cypress 527807 ns 682270 ns 0.77
E2E_Evaluator_deno 689540 ns 890666 ns 0.77
E2E_Evaluator_dependabot 638450 ns 793995 ns 0.80
E2E_Evaluator_draft-04 13711948 ns 15407118 ns 0.89
E2E_Evaluator_fabric-mod 1538694 ns 1754960 ns 0.88
E2E_Evaluator_geojson 21129847 ns 14069985 ns 1.50
E2E_Evaluator_gitpod-configuration 433001 ns 527280 ns 0.82
E2E_Evaluator_helm-chart-lock 571307 ns 866380 ns 0.66
E2E_Evaluator_importmap 157392 ns 275732 ns 0.57
E2E_Evaluator_jasmine 159109 ns 208087 ns 0.76
E2E_Evaluator_jsconfig 823002 ns 1038702 ns 0.79
E2E_Evaluator_jshintrc 1825229 ns 2409894 ns 0.76
E2E_Evaluator_krakend 339573 ns 464844 ns 0.73
E2E_Evaluator_lazygit 277504 ns 324781 ns 0.85
E2E_Evaluator_lerna 265712 ns 368157 ns 0.72
E2E_Evaluator_nest-cli 351700 ns 434160 ns 0.81
E2E_Evaluator_omc 64510 ns 89065 ns 0.72
E2E_Evaluator_omnisharp 889835 ns 1117969 ns 0.80
E2E_Evaluator_openapi 27083992 ns 28340948 ns 0.96
E2E_Evaluator_pre-commit-hooks 1231036 ns 1465745 ns 0.84
E2E_Evaluator_pulumi 1169191 ns 1454907 ns 0.80
E2E_Evaluator_semantic-release 132270 ns 185622 ns 0.71
E2E_Evaluator_stale 238058 ns 286685 ns 0.83
E2E_Evaluator_stylecop 704719 ns 843479 ns 0.84
E2E_Evaluator_tmuxinator 122283 ns 190332 ns 0.64
E2E_Evaluator_ui5 1153106 ns 1647465 ns 0.70
E2E_Evaluator_ui5-manifest 5487921 ns 7802973 ns 0.70
E2E_Evaluator_unreal-engine-uproject 954451 ns 1189443 ns 0.80
E2E_Evaluator_users-array 1474483 ns 2468994 ns 0.60
E2E_Evaluator_vercel 596070 ns 796517 ns 0.75
E2E_Evaluator_yamllint 15551 ns 18541 ns 0.84

This comment was automatically generated by workflow using github-action-benchmark.

@Vansh-kap-98
Vansh-kap-98 force-pushed the uneval-elim-research branch 2 times, most recently from 0742908 to d6f2e44 Compare September 2, 2026 14:59

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/gcc)

Details
Benchmark suite Current: d818b8b Previous: 49094a0 Ratio
Alterschema_Check_Readibility_ISO_Language_Set_3 184794771.99997517 ns/iter 245616312.3333681 ns/iter 0.75
Alterschema_Check_Readibility_OMC 41386527.2941273 ns/iter 51692711.76922708 ns/iter 0.80
Alterschema_Check_Readibility_KrakenD 526517651.9999386 ns/iter 594552446.9998418 ns/iter 0.89
Alterschema_Apply_Readibility_KrakenD 53545382459.99993 ns/iter 63857459902.00008 ns/iter 0.84
Alterschema_Check_Invalid_External_Refs 142886157.6000145 ns/iter 209673805.3333714 ns/iter 0.68
Alterschema_Check_Resolvable_External_Refs 178285.58263728407 ns/iter 221041.39751749294 ns/iter 0.81
TestSuite_Parse_WoT 11358771.854841713 ns/iter 13791180.392155522 ns/iter 0.82
Micro_2020_12_Dynamic_Ref 774.6337412615172 ns/iter 942.8714799093343 ns/iter 0.82
Micro_2020_12_Dynamic_Ref_Single 3.4916062577013123 ns/iter 3.873309365085509 ns/iter 0.90
Micro_2020_12_Simple_Output_Mask 1026.4356334607987 ns/iter 1251.984548841264 ns/iter 0.82
Micro_2020_12_Simple_Output_Annotations 46117.2577154616 ns/iter 53333.800997650666 ns/iter 0.86
Micro_2020_12_Simple_Output_Annotation_Dropping 1315446.9578540938 ns/iter 1476497.7710085474 ns/iter 0.89
Micro_2020_12_Compile_NonCircular_Shared_Refs 450931.0135746651 ns/iter 550204.3403590821 ns/iter 0.82
Micro_2020_12_Exhaustive_Deep_Numeric 7545.844475155792 ns/iter 9492.009906903173 ns/iter 0.79
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 35389.193162822456 ns/iter 44800.634103936936 ns/iter 0.79
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 18017.620123520996 ns/iter 22415.96504169229 ns/iter 0.80
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 128.34021760914138 ns/iter 178.63709460661946 ns/iter 0.72
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 2200.128114516211 ns/iter 2566.3162869517996 ns/iter 0.86
Micro_2019_09_Unevaluated_Properties 24.96466541289364 ns/iter 30.631783497272362 ns/iter 0.81
Micro_2019_09_Compile_Wrap 70335784.00000806 ns/iter 90929037.14287916 ns/iter 0.77
Micro_Draft7_If_Then_Else 23.265958147014796 ns/iter 25.83138008497609 ns/iter 0.90
Micro_Draft6_Property_Names 134.2699947271159 ns/iter 151.46281101424742 ns/iter 0.89
Micro_Draft6_Compile_FHIR 4655553162.999923 ns/iter 5356802839.0000105 ns/iter 0.87
Micro_Draft4_Meta_1_No_Callback 159.36217302587943 ns/iter 181.84184749258023 ns/iter 0.88
Micro_Draft4_Required_Properties 916.1645561892733 ns/iter 907.4338782343754 ns/iter 1.01
Micro_Draft4_Many_Optional_Properties_Minimal_Match 20.61415192106733 ns/iter 21.89289149455496 ns/iter 0.94
Micro_Draft4_Few_Optional_Properties_Minimal_Match 12.078611988130717 ns/iter 15.843178517324809 ns/iter 0.76
Micro_Draft4_Items_Schema 367.67791395068747 ns/iter 308.637765329913 ns/iter 1.19
Micro_Draft4_Nested_Object 1.9411122245125623 ns/iter 1.461664512984393 ns/iter 1.33
Micro_Draft4_Properties_Triad_Optional 244.75311557527428 ns/iter 495.94768294296125 ns/iter 0.49
Micro_Draft4_Properties_Triad_Closed 202.21479055798858 ns/iter 349.66001924058617 ns/iter 0.58
Micro_Draft4_Properties_Triad_Required 267.91575875601836 ns/iter 451.950365698896 ns/iter 0.59
Micro_Draft4_Properties_Closed 57.31623744581394 ns/iter 65.3968360618072 ns/iter 0.88
Micro_Draft4_Non_Recursive_Ref 8.073580043021698 ns/iter 8.795603013901891 ns/iter 0.92
Micro_Draft4_Pattern_Properties_Empty 161.58630185338254 ns/iter 193.93651424970687 ns/iter 0.83
Micro_Draft4_Ref_To_Single_Property 12.564465725132386 ns/iter 15.823558986239549 ns/iter 0.79
Micro_Draft4_Additional_Properties_Type 12.285560143929398 ns/iter 13.747654993021165 ns/iter 0.89
Micro_Draft4_Nested_Oneof 58.974726880880354 ns/iter 63.4192826501746 ns/iter 0.93
Micro_Draft4_Short_Enum 10.690344026756716 ns/iter 14.581574786206717 ns/iter 0.73
Micro_Draft4_Long_Enum 10.59180645296858 ns/iter 12.676475680545432 ns/iter 0.84
Micro_Draft4_Long_Enum_Short_Strings 10.6538547705464 ns/iter 14.437528011765881 ns/iter 0.74
Micro_Draft4_Type_Object 4.147598512881542 ns/iter 4.5707127164877965 ns/iter 0.91
Micro_Draft4_Ref_Single_100 1133411.0566341905 ns/iter 1422435.0999998024 ns/iter 0.80
Micro_Draft4_Compile_Ref_Many_Nested 739507.3981289231 ns/iter 894970.0064518002 ns/iter 0.83
Micro_Draft4_Compile_Wrap 897531.0770219318 ns/iter 1135642.0210016868 ns/iter 0.79
JSONLD_Catalog_Simple 15626081.86956684 ns/iter 21097985.000002656 ns/iter 0.74
JSONLD_Catalog_Override_Agreeing 15721156.222222514 ns/iter 23660580.451610994 ns/iter 0.66
JSONLD_Catalog_Override_Shadowing 23908764.63333219 ns/iter 33885360.68420858 ns/iter 0.71
E2E_Compiler_adaptivecard 30706420.17391749 ns/iter 42588690.05555728 ns/iter 0.72
E2E_Compiler_ansible_meta 10070989.605633834 ns/iter 12348779.892854672 ns/iter 0.82
E2E_Compiler_aws_cdk 151376.69255947042 ns/iter 197393.18278663617 ns/iter 0.77
E2E_Compiler_babelrc 915141.9569312946 ns/iter 1127021.070739765 ns/iter 0.81
E2E_Compiler_clang_format 6369793.304763031 ns/iter 7863347.761361762 ns/iter 0.81
E2E_Compiler_cmake_presets 13351612.150944555 ns/iter 17086806.523810167 ns/iter 0.78
E2E_Compiler_code_climate 682598.1735775744 ns/iter 801551.6766745644 ns/iter 0.85
E2E_Compiler_cql2 6919970.576923071 ns/iter 8282022.905881177 ns/iter 0.84
E2E_Compiler_cspell 9983844.666666383 ns/iter 12349803.767859515 ns/iter 0.81
E2E_Compiler_cypress 1496425.3878410074 ns/iter 1860358.7679996658 ns/iter 0.80
E2E_Compiler_deno 3253668.266967919 ns/iter 3946985.544944306 ns/iter 0.82
E2E_Compiler_dependabot 1261972.0210155614 ns/iter 1536004.6381579994 ns/iter 0.82
E2E_Compiler_draft_04 1232350.858195455 ns/iter 1428227.7565919633 ns/iter 0.86
E2E_Compiler_fabric_mod 2110627.0294984444 ns/iter 2428664.9999996573 ns/iter 0.87
E2E_Compiler_geojson 9687675.19178023 ns/iter 11974771.620688882 ns/iter 0.81
E2E_Compiler_gitpod_configuration 2039963.089595603 ns/iter 2327053.913333354 ns/iter 0.88
E2E_Compiler_helm_chart_lock 246497.3762627029 ns/iter 324763.8481771898 ns/iter 0.76
E2E_Compiler_importmap 118228.65965154486 ns/iter 149142.12715656823 ns/iter 0.79
E2E_Compiler_jasmine 446642.32944983727 ns/iter 583877.49454237 ns/iter 0.76
E2E_Compiler_jshintrc 1424933.4809617263 ns/iter 1796798.2743590628 ns/iter 0.79
E2E_Compiler_jsconfig 8174763.604650908 ns/iter 10448298.090909014 ns/iter 0.78
E2E_Compiler_krakend 50163619.41666976 ns/iter 69181772.33332142 ns/iter 0.73
E2E_Compiler_lazygit 12023129.844825737 ns/iter 15561110.847823765 ns/iter 0.77
E2E_Compiler_lerna 563363.2358184346 ns/iter 727092.1041666156 ns/iter 0.77
E2E_Compiler_nest_cli 2934224.021186757 ns/iter 3583978.7743579787 ns/iter 0.82
E2E_Compiler_omc 71016327.88888107 ns/iter 100813115.16667788 ns/iter 0.70
E2E_Compiler_omnisharp 2600040.3888887106 ns/iter 3156965.765765972 ns/iter 0.82
E2E_Compiler_openapi 12519309.4545466 ns/iter 15935496.071430558 ns/iter 0.79
E2E_Compiler_pre_commit_hooks 1283307.329729494 ns/iter 1569298.9910316216 ns/iter 0.82
E2E_Compiler_pulumi 1661600.2536232148 ns/iter 1926685.6758240913 ns/iter 0.86
E2E_Compiler_semantic_release 603152.2165039013 ns/iter 689882.7180745285 ns/iter 0.87
E2E_Compiler_stale 439932.3177749512 ns/iter 574014.1498771769 ns/iter 0.77
E2E_Compiler_stylecop 2250036.0392156653 ns/iter 2759058.3110232605 ns/iter 0.82
E2E_Compiler_tmuxinator 791911.8357705937 ns/iter 948027.2970432006 ns/iter 0.84
E2E_Compiler_ui5 24527935.10713848 ns/iter 31216599.523802526 ns/iter 0.79
E2E_Compiler_ui5_manifest 134288103.59996533 ns/iter 189860330.49998242 ns/iter 0.71
E2E_Compiler_unreal_engine_uproject 1668675.7710277205 ns/iter 2050855.8826980833 ns/iter 0.81
E2E_Compiler_users_array 311976.4645940852 ns/iter 392891.70174448454 ns/iter 0.79
E2E_Compiler_vercel 5680170.1709395675 ns/iter 6818253.07842968 ns/iter 0.83
E2E_Compiler_yamllint 93389.54461654973 ns/iter 122237.64041813195 ns/iter 0.76
E2E_Evaluator_adaptivecard 20816.136048498443 ns/iter 26924.90765566937 ns/iter 0.77
E2E_Evaluator_ansible_meta 204521.27094314242 ns/iter 267249.5372907458 ns/iter 0.77
E2E_Evaluator_aws_cdk 47722.94153543747 ns/iter 56700.31246456774 ns/iter 0.84
E2E_Evaluator_babelrc 87243.67795565932 ns/iter 103643.66259345702 ns/iter 0.84
E2E_Evaluator_cerebrum_criminal_case 988153.728155305 ns/iter 1241226.8464284383 ns/iter 0.80
E2E_Evaluator_clang_format 80539.58031260784 ns/iter 92903.91612387914 ns/iter 0.87
E2E_Evaluator_cmake_presets 4777555.595890041 ns/iter 6536605.958333533 ns/iter 0.73
E2E_Evaluator_code_climate 180478.36942340503 ns/iter 204589.3897059159 ns/iter 0.88
E2E_Evaluator_cql2 183749.30923279788 ns/iter 220011.36008737836 ns/iter 0.84
E2E_Evaluator_cspell 537077.6308412224 ns/iter 611505.486910913 ns/iter 0.88
E2E_Evaluator_cypress 153579.39232591543 ns/iter 155008.22724225352 ns/iter 0.99
E2E_Evaluator_deno 334123.19766871823 ns/iter 309701.22832886135 ns/iter 1.08
E2E_Evaluator_dependabot 307180.5999101152 ns/iter 376533.88417615514 ns/iter 0.82
E2E_Evaluator_draft_04 5421956.555554941 ns/iter 11141883.423730271 ns/iter 0.49
E2E_Evaluator_fabric_mod 654127.2940074869 ns/iter 773459.7050997191 ns/iter 0.85
E2E_Evaluator_geojson 9673274.333336202 ns/iter 13618918.333332106 ns/iter 0.71
E2E_Evaluator_gitpod_configuration 214646.52497641504 ns/iter 255800.33062434944 ns/iter 0.84
E2E_Evaluator_helm_chart_lock 382333.9578378648 ns/iter 254475.41243989262 ns/iter 1.50
E2E_Evaluator_importmap 28359.164736161758 ns/iter 39318.381844537056 ns/iter 0.72
E2E_Evaluator_jasmine 101102.82559309623 ns/iter 115427.57575257831 ns/iter 0.88
E2E_Evaluator_jshintrc 999689.2312136552 ns/iter 1044441.4548192482 ns/iter 0.96
E2E_Evaluator_jsconfig 330584.4140549934 ns/iter 408913.29642646335 ns/iter 0.81
E2E_Evaluator_krakend 158634.84688134602 ns/iter 202709.2644676129 ns/iter 0.78
E2E_Evaluator_lazygit 108175.9718788466 ns/iter 137131.91389669402 ns/iter 0.79
E2E_Evaluator_lerna 185516.13834195948 ns/iter 138759.05954499214 ns/iter 1.34
E2E_Evaluator_nest_cli 167325.62795802724 ns/iter 198885.87308346378 ns/iter 0.84
E2E_Evaluator_omc 17565.413808415982 ns/iter 24875.431316480215 ns/iter 0.71
E2E_Evaluator_omnisharp 542247.4870030105 ns/iter 564630.3932951868 ns/iter 0.96
E2E_Evaluator_openapi 10643221.015623538 ns/iter 18802857.658534423 ns/iter 0.57
E2E_Evaluator_pre_commit_hooks 477115.9979838096 ns/iter 503539.56056131714 ns/iter 0.95
E2E_Evaluator_pulumi 709193.7323077264 ns/iter 813859.5359550788 ns/iter 0.87
E2E_Evaluator_semantic_release 83341.87235064026 ns/iter 92621.54165554458 ns/iter 0.90
E2E_Evaluator_stale 136339.935258966 ns/iter 179548.87542261928 ns/iter 0.76
E2E_Evaluator_stylecop 242852.91824767782 ns/iter 323391.9265639107 ns/iter 0.75
E2E_Evaluator_tmuxinator 87523.5789408741 ns/iter 96201.03648835108 ns/iter 0.91
E2E_Evaluator_ui5 443361.1844993017 ns/iter 591024.6790542438 ns/iter 0.75
E2E_Evaluator_ui5_manifest 2517422.7027033465 ns/iter 3225084.6681038104 ns/iter 0.78
E2E_Evaluator_unreal_engine_uproject 400491.25323580124 ns/iter 497361.74269830284 ns/iter 0.81
E2E_Evaluator_users_array 557920.5684211534 ns/iter 703929.027300184 ns/iter 0.79
E2E_Evaluator_vercel 316547.8160971027 ns/iter 300101.434485714 ns/iter 1.05
E2E_Evaluator_yamllint 10037.481279899132 ns/iter 12258.601106677299 ns/iter 0.82
Schema_Format_ISO_Language_To_JSON 38945026.000028014 ns/iter 48865329.07688399 ns/iter 0.80
Schema_Bundle_Meta_2020_12 605835.9157075033 ns/iter 692752.8586970766 ns/iter 0.87
Schema_Bundle_Many_Remotes_With_Fragments 6540756.076925793 ns/iter 7994887.712636656 ns/iter 0.82
Schema_Frame_WoT_References 2273164.790476008 ns/iter 2580557.8007384273 ns/iter 0.88
Schema_Frame_OMC_References 9180338.102565564 ns/iter 11369681.918032987 ns/iter 0.81
Schema_Frame_OMC_Pointers 17452679.07316946 ns/iter 21354124.818179283 ns/iter 0.82
Schema_Frame_OMC_Locations 8021519.755554133 ns/iter 9709281.208333526 ns/iter 0.83
Schema_Frame_ISO_Language_Locations 34904009.499996394 ns/iter 46886182.3125053 ns/iter 0.74
Schema_Frame_ISO_Language_Root 386.161574098796 ns/iter 437.24083279741967 ns/iter 0.88
Schema_Frame_KrakenD_References 14263715.673469422 ns/iter 19631680.88571235 ns/iter 0.73
Schema_Frame_KrakenD_Reachable 102486413.85715018 ns/iter 124001300.00005448 ns/iter 0.83
Schema_Frame_ISO_Language_Locations_To_JSON 27758473.291669358 ns/iter 37670389.578950465 ns/iter 0.74
Schema_Frame_Many_Resources_References 133906171.59998329 ns/iter 161240326.75003263 ns/iter 0.83
Schema_Frame_Deeply_Nested_References 9370174.12162289 ns/iter 11251038.730160005 ns/iter 0.83
Schema_Tracker_ISO_Language 4467884.651613794 ns/iter 5083522.4782600645 ns/iter 0.88
Schema_Tracker_ISO_Language_To_JSON 15898585.533336194 ns/iter 16679869.186048586 ns/iter 0.95

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JavaScript (linux/gcc)

Details
Benchmark suite Current: d818b8b Previous: 49094a0 Ratio
E2E_Evaluator_adaptivecard 98709 ns 120250 ns 0.82
E2E_Evaluator_ansible-meta 400170 ns 556068 ns 0.72
E2E_Evaluator_aws-cdk 120292 ns 131077 ns 0.92
E2E_Evaluator_babelrc 306150 ns 361214 ns 0.85
E2E_Evaluator_cerebrum-criminal-case 1942795 ns 2634835 ns 0.74
E2E_Evaluator_clang-format 202733 ns 265373 ns 0.76
E2E_Evaluator_cmake-presets 15096243 ns 18394475 ns 0.82
E2E_Evaluator_code-climate 446444 ns 525829 ns 0.85
E2E_Evaluator_cql2 977164 ns 1248827 ns 0.78
E2E_Evaluator_cspell 1285986 ns 1640680 ns 0.78
E2E_Evaluator_cypress 721922 ns 850736 ns 0.85
E2E_Evaluator_deno 978901 ns 1107331 ns 0.88
E2E_Evaluator_dependabot 884762 ns 1088819 ns 0.81
E2E_Evaluator_draft-04 16532742 ns 19824542 ns 0.83
E2E_Evaluator_fabric-mod 1926398 ns 2431451 ns 0.79
E2E_Evaluator_geojson 16148712 ns 23982952 ns 0.67
E2E_Evaluator_gitpod-configuration 563619 ns 740433 ns 0.76
E2E_Evaluator_helm-chart-lock 940754 ns 1007525 ns 0.93
E2E_Evaluator_importmap 300733 ns 287431 ns 1.05
E2E_Evaluator_jasmine 227104 ns 282535 ns 0.80
E2E_Evaluator_jsconfig 1125624 ns 1495668 ns 0.75
E2E_Evaluator_jshintrc 2688903 ns 3038112 ns 0.89
E2E_Evaluator_krakend 514099 ns 636848 ns 0.81
E2E_Evaluator_lazygit 359986 ns 475606 ns 0.76
E2E_Evaluator_lerna 405153 ns 455234 ns 0.89
E2E_Evaluator_nest-cli 474115 ns 630240 ns 0.75
E2E_Evaluator_omc 95466 ns 116725 ns 0.82
E2E_Evaluator_omnisharp 1231548 ns 1524043 ns 0.81
E2E_Evaluator_openapi 31699650 ns 44910177 ns 0.71
E2E_Evaluator_pre-commit-hooks 1621847 ns 2196970 ns 0.74
E2E_Evaluator_pulumi 1637843 ns 2071475 ns 0.79
E2E_Evaluator_semantic-release 210665 ns 239353 ns 0.88
E2E_Evaluator_stale 311203 ns 397761 ns 0.78
E2E_Evaluator_stylecop 1062683 ns 1274064 ns 0.83
E2E_Evaluator_tmuxinator 201480 ns 232383 ns 0.87
E2E_Evaluator_ui5 1748277 ns 2228883 ns 0.78
E2E_Evaluator_ui5-manifest 8343980 ns 12608716 ns 0.66
E2E_Evaluator_unreal-engine-uproject 1321869 ns 1649936 ns 0.80
E2E_Evaluator_users-array 2527234 ns 3151512 ns 0.80
E2E_Evaluator_vercel 867507 ns 1053321 ns 0.82
E2E_Evaluator_yamllint 19639 ns 24393 ns 0.81

This comment was automatically generated by workflow using github-action-benchmark.

@augmentcode

augmentcode Bot commented Sep 2, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR extends canonicalization of unevaluatedProperties.
It recognizes schemas whose sole in-place branch is allOf: [{ $ref: ... }].
The referenced target is resolved through SchemaFrame to honor effective base URIs.
Known target properties names are copied to the local schema as true schemas.
The original unevaluatedProperties keyword is then renamed to additionalProperties.
The referenced branch itself remains unchanged, preserving its validation constraints.
The rule rejects targets with further references, in-place applicators, or property-evaluating keywords.
It also limits the optimization to modern JSON Schema applicator vocabularies.
New 2019-09 and 2020-12 canonicalizer tests cover the successful transformation.
Additional negative tests cover anyOf, additionalProperties, patterns, conditionals, and uncovered required names.
The canonicalizer build list and rule registration now include the new transform.
The aim is to eliminate a common real-world unevaluatedProperties pattern that previously survived canonicalization.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. No suggestions at this time.

Comment augment review to trigger a new review at any time.

@Vansh-kap-98
Vansh-kap-98 marked this pull request as ready for review September 2, 2026 21:32

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

if (entry.is_string() &&
!(target_properties &&
target_properties->defines(entry.to_string()))) {
return false;

@augmentcode augmentcode Bot Sep 2, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

src/canonicalizer/rules/unevaluated_properties_to_additional_properties_single_ref.h:132: This only defers the rewrite: required_properties_in_properties subsequently adds the uncovered name to the target's properties, the canonicalizer restarts, and this rule then succeeds and copies it locally. For a target requiring extra but initially defining only shared, the resulting additionalProperties accepts extra, while the original unevaluatedProperties: false rejects it because required does not evaluate that property.

Severity: high

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 5 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread test/canonicalizer/canonicalizer_2019_09_test.cc
Signed-off-by: Vansh <officialbusiness9818@gmail.com>
@Vansh-kap-98

Vansh-kap-98 commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator Author

hey @jviotti ive verified the pr, could i please ask you review it once, the pr is associated with issue #407. whenever you find the time to

@jviotti

jviotti commented Sep 7, 2026

Copy link
Copy Markdown
Member

Hey @Vansh-kap-98 sorry for the delay! Looking into it in a bit. Exciting!

// Structural expectations cannot tell whether a rewrite preserved what the
// schema actually accepts. Compile the schema before and after canonicalising
// it and require both to agree on every given instance
#define CANONICALIZE_AND_COMPARE_EVALUATION(document, ...) \

@jviotti jviotti Sep 7, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd avoid this macro. Doing the equality checks at the canonicalizer level should be enough.

Though I understand what you are trying to do here to triple check evaluation results. Note we have https://github.com/sourcemeta/blaze/blob/main/test/evaluator/tracesuite_canonical.cc for this purpose. i.e. if you extend the JSON trace files like evaluator_2020_12.json to have MORE unevaluatedProperties THEN we run those before/after canonicalisation to check conformity, so I would move the test you have for this over there!

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ohhh, that makes a lot of sense, thank you for the review. I've dropped the macro and moved the check into the trace files. evaluator_2020_12.json has 5 more unevaluatedProperties cases for the single-$ref shape, so tracesuite_canonical now checks the before/after conformity automatically.

Also merged main to clear the conflict, that turned up the #1042 renames (is_in_place_applicator, the vocabulary enum), which I've fixed.

@jviotti

jviotti commented Sep 7, 2026

Copy link
Copy Markdown
Member

I'm running some of my own tests on this. Let's see if we can manage to break it. As these transformations can be very tricky to get right in all cases

@jviotti jviotti left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks correct to me! Can you look into the git conflict though? And through the other comments I left? Then I think we are good to merge :)

Signed-off-by: Vansh <officialbusiness9818@gmail.com>
…uites

Signed-off-by: Vansh <officialbusiness9818@gmail.com>
@Vansh-kap-98

Copy link
Copy Markdown
Collaborator Author

@jviotti

  • Merged main to clear the conflict. That surfaced the Upgrade Core to cae13670287d83d90c0ea17940c36c48dd48ba37 #1042 renames (is_in_place_applicator and the vocabulary enum members), plus a few implicit pointer-to-bool conversions clang-tidy flagged — all fixed.
  • Dropped CANONICALIZE_AND_COMPARE_EVALUATION and moved the check into the trace files as you suggested: evaluator_2020_12.json has 5 more unevaluatedProperties cases for the single-$ref shape, so tracesuite_canonical now covers the before/after conformity automatically. Better home for it — thanks.

Ready for another look whenever you have time.

hope you have a lovely day

@jviotti

jviotti commented Sep 8, 2026

Copy link
Copy Markdown
Member

Hi @Vansh-kap-98 , awesome! Merging now! And thanks for the work. Following the guidance of that paper with more rules is always appreciated

@jviotti
jviotti merged commit 51c58db into main Sep 8, 2026
14 checks passed
@jviotti
jviotti deleted the uneval-elim-research branch September 8, 2026 13:17
@Vansh-kap-98

Copy link
Copy Markdown
Collaborator Author

@jviotti thank you, and thanks for taking the time to review this so carefully, ill continue to follow the guidance of the paper, currently testing out Multi-branch 'allof'. if there's ever something you'd like looked at that you haven't the time for yourself, I'd be glad to help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants