Skip to content

Extend the new canonicalizer to Draft 6#709

Merged
jviotti merged 7 commits intomainfrom
canonical-next-draft6
Apr 13, 2026
Merged

Extend the new canonicalizer to Draft 6#709
jviotti merged 7 commits intomainfrom
canonical-next-draft6

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented Apr 13, 2026

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Copy link
Copy Markdown

@github-actions github-actions bot left a comment

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: a800b9d Previous: 26a4816 Ratio
E2E_Compiler_adaptivecard 65064527.77777997 ns/iter 65053226.55554993 ns/iter 1.00
E2E_Compiler_ansible_meta 29085748.125001013 ns/iter 28872371.08333333 ns/iter 1.01
E2E_Compiler_aws_cdk 375759.2181818168 ns/iter 374741.315199996 ns/iter 1.00
E2E_Compiler_babelrc 2560051.529197097 ns/iter 2565347.1172160734 ns/iter 1.00
E2E_Compiler_clang_format 18292917.0789476 ns/iter 18118341.179487266 ns/iter 1.01
E2E_Compiler_cmake_presets 25791531.92592516 ns/iter 25335650.714286625 ns/iter 1.02
E2E_Compiler_code_climate 2576374.3948339727 ns/iter 2543009.1781818606 ns/iter 1.01
E2E_Compiler_cql2 12897408.444444038 ns/iter 12769507.000000017 ns/iter 1.01
E2E_Compiler_cspell 22564376.066666607 ns/iter 22522189.870966807 ns/iter 1.00
E2E_Compiler_cypress 3862254.972222306 ns/iter 3850484.8846155335 ns/iter 1.00
E2E_Compiler_deno 7721742.736263283 ns/iter 7620297.206521489 ns/iter 1.01
E2E_Compiler_dependabot 3857457.225274549 ns/iter 3865834.370165591 ns/iter 1.00
E2E_Compiler_draft_04 2675252.2366410294 ns/iter 2686177.49999987 ns/iter 1.00
E2E_Compiler_fabric_mod 4715268.54054034 ns/iter 4701845.804053978 ns/iter 1.00
E2E_Compiler_geojson 21781258.687498804 ns/iter 21921497.437499937 ns/iter 0.99
E2E_Compiler_gitpod_configuration 4909040.803030273 ns/iter 4845226.750000048 ns/iter 1.01
E2E_Compiler_helm_chart_lock 702407.3707070486 ns/iter 705187.5511651211 ns/iter 1.00
E2E_Compiler_importmap 285791.28542261047 ns/iter 285916.54416532617 ns/iter 1.00
E2E_Compiler_jasmine 1353779.6324951688 ns/iter 1345849.148362227 ns/iter 1.01
E2E_Compiler_jshintrc 4284355.4024388855 ns/iter 4302397.746913809 ns/iter 1.00
E2E_Compiler_jsconfig 21456432.666666664 ns/iter 21618312.65624947 ns/iter 0.99
E2E_Compiler_krakend 139612098.99999857 ns/iter 143995460.4000036 ns/iter 0.97
E2E_Compiler_lazygit 33116686.190475147 ns/iter 35255381.0000023 ns/iter 0.94
E2E_Compiler_lerna 1579534.6893424687 ns/iter 1579508.9592761109 ns/iter 1.00
E2E_Compiler_nest_cli 7337078.115789322 ns/iter 7383369.115789743 ns/iter 0.99
E2E_Compiler_omc 154136354.49999675 ns/iter 159684764.25000232 ns/iter 0.97
E2E_Compiler_omnisharp 6689360.192307429 ns/iter 6671715.933333373 ns/iter 1.00
E2E_Compiler_openapi 24943655.14285692 ns/iter 24920454.035714507 ns/iter 1.00
E2E_Compiler_pre_commit_hooks 5285734.270676712 ns/iter 5268664.789473559 ns/iter 1.00
E2E_Compiler_pulumi 3991442.19428568 ns/iter 4005052.09770093 ns/iter 1.00
E2E_Compiler_semantic_release 1581701.9865772317 ns/iter 1551933.7804878235 ns/iter 1.02
E2E_Compiler_stale 1539503.4593406566 ns/iter 1575301.9022222108 ns/iter 0.98
E2E_Compiler_stylecop 6184505.345132529 ns/iter 6083569.243478253 ns/iter 1.02
E2E_Compiler_tmuxinator 1919874.7417582502 ns/iter 1907626.310626578 ns/iter 1.01
E2E_Compiler_ui5 46805034.06666882 ns/iter 47782113.400000975 ns/iter 0.98
E2E_Compiler_ui5_manifest 330138764.00002575 ns/iter 324257324.50002444 ns/iter 1.02
E2E_Compiler_unreal_engine_uproject 4577757.363636704 ns/iter 4560985.590908833 ns/iter 1.00
E2E_Compiler_vercel 12326348.719298359 ns/iter 12316001.982455555 ns/iter 1.00
E2E_Compiler_yamllint 343945.4819930835 ns/iter 346244.1654357542 ns/iter 0.99
E2E_Evaluator_adaptivecard 24865.158757825844 ns/iter 25149.088924445095 ns/iter 0.99
E2E_Evaluator_ansible_meta 227722.48309178287 ns/iter 228838.9363222893 ns/iter 1.00
E2E_Evaluator_aws_cdk 49622.37662523142 ns/iter 51114.9209999985 ns/iter 0.97
E2E_Evaluator_babelrc 112072.37797760023 ns/iter 112392.9420731706 ns/iter 1.00
E2E_Evaluator_cerebrum_criminal_case 1202100.8721933784 ns/iter 1234266.6637477921 ns/iter 0.97
E2E_Evaluator_clang_format 123466.12026097206 ns/iter 124385.48572435735 ns/iter 0.99
E2E_Evaluator_cmake_presets 4264731.901234545 ns/iter 4618875.987577712 ns/iter 0.92
E2E_Evaluator_code_climate 177115.70574999767 ns/iter 177307.0508343988 ns/iter 1.00
E2E_Evaluator_cql2 212379.1197870516 ns/iter 209730.3367647181 ns/iter 1.01
E2E_Evaluator_cspell 560417.6866506741 ns/iter 565547.8529887007 ns/iter 0.99
E2E_Evaluator_cypress 191895.51825613185 ns/iter 191112.5771495906 ns/iter 1.00
E2E_Evaluator_deno 313139.8694869372 ns/iter 312773.4357366921 ns/iter 1.00
E2E_Evaluator_dependabot 417423.3426865544 ns/iter 417933.0232280887 ns/iter 1.00
E2E_Evaluator_draft_04 8140553.395348703 ns/iter 8394293.607142886 ns/iter 0.97
E2E_Evaluator_fabric_mod 723059.141104347 ns/iter 730875.1035196733 ns/iter 0.99
E2E_Evaluator_geojson 15954209.199998736 ns/iter 15866113.090908129 ns/iter 1.01
E2E_Evaluator_gitpod_configuration 236777.0858398351 ns/iter 242879.80013736588 ns/iter 0.97
E2E_Evaluator_helm_chart_lock 349569.09316458186 ns/iter 353315.81190114835 ns/iter 0.99
E2E_Evaluator_importmap 47521.396067418966 ns/iter 50659.69480000376 ns/iter 0.94
E2E_Evaluator_jasmine 125810.79317513084 ns/iter 121483.50244071342 ns/iter 1.04
E2E_Evaluator_jshintrc 1196938.862542882 ns/iter 1200417.8037865749 ns/iter 1.00
E2E_Evaluator_jsconfig 426592.3796855671 ns/iter 428036.70981864777 ns/iter 1.00
E2E_Evaluator_krakend 203005.69557626132 ns/iter 206708.65076559377 ns/iter 0.98
E2E_Evaluator_lazygit 147107.05443589386 ns/iter 146561.78286191748 ns/iter 1.00
E2E_Evaluator_lerna 144992.99139739675 ns/iter 142529.6221952804 ns/iter 1.02
E2E_Evaluator_nest_cli 180622.96096174853 ns/iter 183472.5016966864 ns/iter 0.98
E2E_Evaluator_omc 19782.54518974783 ns/iter 19794.75236170978 ns/iter 1.00
E2E_Evaluator_omnisharp 612815.6871750001 ns/iter 610588.5522648067 ns/iter 1.00
E2E_Evaluator_openapi 13559406.52000072 ns/iter 16264636.644445494 ns/iter 0.83
E2E_Evaluator_pre_commit_hooks 468416.7658569636 ns/iter 472065.1248322189 ns/iter 0.99
E2E_Evaluator_pulumi 704872.979716006 ns/iter 711750.0030800409 ns/iter 0.99
E2E_Evaluator_semantic_release 100261.2618068299 ns/iter 102541.10248626495 ns/iter 0.98
E2E_Evaluator_stale 149929.65889650997 ns/iter 149997.49547217257 ns/iter 1.00
E2E_Evaluator_stylecop 285171.6234393796 ns/iter 284127.8875305497 ns/iter 1.00
E2E_Evaluator_tmuxinator 95858.59305649674 ns/iter 97535.56497721419 ns/iter 0.98
E2E_Evaluator_ui5 499629.208151378 ns/iter 503447.9765739626 ns/iter 0.99
E2E_Evaluator_ui5_manifest 2545259.699633752 ns/iter 2593703.392996001 ns/iter 0.98
E2E_Evaluator_unreal_engine_uproject 423567.6894672967 ns/iter 425170.6106032887 ns/iter 1.00
E2E_Evaluator_vercel 315876.1367753366 ns/iter 321345.47366007126 ns/iter 0.98
E2E_Evaluator_yamllint 8728.886590628683 ns/iter 8582.476020721857 ns/iter 1.02
Micro_Draft4_Meta_1_No_Callback 194.9713996926181 ns/iter 194.14677240424024 ns/iter 1.00
Micro_Draft4_Required_Properties 794.1217550611512 ns/iter 794.1872681032777 ns/iter 1.00
Micro_Draft4_Many_Optional_Properties_Minimal_Match 22.761867791924484 ns/iter 22.727425230709414 ns/iter 1.00
Micro_Draft4_Few_Optional_Properties_Minimal_Match 10.9180217573297 ns/iter 10.916088783598703 ns/iter 1.00
Micro_Draft4_Items_Schema 286.91264610715183 ns/iter 278.3234711023994 ns/iter 1.03
Micro_Draft4_Nested_Object 1.7802080278279129 ns/iter 1.7888722421272745 ns/iter 1.00
Micro_Draft4_Properties_Triad_Optional 329.72348621816604 ns/iter 326.55185768495153 ns/iter 1.01
Micro_Draft4_Properties_Triad_Closed 264.0327810160988 ns/iter 272.33863042434353 ns/iter 0.97
Micro_Draft4_Properties_Triad_Required 338.8707275243839 ns/iter 337.4511583552014 ns/iter 1.00
Micro_Draft4_Properties_Closed 54.45607495505007 ns/iter 53.92993697883614 ns/iter 1.01
Micro_Draft4_Non_Recursive_Ref 11.846825815236464 ns/iter 11.793227266613744 ns/iter 1.00
Micro_Draft4_Pattern_Properties_True 162.02666748273987 ns/iter 160.48345136144738 ns/iter 1.01
Micro_Draft4_Ref_To_Single_Property 10.907510399275239 ns/iter 10.899234220692367 ns/iter 1.00
Micro_Draft4_Additional_Properties_Type 21.3817320166635 ns/iter 21.499738201306222 ns/iter 0.99
Micro_Draft4_Nested_Oneof 58.354621678637095 ns/iter 57.62160868500127 ns/iter 1.01
Micro_Draft4_Short_Enum 14.153385621199368 ns/iter 14.146177301662867 ns/iter 1.00
Micro_Draft4_Long_Enum 14.031177282572658 ns/iter 14.034039639499225 ns/iter 1.00
Micro_Draft4_Long_Enum_Short_Strings 14.098855284038589 ns/iter 14.100205206393362 ns/iter 1.00
Micro_Draft4_Type_Object 3.4244529076708035 ns/iter 3.4285454136911357 ns/iter 1.00
Micro_Draft4_Ref_Single_100 2362571.7601351584 ns/iter 2363326.0371623025 ns/iter 1.00
Micro_Draft4_Compile_Ref_Many_Nested 1719727.4536584234 ns/iter 1710664.9512193254 ns/iter 1.01
Micro_Draft4_Compile_Wrap 2357159.215488221 ns/iter 2365345.754208613 ns/iter 1.00
Micro_Draft6_Property_Names 119.63379689298871 ns/iter 118.97733490062183 ns/iter 1.01
Micro_Draft6_Compile_FHIR 14073668779.00006 ns/iter 14122373337.999989 ns/iter 1.00
Micro_Draft7_If_Then_Else 22.73808576526136 ns/iter 22.733038106864164 ns/iter 1.00
Micro_2019_09_Unevaluated_Properties 29.473237624579596 ns/iter 28.89495926855962 ns/iter 1.02
Micro_2019_09_Compile_Wrap 309254408.4999531 ns/iter 308315985.50003034 ns/iter 1.00
Micro_2020_12_Dynamic_Ref 229.7646590077867 ns/iter 230.34266438733002 ns/iter 1.00
Micro_2020_12_Dynamic_Ref_Single 3.4234881584028765 ns/iter 3.426493866257237 ns/iter 1.00
Micro_2020_12_Simple_Output_Mask 64711.56752426276 ns/iter 66097.49308625793 ns/iter 0.98
Micro_2020_12_Simple_Output_Annotations 102935.47158918479 ns/iter 105398.97323164134 ns/iter 0.98
Micro_2020_12_Compile_NonCircular_Shared_Refs 1100911.604068887 ns/iter 1087463.5776398496 ns/iter 1.01
Micro_2020_12_Exhaustive_Deep_Numeric 7971.316724071813 ns/iter 8035.373592772117 ns/iter 0.99
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 177688.5973068947 ns/iter 178392.14890360145 ns/iter 1.00
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 22487.79340461872 ns/iter 22301.93503724021 ns/iter 1.01
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 141.7845252341027 ns/iter 143.23370356132696 ns/iter 0.99
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 4281.290155534937 ns/iter 4299.358175545134 ns/iter 1.00
Alterschema_Check_Readibility_ISO_Language_Set_3 352285386.9999949 ns/iter 362636355.9999959 ns/iter 0.97
Alterschema_Check_Readibility_OMC 85776670.62499472 ns/iter 85638036.9999954 ns/iter 1.00
Alterschema_Check_Readibility_KrakenD 1171602193.0000124 ns/iter 1204936018.0000122 ns/iter 0.97
Alterschema_Apply_Readibility_KrakenD 118575036506.00006 ns/iter 125186802811.00012 ns/iter 0.95
Alterschema_Check_Invalid_External_Refs 301643860.0000129 ns/iter 308008181.0000479 ns/iter 0.98

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

Copy link
Copy Markdown

@github-actions github-actions bot left a comment

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: a800b9d Previous: 26a4816 Ratio
E2E_Evaluator_adaptivecard 118873 ns 119254 ns 1.00
E2E_Evaluator_ansible-meta 593312 ns 609671 ns 0.97
E2E_Evaluator_aws-cdk 137057 ns 144903 ns 0.95
E2E_Evaluator_babelrc 335694 ns 339333 ns 0.99
E2E_Evaluator_cerebrum-criminal-case 2642282 ns 2685573 ns 0.98
E2E_Evaluator_clang-format 284785 ns 314252 ns 0.91
E2E_Evaluator_cmake-presets 21216531 ns 22231600 ns 0.95
E2E_Evaluator_code-climate 440311 ns 461645 ns 0.95
E2E_Evaluator_cql2 1193297 ns 1189798 ns 1.00
E2E_Evaluator_cspell 1611029 ns 1740472 ns 0.93
E2E_Evaluator_cypress 872537 ns 939207 ns 0.93
E2E_Evaluator_deno 1098213 ns 1192370 ns 0.92
E2E_Evaluator_dependabot 1169213 ns 1161740 ns 1.01
E2E_Evaluator_draft-04 22928551 ns 24024224 ns 0.95
E2E_Evaluator_fabric-mod 2590691 ns 2689864 ns 0.96
E2E_Evaluator_geojson 21299616 ns 22964305 ns 0.93
E2E_Evaluator_gitpod-configuration 770735 ns 805032 ns 0.96
E2E_Evaluator_helm-chart-lock 1089752 ns 1051885 ns 1.04
E2E_Evaluator_importmap 274483 ns 296889 ns 0.92
E2E_Evaluator_jasmine 295913 ns 312417 ns 0.95
E2E_Evaluator_jsconfig 1388964 ns 1583152 ns 0.88
E2E_Evaluator_jshintrc 3148131 ns 3452771 ns 0.91
E2E_Evaluator_krakend 773644 ns 795566 ns 0.97
E2E_Evaluator_lazygit 571121 ns 643228 ns 0.89
E2E_Evaluator_lerna 469690 ns 484747 ns 0.97
E2E_Evaluator_nest-cli 648885 ns 673754 ns 0.96
E2E_Evaluator_omc 87768 ns 86283 ns 1.02
E2E_Evaluator_omnisharp 1627642 ns 1693128 ns 0.96
E2E_Evaluator_openapi 40784685 ns 41445187 ns 0.98
E2E_Evaluator_pre-commit-hooks 2040280 ns 2232367 ns 0.91
E2E_Evaluator_pulumi 2006541 ns 2372659 ns 0.85
E2E_Evaluator_semantic-release 268757 ns 294838 ns 0.91
E2E_Evaluator_stale 448382 ns 479398 ns 0.94
E2E_Evaluator_stylecop 1242474 ns 1327162 ns 0.94
E2E_Evaluator_tmuxinator 225316 ns 241471 ns 0.93
E2E_Evaluator_ui5 2280398 ns 2268582 ns 1.01
E2E_Evaluator_ui5-manifest 11842792 ns 11885093 ns 1.00
E2E_Evaluator_unreal-engine-uproject 1501036 ns 1552489 ns 0.97
E2E_Evaluator_vercel 1090268 ns 1064276 ns 1.02
E2E_Evaluator_yamllint 25366 ns 25276 ns 1.00

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

jviotti added 2 commits April 13, 2026 13:29
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Copy link
Copy Markdown

@github-actions github-actions bot left a comment

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: a800b9d Previous: 26a4816 Ratio
Alterschema_Check_Readibility_ISO_Language_Set_3 366440120.49998766 ns/iter 367885561.9999695 ns/iter 1.00
Alterschema_Check_Readibility_OMC 97181517.71426165 ns/iter 98654068.28570095 ns/iter 0.99
Alterschema_Check_Readibility_KrakenD 1267155763.999881 ns/iter 1346557851.9999325 ns/iter 0.94
Alterschema_Apply_Readibility_KrakenD 124320693457.00029 ns/iter 125224834146.99991 ns/iter 0.99
Alterschema_Check_Invalid_External_Refs 334350719.4999802 ns/iter 343586946.00007313 ns/iter 0.97
Micro_2020_12_Dynamic_Ref 255.2489335879419 ns/iter 259.03061874906456 ns/iter 0.99
Micro_2020_12_Dynamic_Ref_Single 4.682471907394947 ns/iter 4.674210041350122 ns/iter 1.00
Micro_2020_12_Simple_Output_Mask 79056.34566583842 ns/iter 74878.4295940397 ns/iter 1.06
Micro_2020_12_Simple_Output_Annotations 119264.09502337607 ns/iter 118247.67108661064 ns/iter 1.01
Micro_2020_12_Compile_NonCircular_Shared_Refs 1217847.5642359545 ns/iter 1197918.969071913 ns/iter 1.02
Micro_2020_12_Exhaustive_Deep_Numeric 8493.169128390742 ns/iter 8306.907053852448 ns/iter 1.02
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 168890.3598940754 ns/iter 167973.77996165457 ns/iter 1.01
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 25319.099956569982 ns/iter 25805.720973708212 ns/iter 0.98
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 132.04586393052813 ns/iter 139.21470685319116 ns/iter 0.95
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 4820.024287214759 ns/iter 4785.8064558246215 ns/iter 1.01
Micro_2019_09_Unevaluated_Properties 28.99312011745454 ns/iter 29.081520901342838 ns/iter 1.00
Micro_2019_09_Compile_Wrap 341330957.00008196 ns/iter 327613190.4999602 ns/iter 1.04
Micro_Draft7_If_Then_Else 24.911517699353137 ns/iter 24.925288178603257 ns/iter 1.00
Micro_Draft6_Property_Names 142.02677939936035 ns/iter 143.49456417854836 ns/iter 0.99
Micro_Draft6_Compile_FHIR 14717986917.999952 ns/iter 14480580339.99996 ns/iter 1.02
Micro_Draft4_Meta_1_No_Callback 172.66547479053355 ns/iter 172.1468754919635 ns/iter 1.00
Micro_Draft4_Required_Properties 836.4558386357469 ns/iter 841.7777893524911 ns/iter 0.99
Micro_Draft4_Many_Optional_Properties_Minimal_Match 21.50329109988183 ns/iter 21.499752143395757 ns/iter 1.00
Micro_Draft4_Few_Optional_Properties_Minimal_Match 13.405230409617674 ns/iter 13.411729048704705 ns/iter 1.00
Micro_Draft4_Items_Schema 347.22165341062527 ns/iter 352.0002741990863 ns/iter 0.99
Micro_Draft4_Nested_Object 1.5584767459773796 ns/iter 1.5564818610494828 ns/iter 1.00
Micro_Draft4_Properties_Triad_Optional 410.18271710546543 ns/iter 416.54386871300767 ns/iter 0.98
Micro_Draft4_Properties_Triad_Closed 320.5519924687945 ns/iter 367.7495145517525 ns/iter 0.87
Micro_Draft4_Properties_Triad_Required 438.13840291374606 ns/iter 444.4185256147633 ns/iter 0.99
Micro_Draft4_Properties_Closed 62.938100708175945 ns/iter 63.221347974880466 ns/iter 1.00
Micro_Draft4_Non_Recursive_Ref 9.652229005602146 ns/iter 9.647392584710667 ns/iter 1.00
Micro_Draft4_Pattern_Properties_True 210.18224312814928 ns/iter 210.2063149238319 ns/iter 1.00
Micro_Draft4_Ref_To_Single_Property 13.405890806278638 ns/iter 13.401364779885446 ns/iter 1.00
Micro_Draft4_Additional_Properties_Type 14.627293861099146 ns/iter 14.640094218180652 ns/iter 1.00
Micro_Draft4_Nested_Oneof 65.34923707054814 ns/iter 65.39013025379695 ns/iter 1.00
Micro_Draft4_Short_Enum 14.692915571738107 ns/iter 15.037763935028211 ns/iter 0.98
Micro_Draft4_Long_Enum 14.424981242971308 ns/iter 14.694925150442097 ns/iter 0.98
Micro_Draft4_Long_Enum_Short_Strings 14.651611381102898 ns/iter 14.661298213729673 ns/iter 1.00
Micro_Draft4_Type_Object 4.669399496941241 ns/iter 4.667320414851693 ns/iter 1.00
Micro_Draft4_Ref_Single_100 2592424.544444906 ns/iter 2576546.1666668234 ns/iter 1.01
Micro_Draft4_Compile_Ref_Many_Nested 1875186.7721182047 ns/iter 1854598.034300565 ns/iter 1.01
Micro_Draft4_Compile_Wrap 2666753.8295450388 ns/iter 2657027.632575605 ns/iter 1.00
E2E_Compiler_adaptivecard 68930650.29998979 ns/iter 67377546.7272745 ns/iter 1.02
E2E_Compiler_ansible_meta 30329216.04347433 ns/iter 30155488.47826682 ns/iter 1.01
E2E_Compiler_aws_cdk 418974.9214157304 ns/iter 409229.7116959179 ns/iter 1.02
E2E_Compiler_babelrc 2810428.219123583 ns/iter 2748299.576470505 ns/iter 1.02
E2E_Compiler_clang_format 19813344.444445293 ns/iter 19590579.972221654 ns/iter 1.01
E2E_Compiler_cmake_presets 27799125.920000736 ns/iter 27845393.50000159 ns/iter 1.00
E2E_Compiler_code_climate 2819997.2920001526 ns/iter 2759662.0039376137 ns/iter 1.02
E2E_Compiler_cql2 14358490.061224483 ns/iter 14029823.480000231 ns/iter 1.02
E2E_Compiler_cspell 24657404.03571155 ns/iter 23971627.172417797 ns/iter 1.03
E2E_Compiler_cypress 4198590.566265482 ns/iter 4109681.200000469 ns/iter 1.02
E2E_Compiler_deno 8239796.964704403 ns/iter 8156145.411765143 ns/iter 1.01
E2E_Compiler_dependabot 4195464.047904193 ns/iter 4125449.5857984265 ns/iter 1.02
E2E_Compiler_draft_04 2941115.400843637 ns/iter 2908791.008299184 ns/iter 1.01
E2E_Compiler_fabric_mod 5154817.338236358 ns/iter 5094008.985508112 ns/iter 1.01
E2E_Compiler_geojson 23861160.931032985 ns/iter 23764693.241383642 ns/iter 1.00
E2E_Compiler_gitpod_configuration 5323637.674242339 ns/iter 5240569.037312918 ns/iter 1.02
E2E_Compiler_helm_chart_lock 755767.2818575941 ns/iter 746025.2851018641 ns/iter 1.01
E2E_Compiler_importmap 312397.6232813817 ns/iter 308313.5612335471 ns/iter 1.01
E2E_Compiler_jasmine 1478380.8794926032 ns/iter 1455961.089583487 ns/iter 1.02
E2E_Compiler_jshintrc 4720870.436242406 ns/iter 4643808.655629488 ns/iter 1.02
E2E_Compiler_jsconfig 23301234.766669646 ns/iter 23390166.13333721 ns/iter 1.00
E2E_Compiler_krakend 147436702.2000024 ns/iter 152378639.39996713 ns/iter 0.97
E2E_Compiler_lazygit 35692584.200000964 ns/iter 35646666.69999497 ns/iter 1.00
E2E_Compiler_lerna 1743566.1228070618 ns/iter 1711565.509803931 ns/iter 1.02
E2E_Compiler_nest_cli 7978394.011492985 ns/iter 7924027.146069175 ns/iter 1.01
E2E_Compiler_omc 166373746.999966 ns/iter 172892300.4999956 ns/iter 0.96
E2E_Compiler_omnisharp 7277721.278351518 ns/iter 7100181.765306898 ns/iter 1.03
E2E_Compiler_openapi 27059134.730769493 ns/iter 27123120.73076471 ns/iter 1.00
E2E_Compiler_pre_commit_hooks 5725139.056910227 ns/iter 5677713.723576833 ns/iter 1.01
E2E_Compiler_pulumi 4383757.22499984 ns/iter 4319059.216050217 ns/iter 1.01
E2E_Compiler_semantic_release 1723330.1102939602 ns/iter 1693181.9806294309 ns/iter 1.02
E2E_Compiler_stale 1712670.0904643985 ns/iter 1643528.5117372607 ns/iter 1.04
E2E_Compiler_stylecop 6415916.201835523 ns/iter 6334110.100000214 ns/iter 1.01
E2E_Compiler_tmuxinator 2127464.957186371 ns/iter 2081738.7946430072 ns/iter 1.02
E2E_Compiler_ui5 51200834.099995516 ns/iter 50777057.99999421 ns/iter 1.01
E2E_Compiler_ui5_manifest 334499926.000035 ns/iter 347795447.0000668 ns/iter 0.96
E2E_Compiler_unreal_engine_uproject 5022749.805755783 ns/iter 4879860.804195785 ns/iter 1.03
E2E_Compiler_vercel 13411095.30769175 ns/iter 13139535.830189416 ns/iter 1.02
E2E_Compiler_yamllint 382920.37970541033 ns/iter 378486.9686655423 ns/iter 1.01
E2E_Evaluator_adaptivecard 23207.262163598945 ns/iter 23494.804468529437 ns/iter 0.99
E2E_Evaluator_ansible_meta 255897.3976419939 ns/iter 248956.59224693055 ns/iter 1.03
E2E_Evaluator_aws_cdk 52369.66951067149 ns/iter 52295.991220234544 ns/iter 1.00
E2E_Evaluator_babelrc 109671.17291762384 ns/iter 107733.77146773091 ns/iter 1.02
E2E_Evaluator_cerebrum_criminal_case 1309536.7193976936 ns/iter 1325754.3714819173 ns/iter 0.99
E2E_Evaluator_clang_format 112316.90079172289 ns/iter 112606.93277849587 ns/iter 1.00
E2E_Evaluator_cmake_presets 4599129.920635162 ns/iter 5014568.713236526 ns/iter 0.92
E2E_Evaluator_code_climate 185199.53140735638 ns/iter 187800.44166661473 ns/iter 0.99
E2E_Evaluator_cql2 222229.5336554198 ns/iter 215849.10917027376 ns/iter 1.03
E2E_Evaluator_cspell 555289.7147383766 ns/iter 548588.0839216192 ns/iter 1.01
E2E_Evaluator_cypress 178812.55207539457 ns/iter 177573.26245598833 ns/iter 1.01
E2E_Evaluator_deno 347958.5646941554 ns/iter 341020.1943633995 ns/iter 1.02
E2E_Evaluator_dependabot 478887.0901638628 ns/iter 483023.9118852481 ns/iter 0.99
E2E_Evaluator_draft_04 8419742.345238103 ns/iter 8225452.000000054 ns/iter 1.02
E2E_Evaluator_fabric_mod 769357.7695748843 ns/iter 775561.6291239911 ns/iter 0.99
E2E_Evaluator_geojson 16977380.48780438 ns/iter 16812545.880952712 ns/iter 1.01
E2E_Evaluator_gitpod_configuration 259436.7015648284 ns/iter 258074.90534516383 ns/iter 1.01
E2E_Evaluator_helm_chart_lock 329146.79950866854 ns/iter 324975.9389453454 ns/iter 1.01
E2E_Evaluator_importmap 50957.78385110039 ns/iter 49714.52813701656 ns/iter 1.03
E2E_Evaluator_jasmine 117625.21445379811 ns/iter 116238.45611727062 ns/iter 1.01
E2E_Evaluator_jshintrc 1079830.6290574665 ns/iter 1075213.8876925807 ns/iter 1.00
E2E_Evaluator_jsconfig 412070.41725359386 ns/iter 408672.1276843603 ns/iter 1.01
E2E_Evaluator_krakend 213478.07309491994 ns/iter 210307.10686569475 ns/iter 1.02
E2E_Evaluator_lazygit 143653.71063393838 ns/iter 143123.8709610801 ns/iter 1.00
E2E_Evaluator_lerna 160191.11543751613 ns/iter 158299.63289710507 ns/iter 1.01
E2E_Evaluator_nest_cli 197182.70410491063 ns/iter 196231.02305070465 ns/iter 1.00
E2E_Evaluator_omc 19329.223463069702 ns/iter 19532.055067125784 ns/iter 0.99
E2E_Evaluator_omnisharp 564990.2106969268 ns/iter 559513.2062600596 ns/iter 1.01
E2E_Evaluator_openapi 15659289.999998797 ns/iter 15057620.139534563 ns/iter 1.04
E2E_Evaluator_pre_commit_hooks 529380.5411221266 ns/iter 530933.9352626308 ns/iter 1.00
E2E_Evaluator_pulumi 752098.5775402595 ns/iter 725392.6580577731 ns/iter 1.04
E2E_Evaluator_semantic_release 103730.44072318899 ns/iter 103818.6173180139 ns/iter 1.00
E2E_Evaluator_stale 161991.98538280945 ns/iter 161496.27061505543 ns/iter 1.00
E2E_Evaluator_stylecop 318078.1601579444 ns/iter 307162.20763829816 ns/iter 1.04
E2E_Evaluator_tmuxinator 97927.98847541578 ns/iter 98179.95312499939 ns/iter 1.00
E2E_Evaluator_ui5 546624.683962355 ns/iter 547725.627435661 ns/iter 1.00
E2E_Evaluator_ui5_manifest 2902517.1037351526 ns/iter 2930352.2226888435 ns/iter 0.99
E2E_Evaluator_unreal_engine_uproject 467856.9270414943 ns/iter 465271.8912608899 ns/iter 1.01
E2E_Evaluator_vercel 326837.99439515034 ns/iter 322043.8713692851 ns/iter 1.01
E2E_Evaluator_yamllint 11041.112482980767 ns/iter 11028.087776876146 ns/iter 1.00

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

Copy link
Copy Markdown

@github-actions github-actions bot left a comment

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: a800b9d Previous: 26a4816 Ratio
E2E_Evaluator_adaptivecard 116571 ns 119276 ns 0.98
E2E_Evaluator_ansible-meta 618657 ns 602152 ns 1.03
E2E_Evaluator_aws-cdk 140557 ns 137988 ns 1.02
E2E_Evaluator_babelrc 332750 ns 330805 ns 1.01
E2E_Evaluator_cerebrum-criminal-case 2804699 ns 2685520 ns 1.04
E2E_Evaluator_clang-format 295083 ns 294695 ns 1.00
E2E_Evaluator_cmake-presets 21538729 ns 20668996 ns 1.04
E2E_Evaluator_code-climate 441942 ns 436575 ns 1.01
E2E_Evaluator_cql2 1206251 ns 1173210 ns 1.03
E2E_Evaluator_cspell 1658601 ns 1623943 ns 1.02
E2E_Evaluator_cypress 882887 ns 895838 ns 0.99
E2E_Evaluator_deno 1144225 ns 1111949 ns 1.03
E2E_Evaluator_dependabot 1143714 ns 1099962 ns 1.04
E2E_Evaluator_draft-04 23310582 ns 22082709 ns 1.06
E2E_Evaluator_fabric-mod 2647984 ns 2600587 ns 1.02
E2E_Evaluator_geojson 22294549 ns 20830641 ns 1.07
E2E_Evaluator_gitpod-configuration 785557 ns 766728 ns 1.02
E2E_Evaluator_helm-chart-lock 1015324 ns 1039053 ns 0.98
E2E_Evaluator_importmap 284085 ns 281749 ns 1.01
E2E_Evaluator_jasmine 297194 ns 299053 ns 0.99
E2E_Evaluator_jsconfig 1446382 ns 1397562 ns 1.03
E2E_Evaluator_jshintrc 3280051 ns 3144780 ns 1.04
E2E_Evaluator_krakend 804665 ns 785792 ns 1.02
E2E_Evaluator_lazygit 586447 ns 581414 ns 1.01
E2E_Evaluator_lerna 484285 ns 485947 ns 1.00
E2E_Evaluator_nest-cli 655460 ns 639893 ns 1.02
E2E_Evaluator_omc 87040 ns 84703 ns 1.03
E2E_Evaluator_omnisharp 1641255 ns 1598451 ns 1.03
E2E_Evaluator_openapi 40718851 ns 40671106 ns 1.00
E2E_Evaluator_pre-commit-hooks 2103941 ns 2057201 ns 1.02
E2E_Evaluator_pulumi 2094775 ns 2012674 ns 1.04
E2E_Evaluator_semantic-release 276682 ns 269797 ns 1.03
E2E_Evaluator_stale 462349 ns 446202 ns 1.04
E2E_Evaluator_stylecop 1294410 ns 1229156 ns 1.05
E2E_Evaluator_tmuxinator 237211 ns 230932 ns 1.03
E2E_Evaluator_ui5 2297480 ns 2288383 ns 1.00
E2E_Evaluator_ui5-manifest 13548128 ns 11737126 ns 1.15
E2E_Evaluator_unreal-engine-uproject 1616746 ns 1542262 ns 1.05
E2E_Evaluator_vercel 1106345 ns 1075726 ns 1.03
E2E_Evaluator_yamllint 25069 ns 25276 ns 0.99

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

Copy link
Copy Markdown

@github-actions github-actions bot left a comment

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: a800b9d Previous: 26a4816 Ratio
E2E_Compiler_adaptivecard 68985652.77778189 ns/iter 57558607.666668616 ns/iter 1.20
E2E_Compiler_ansible_meta 25541483.961546876 ns/iter 25314425.275861017 ns/iter 1.01
E2E_Compiler_aws_cdk 278532.4626865928 ns/iter 280083.1504389505 ns/iter 0.99
E2E_Compiler_babelrc 2209971.818769644 ns/iter 2213875.6510903365 ns/iter 1.00
E2E_Compiler_clang_format 15774173.295452245 ns/iter 15415780.555555455 ns/iter 1.02
E2E_Compiler_cmake_presets 25417882.428574298 ns/iter 25934058.62963091 ns/iter 0.98
E2E_Compiler_code_climate 2108455.742937894 ns/iter 2290396.815047097 ns/iter 0.92
E2E_Compiler_cql2 12240369.402987389 ns/iter 12038619.338982705 ns/iter 1.02
E2E_Compiler_cspell 23107897.999995563 ns/iter 20376644.057143625 ns/iter 1.13
E2E_Compiler_cypress 3502099.8281242535 ns/iter 3628169.689119402 ns/iter 0.97
E2E_Compiler_deno 6421076.642857721 ns/iter 6752519.660377286 ns/iter 0.95
E2E_Compiler_dependabot 3598191.3446596647 ns/iter 3678898.0984454453 ns/iter 0.98
E2E_Compiler_draft_04 1939388.319672373 ns/iter 2222406.82417579 ns/iter 0.87
E2E_Compiler_fabric_mod 3559007.054644128 ns/iter 3836092.069892275 ns/iter 0.93
E2E_Compiler_geojson 22626326.612900753 ns/iter 22905169.249998637 ns/iter 0.99
E2E_Compiler_gitpod_configuration 4140220.462026079 ns/iter 4215259.124260244 ns/iter 0.98
E2E_Compiler_helm_chart_lock 506533.33333324915 ns/iter 533041.1991017812 ns/iter 0.95
E2E_Compiler_importmap 197030.40581331193 ns/iter 208393.86094674803 ns/iter 0.95
E2E_Compiler_jasmine 1024935.9076478711 ns/iter 1084771.1769115776 ns/iter 0.94
E2E_Compiler_jshintrc 3471344.0315319346 ns/iter 3335163.9534882535 ns/iter 1.04
E2E_Compiler_jsconfig 18389953.41176328 ns/iter 20376922.297298033 ns/iter 0.90
E2E_Compiler_krakend 125064816.59997916 ns/iter 127206444.33333443 ns/iter 0.98
E2E_Compiler_lazygit 28792935.791670967 ns/iter 32170850.363635074 ns/iter 0.90
E2E_Compiler_lerna 1204257.289879963 ns/iter 1351419.3396226887 ns/iter 0.89
E2E_Compiler_nest_cli 5923416.666665357 ns/iter 6311425.0701751355 ns/iter 0.94
E2E_Compiler_omc 153830425.00002375 ns/iter 158370408.40000325 ns/iter 0.97
E2E_Compiler_omnisharp 5299915.076335754 ns/iter 5996912.190082564 ns/iter 0.88
E2E_Compiler_openapi 19101798.61111298 ns/iter 22334399.19354858 ns/iter 0.86
E2E_Compiler_pre_commit_hooks 3743513.8097830233 ns/iter 4275477.775757447 ns/iter 0.88
E2E_Compiler_pulumi 2991688.456066787 ns/iter 3678164.3954547215 ns/iter 0.81
E2E_Compiler_semantic_release 1113847.3750002396 ns/iter 1270656.911070858 ns/iter 0.88
E2E_Compiler_stale 1185353.3386330663 ns/iter 1303911.0385965325 ns/iter 0.91
E2E_Compiler_stylecop 5620755.422763445 ns/iter 5623843.10156272 ns/iter 1.00
E2E_Compiler_tmuxinator 1398976.7960783509 ns/iter 1595726.1904761156 ns/iter 0.88
E2E_Compiler_ui5 49796648.785705395 ns/iter 50668654.0999965 ns/iter 0.98
E2E_Compiler_ui5_manifest 267166846.9999986 ns/iter 294469104.00000095 ns/iter 0.91
E2E_Compiler_unreal_engine_uproject 3547669.0205133567 ns/iter 4120487.6108106356 ns/iter 0.86
E2E_Compiler_vercel 11243695.312497692 ns/iter 12040446.649122491 ns/iter 0.93
E2E_Compiler_yamllint 232022.15833874381 ns/iter 253550.75458139024 ns/iter 0.92
E2E_Evaluator_adaptivecard 16990.862907495688 ns/iter 19503.55843981901 ns/iter 0.87
E2E_Evaluator_ansible_meta 145400.06832036542 ns/iter 166718.4262865071 ns/iter 0.87
E2E_Evaluator_aws_cdk 31074.84067631778 ns/iter 34156.70262248844 ns/iter 0.91
E2E_Evaluator_babelrc 75825.82308252633 ns/iter 80972.8572913074 ns/iter 0.94
E2E_Evaluator_cerebrum_criminal_case 821551.4268019806 ns/iter 876655.1071878619 ns/iter 0.94
E2E_Evaluator_clang_format 91971.23376809912 ns/iter 96967.65104672246 ns/iter 0.95
E2E_Evaluator_cmake_presets 2953634.806722564 ns/iter 3456403.495282809 ns/iter 0.85
E2E_Evaluator_code_climate 109003.97255326484 ns/iter 121919.29547844428 ns/iter 0.89
E2E_Evaluator_cql2 130793.56096183909 ns/iter 143850.04813824623 ns/iter 0.91
E2E_Evaluator_cspell 349427.0557029333 ns/iter 388618.40564472205 ns/iter 0.90
E2E_Evaluator_cypress 127208.07162089777 ns/iter 140862.53175240263 ns/iter 0.90
E2E_Evaluator_deno 202733.0090037708 ns/iter 228156.07379712167 ns/iter 0.89
E2E_Evaluator_dependabot 282411.36735520494 ns/iter 336626.49094204314 ns/iter 0.84
E2E_Evaluator_draft_04 4511419.3397440575 ns/iter 5100674.460431587 ns/iter 0.88
E2E_Evaluator_fabric_mod 481720.09285282483 ns/iter 463974.77320959023 ns/iter 1.04
E2E_Evaluator_geojson 10494461.016129032 ns/iter 10922850.523810564 ns/iter 0.96
E2E_Evaluator_gitpod_configuration 154436.7020201919 ns/iter 164200.85258680768 ns/iter 0.94
E2E_Evaluator_helm_chart_lock 185474.03907974865 ns/iter 222166.90277365476 ns/iter 0.83
E2E_Evaluator_importmap 28601.670911067013 ns/iter 30994.67342142812 ns/iter 0.92
E2E_Evaluator_jasmine 73545.78896566934 ns/iter 80682.18874957002 ns/iter 0.91
E2E_Evaluator_jshintrc 859764.1287129626 ns/iter 930396.9960105884 ns/iter 0.92
E2E_Evaluator_jsconfig 273375.957537968 ns/iter 297319.2022371271 ns/iter 0.92
E2E_Evaluator_krakend 117609.12760501135 ns/iter 128793.4449760868 ns/iter 0.91
E2E_Evaluator_lazygit 92820.02754743925 ns/iter 95198.02975667008 ns/iter 0.98
E2E_Evaluator_lerna 110109.9304787632 ns/iter 119012.5056955607 ns/iter 0.93
E2E_Evaluator_nest_cli 113266.80009705824 ns/iter 123250.97045019324 ns/iter 0.92
E2E_Evaluator_omc 13187.012832983994 ns/iter 13914.996865965722 ns/iter 0.95
E2E_Evaluator_omnisharp 391020.5061657862 ns/iter 426099.12655088934 ns/iter 0.92
E2E_Evaluator_openapi 7159727.848104495 ns/iter 8374208.7912091995 ns/iter 0.85
E2E_Evaluator_pre_commit_hooks 311089.7594425466 ns/iter 349910.59489234356 ns/iter 0.89
E2E_Evaluator_pulumi 469340.7018031859 ns/iter 510525.3484419622 ns/iter 0.92
E2E_Evaluator_semantic_release 62972.54386120312 ns/iter 67798.25118671496 ns/iter 0.93
E2E_Evaluator_stale 105712.28510029621 ns/iter 110535.41148101365 ns/iter 0.96
E2E_Evaluator_stylecop 169526.55346818376 ns/iter 183370.9393468191 ns/iter 0.92
E2E_Evaluator_tmuxinator 63849.634148554724 ns/iter 68813.1861575119 ns/iter 0.93
E2E_Evaluator_ui5 303918.3710299366 ns/iter 325700.9318609345 ns/iter 0.93
E2E_Evaluator_ui5_manifest 1416942.4326535927 ns/iter 1666091.5417558858 ns/iter 0.85
E2E_Evaluator_unreal_engine_uproject 294308.79065041995 ns/iter 305195.71713144163 ns/iter 0.96
E2E_Evaluator_vercel 228721.10679611927 ns/iter 226011.07128966387 ns/iter 1.01
E2E_Evaluator_yamllint 5656.524893796858 ns/iter 5544.925716047449 ns/iter 1.02
Micro_Draft4_Meta_1_No_Callback 119.62038619356316 ns/iter 125.48365201785955 ns/iter 0.95
Micro_Draft4_Required_Properties 569.303012321727 ns/iter 609.9094093937614 ns/iter 0.93
Micro_Draft4_Many_Optional_Properties_Minimal_Match 14.893223501174026 ns/iter 15.380053576206027 ns/iter 0.97
Micro_Draft4_Few_Optional_Properties_Minimal_Match 6.529467216376559 ns/iter 6.925025285945516 ns/iter 0.94
Micro_Draft4_Items_Schema 235.28411799619545 ns/iter 251.90457185028126 ns/iter 0.93
Micro_Draft4_Nested_Object 0.6279279896064095 ns/iter 0.6705591895141289 ns/iter 0.94
Micro_Draft4_Properties_Triad_Optional 184.45431583341642 ns/iter 196.30523729220846 ns/iter 0.94
Micro_Draft4_Properties_Triad_Closed 151.20369459512028 ns/iter 161.13313850162564 ns/iter 0.94
Micro_Draft4_Properties_Triad_Required 201.2424051313865 ns/iter 206.66169233721783 ns/iter 0.97
Micro_Draft4_Properties_Closed 34.28338959829113 ns/iter 37.04167132347585 ns/iter 0.93
Micro_Draft4_Non_Recursive_Ref 11.66184768866995 ns/iter 12.48322159353775 ns/iter 0.93
Micro_Draft4_Pattern_Properties_True 145.77966276238107 ns/iter 144.3087507708716 ns/iter 1.01
Micro_Draft4_Ref_To_Single_Property 6.475946448042768 ns/iter 6.926314345593724 ns/iter 0.93
Micro_Draft4_Additional_Properties_Type 23.46149907253356 ns/iter 25.080783124096907 ns/iter 0.94
Micro_Draft4_Nested_Oneof 37.68188242296879 ns/iter 40.10354719632492 ns/iter 0.94
Micro_Draft4_Short_Enum 4.507845569854976 ns/iter 4.787807693683124 ns/iter 0.94
Micro_Draft4_Long_Enum 9.152114879670602 ns/iter 9.737516786700294 ns/iter 0.94
Micro_Draft4_Long_Enum_Short_Strings 5.670237633204261 ns/iter 6.094604263327759 ns/iter 0.93
Micro_Draft4_Type_Object 2.0190460566708186 ns/iter 2.148698760013976 ns/iter 0.94
Micro_Draft4_Ref_Single_100 1554927.2879120458 ns/iter 1665836.4095238063 ns/iter 0.93
Micro_Draft4_Compile_Ref_Many_Nested 1114664.017488151 ns/iter 1255207.547169713 ns/iter 0.89
Micro_Draft4_Compile_Wrap 1822871.16315724 ns/iter 1998222.9344728002 ns/iter 0.91
Micro_Draft6_Property_Names 86.7331195115253 ns/iter 94.72409702372435 ns/iter 0.92
Micro_Draft6_Compile_FHIR 7020666041.999903 ns/iter 7784808792.000035 ns/iter 0.90
Micro_Draft7_If_Then_Else 17.106351529270594 ns/iter 17.17062164102443 ns/iter 1.00
Micro_2019_09_Unevaluated_Properties 24.94016326822321 ns/iter 25.93110888756447 ns/iter 0.96
Micro_2019_09_Compile_Wrap 313017208.0000193 ns/iter 286244055.66665703 ns/iter 1.09
Micro_2020_12_Dynamic_Ref 171.57266287887109 ns/iter 183.7629805719217 ns/iter 0.93
Micro_2020_12_Dynamic_Ref_Single 2.141913764277276 ns/iter 2.142379447817832 ns/iter 1.00
Micro_2020_12_Simple_Output_Mask 57301.406720138235 ns/iter 60412.64024070911 ns/iter 0.95
Micro_2020_12_Simple_Output_Annotations 83331.4066764061 ns/iter 84826.61241345711 ns/iter 0.98
Micro_2020_12_Compile_NonCircular_Shared_Refs 739393.8706015343 ns/iter 801186.3956756783 ns/iter 0.92
Micro_2020_12_Exhaustive_Deep_Numeric 4871.300676235505 ns/iter 5529.6112265069605 ns/iter 0.88
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 106848.07511812945 ns/iter 116104.33120482613 ns/iter 0.92
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 13353.68749061801 ns/iter 14387.506386672801 ns/iter 0.93
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 87.07802424493896 ns/iter 92.97002473926769 ns/iter 0.94
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 4436.132307497233 ns/iter 4828.207813340788 ns/iter 0.92
Alterschema_Check_Readibility_ISO_Language_Set_3 236606819.33339825 ns/iter 232021833.33334386 ns/iter 1.02
Alterschema_Check_Readibility_OMC 57016592.923061505 ns/iter 59275007.00000602 ns/iter 0.96
Alterschema_Check_Readibility_KrakenD 543407749.9999148 ns/iter 586603500.0000238 ns/iter 0.93
Alterschema_Apply_Readibility_KrakenD 58092082332.000244 ns/iter 64116232500.00014 ns/iter 0.91
Alterschema_Check_Invalid_External_Refs 148352266.79997504 ns/iter 163271593.75001088 ns/iter 0.91

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

Copy link
Copy Markdown

@github-actions github-actions bot left a comment

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: a800b9d Previous: 26a4816 Ratio
E2E_Evaluator_adaptivecard 84633 ns 89811 ns 0.94
E2E_Evaluator_ansible-meta 383777 ns 424508 ns 0.90
E2E_Evaluator_aws-cdk 108478 ns 117636 ns 0.92
E2E_Evaluator_babelrc 291847 ns 327190 ns 0.89
E2E_Evaluator_cerebrum-criminal-case 1872674 ns 2047532 ns 0.91
E2E_Evaluator_clang-format 211963 ns 231455 ns 0.92
E2E_Evaluator_cmake-presets 14769613 ns 12708523 ns 1.16
E2E_Evaluator_code-climate 351639 ns 384248 ns 0.92
E2E_Evaluator_cql2 905888 ns 911400 ns 0.99
E2E_Evaluator_cspell 1154800 ns 1284732 ns 0.90
E2E_Evaluator_cypress 676929 ns 734353 ns 0.92
E2E_Evaluator_deno 731595 ns 807148 ns 0.91
E2E_Evaluator_dependabot 1038527 ns 907591 ns 1.14
E2E_Evaluator_draft-04 16021831 ns 15434385 ns 1.04
E2E_Evaluator_fabric-mod 1805172 ns 1910038 ns 0.95
E2E_Evaluator_geojson 19284117 ns 20302179 ns 0.95
E2E_Evaluator_gitpod-configuration 612699 ns 681945 ns 0.90
E2E_Evaluator_helm-chart-lock 1014287 ns 1075157 ns 0.94
E2E_Evaluator_importmap 207904 ns 227779 ns 0.91
E2E_Evaluator_jasmine 254147 ns 281780 ns 0.90
E2E_Evaluator_jsconfig 1207710 ns 1277481 ns 0.95
E2E_Evaluator_jshintrc 2801792 ns 2700950 ns 1.04
E2E_Evaluator_krakend 439029 ns 476929 ns 0.92
E2E_Evaluator_lazygit 338322 ns 359090 ns 0.94
E2E_Evaluator_lerna 358898 ns 385992 ns 0.93
E2E_Evaluator_nest-cli 526628 ns 591108 ns 0.89
E2E_Evaluator_omc 67687 ns 70869 ns 0.96
E2E_Evaluator_omnisharp 1202447 ns 1323885 ns 0.91
E2E_Evaluator_openapi 30318640 ns 25733548 ns 1.18
E2E_Evaluator_pre-commit-hooks 1589376 ns 1669686 ns 0.95
E2E_Evaluator_pulumi 1638197 ns 1812334 ns 0.90
E2E_Evaluator_semantic-release 214143 ns 237153 ns 0.90
E2E_Evaluator_stale 341936 ns 383892 ns 0.89
E2E_Evaluator_stylecop 805327 ns 880798 ns 0.91
E2E_Evaluator_tmuxinator 203791 ns 228718 ns 0.89
E2E_Evaluator_ui5 1613245 ns 1597955 ns 1.01
E2E_Evaluator_ui5-manifest 7286409 ns 8444941 ns 0.86
E2E_Evaluator_unreal-engine-uproject 1307466 ns 1448835 ns 0.90
E2E_Evaluator_vercel 916077 ns 934081 ns 0.98
E2E_Evaluator_yamllint 27800 ns 27673 ns 1.00

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

@jviotti jviotti force-pushed the canonical-next-draft6 branch from 8f82417 to a9178b3 Compare April 13, 2026 17:52

const auto expected = sourcemeta::core::parse_json(R"JSON({
"$schema": "http://json-schema.org/draft-04/schema#",
"allOf": [
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

TODO: Invalid conversion

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the canonical-next-draft6 branch from a9178b3 to b43af41 Compare April 13, 2026 18:09
@jviotti jviotti marked this pull request as ready for review April 13, 2026 18:11
@jviotti jviotti changed the title [WIP] Extend the new canonicalizer to Draft 6 Extend the new canonicalizer to Draft 6 Apr 13, 2026
@augmentcode
Copy link
Copy Markdown

augmentcode bot commented Apr 13, 2026

🤖 Augment PR Summary

Summary: Extends the “CanonicalizerNext” pipeline to cover JSON Schema Draft 6.

Changes:

  • Adds a Draft 6 canonical meta-schema and an extensive conformance test suite under schemas/.
  • Updates the schema build/test Makefile and vendor mask to include the new Draft 6 artifacts.
  • Expands multiple CanonicalizerNext rules to run for Draft 6 vocabularies (previously Draft 4 only).
  • Adds new Draft 6-specific implicit keyword rules (contains, propertyNames) and wires them into the alterschema CMake/build lists.
  • Ports/rewrites the Draft 6 canonicalization unit tests to validate output against the new canonical Draft 6 meta-schema.
  • Switches the Draft 6 evaluator trace suite registration to run under AlterSchemaMode::CanonicalizerNext.

Technical Notes: The Draft 6 tests now compile the canonical meta-schema once per suite and validate canonicalized output using the Blaze evaluator.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

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

Review completed. 3 suggestions posted.

Fix All in Augment

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


const auto &metadata{walker(entry.first, vocabularies)};
if (metadata.type != sourcemeta::core::SchemaKeywordType::Assertion) {
if (metadata.type == sourcemeta::core::SchemaKeywordType::Assertion) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This schedules all Assertion keywords for removal (regardless of value) and bypasses the frame.has_references_through(...) safety check used later, which can both change meaning (e.g. minimum restricting an enum) and break local $ref targets. Is this rule intended to run only after those constraints have already been reflected in the enum values?

Severity: high

Fix This in Augment

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

const auto expected = sourcemeta::core::parse_json(R"JSON({
"$schema": "http://json-schema.org/draft-06/schema#",
"type": "integer",
"minimum": -9223372036854775808,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

These expectations look like signed 64-bit overflow behavior (max+1 wrapping to min / min-1 wrapping to max), which would turn an unsatisfiable exclusive bound into a near-tautology. That seems likely to mask a real overflow/unsatisfiable-handling bug in the integer exclusive-bound folding logic.

Severity: high

Other Locations
  • test/alterschema/alterschema_canonicalize_draft6_test.cc:3339

Fix This in Augment

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

Copy link
Copy Markdown

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

Choose a reason for hiding this comment

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

6 issues found across 22 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="src/alterschema/canonicalizer/next/enum_drop_redundant_validation.h">

<violation number="1" location="src/alterschema/canonicalizer/next/enum_drop_redundant_validation.h:21">
P1: Enabling this rule for Draft 6 changes schema semantics because assertion siblings of `enum` are removed without first filtering the enum values against them.</violation>

<violation number="2" location="src/alterschema/canonicalizer/next/enum_drop_redundant_validation.h:33">
P2: Assertion keywords now bypass the `has_references_through()` guard, so this transform can erase locations that are still referenced elsewhere.</violation>

<violation number="3" location="src/alterschema/canonicalizer/next/enum_drop_redundant_validation.h:33">
P1: Unconditionally removing all `Assertion` keywords when `enum` is present can change validation semantics. For example, `{"enum": [1, 2, 3, 10], "minimum": 5}` only accepts `10`, but after dropping `minimum` it would accept all four values. This is only safe if the enum values have already been filtered to satisfy those assertions — but `enum_filter_by_type` only filters by type, not by assertion constraints like `minimum`/`maximum`/`minLength` etc.</violation>
</file>

<file name="src/alterschema/alterschema.cc">

<violation number="1" location="src/alterschema/alterschema.cc:243">
P2: This adds a second empty-schema canonicalizer for Draft 6, so `CanonicalizerNext` will report duplicate findings for the same `{}` schema.</violation>
</file>

<file name="src/alterschema/canonicalizer/next/type_with_applicator_to_allof.h">

<violation number="1" location="src/alterschema/canonicalizer/next/type_with_applicator_to_allof.h:22">
P1: Enabling this rule for Draft 6 is unsafe until `$id` is preserved at the schema root during the `allOf` rewrite.</violation>
</file>

<file name="src/alterschema/canonicalizer/next/contains_implicit.h">

<violation number="1" location="src/alterschema/canonicalizer/next/contains_implicit.h:30">
P1: Adding `contains: true` here makes plain Draft 6 array schemas reject empty arrays, so the canonicalizer no longer preserves schema semantics.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment on lines +22 to +23
vocabularies.contains_any({Vocabularies::Known::JSON_Schema_Draft_4,
Vocabularies::Known::JSON_Schema_Draft_6}) &&
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot Apr 13, 2026

Choose a reason for hiding this comment

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

P1: Enabling this rule for Draft 6 is unsafe until $id is preserved at the schema root during the allOf rewrite.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/alterschema/canonicalizer/next/type_with_applicator_to_allof.h, line 22:

<comment>Enabling this rule for Draft 6 is unsafe until `$id` is preserved at the schema root during the `allOf` rewrite.</comment>

<file context>
@@ -19,7 +19,8 @@ class TypeWithApplicatorToAllOf final : public SchemaTransformRule {
       -> SchemaTransformRule::Result override {
     ONLY_CONTINUE_IF(
-        vocabularies.contains(Vocabularies::Known::JSON_Schema_Draft_4) &&
+        vocabularies.contains_any({Vocabularies::Known::JSON_Schema_Draft_4,
+                                   Vocabularies::Known::JSON_Schema_Draft_6}) &&
         schema.is_object());
</file context>
Suggested change
vocabularies.contains_any({Vocabularies::Known::JSON_Schema_Draft_4,
Vocabularies::Known::JSON_Schema_Draft_6}) &&
vocabularies.contains(Vocabularies::Known::JSON_Schema_Draft_4) &&
Fix with Cubic

auto add(SchemaTransformer &bundle, const AlterSchemaMode mode) -> void {
if (mode == AlterSchemaMode::CanonicalizerNext) {
bundle.add<EmptyObjectAsTrueDraft4>();
bundle.add<EmptyObjectAsTrueNext>();
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot Apr 13, 2026

Choose a reason for hiding this comment

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

P2: This adds a second empty-schema canonicalizer for Draft 6, so CanonicalizerNext will report duplicate findings for the same {} schema.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/alterschema/alterschema.cc, line 243:

<comment>This adds a second empty-schema canonicalizer for Draft 6, so `CanonicalizerNext` will report duplicate findings for the same `{}` schema.</comment>

<file context>
@@ -238,13 +240,15 @@ namespace sourcemeta::blaze {
 auto add(SchemaTransformer &bundle, const AlterSchemaMode mode) -> void {
   if (mode == AlterSchemaMode::CanonicalizerNext) {
-    bundle.add<EmptyObjectAsTrueDraft4>();
+    bundle.add<EmptyObjectAsTrueNext>();
     bundle.add<ExclusiveMinimumBooleanIntegerFold>();
     bundle.add<ExclusiveMaximumBooleanIntegerFold>();
</file context>
Fix with Cubic

jviotti added 3 commits April 13, 2026 14:27
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Copy link
Copy Markdown

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

Choose a reason for hiding this comment

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

3 issues found across 10 files (changes from recent commits).

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="src/alterschema/canonicalizer/exclusive_minimum_integer_to_minimum.h">

<violation number="1" location="src/alterschema/canonicalizer/exclusive_minimum_integer_to_minimum.h:74">
P1: Avoid narrowing `current` to `std::int64_t` before checking its range; large integral reals can overflow in this branch.</violation>
</file>

<file name="src/alterschema/canonicalizer/exclusive_maximum_integer_to_maximum.h">

<violation number="1" location="src/alterschema/canonicalizer/exclusive_maximum_integer_to_maximum.h:74">
P1: Casting an integral real `exclusiveMaximum` to `int64_t` before checking the range can overflow on large values such as `1e20`.</violation>
</file>

<file name="src/alterschema/canonicalizer/next/enum_drop_redundant_validation.h">

<violation number="1" location="src/alterschema/canonicalizer/next/enum_drop_redundant_validation.h:85">
P1: Moving `enum` and sibling keywords under `allOf` can break internal `$ref` targets because this rule never rebases references to the new paths.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti merged commit 7630451 into main Apr 13, 2026
15 checks passed
@jviotti jviotti deleted the canonical-next-draft6 branch April 13, 2026 20:09
Copy link
Copy Markdown

@augmentcode augmentcode bot left a comment

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 (frame.has_references_through(
location.pointer, WeakPointer::Token{std::cref(entry.first)})) {
if (entry.second.is_boolean() && entry.second.to_boolean()) {
Copy link
Copy Markdown

@augmentcode augmentcode bot Apr 13, 2026

Choose a reason for hiding this comment

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

Dropping any keyword with a boolean true or an empty object here is too broad: e.g., uniqueItems: true and not: {} (or contains: {} in Draft-6) are not tautologies w.r.t. an enum and removing them changes semantics; consider restricting this drop to schema-like applicators where true/{} is tautological (e.g., additionalProperties/items/additionalItems) or funnel the rest into wrap_keywords_ instead.

Severity: high

Fix This in Augment

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

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.

1 participant