Skip to content

Use entry points to support the linter rules for standalone schemas#608

Merged
jviotti merged 1 commit intomainfrom
frame-new-reachability
Feb 5, 2026
Merged

Use entry points to support the linter rules for standalone schemas#608
jviotti merged 1 commit intomainfrom
frame-new-reachability

Conversation

@jviotti
Copy link
Member

@jviotti jviotti commented Feb 4, 2026

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

Copy link

@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: 2a7f40a Previous: 47a1c41 Ratio
E2E_Compiler_adaptivecard 65510728.11110873 ns/iter 61564032.79999836 ns/iter 1.06
E2E_Compiler_ansible_meta 27008082.153846893 ns/iter 26836939.653846387 ns/iter 1.01
E2E_Compiler_aws_cdk 464668.3419827267 ns/iter 466219.98408488074 ns/iter 1.00
E2E_Compiler_babelrc 2527108.234200736 ns/iter 2508458.7849462023 ns/iter 1.01
E2E_Compiler_clang_format 16983473.365854014 ns/iter 17232932.975609746 ns/iter 0.99
E2E_Compiler_cmake_presets 25025051.07142789 ns/iter 25148982.321427736 ns/iter 1.00
E2E_Compiler_code_climate 2485318.031914734 ns/iter 2483466.382978741 ns/iter 1.00
E2E_Compiler_cql2 12846714.222222192 ns/iter 12479388.333332507 ns/iter 1.03
E2E_Compiler_cspell 22370947.161288857 ns/iter 22484510.129031822 ns/iter 0.99
E2E_Compiler_cypress 3906728.8770948 ns/iter 3894610.662983266 ns/iter 1.00
E2E_Compiler_deno 7281638.770833728 ns/iter 7378159.452631687 ns/iter 0.99
E2E_Compiler_dependabot 3735798.94117661 ns/iter 3749004.1016045483 ns/iter 1.00
E2E_Compiler_draft_04 2627548.715355892 ns/iter 2613559.7537313257 ns/iter 1.01
E2E_Compiler_fabric_mod 4580841.860927014 ns/iter 4568499.13725514 ns/iter 1.00
E2E_Compiler_geojson 21065473.939395152 ns/iter 21531501.27272704 ns/iter 0.98
E2E_Compiler_gitpod_configuration 4692154.442953084 ns/iter 4678960.268456314 ns/iter 1.00
E2E_Compiler_helm_chart_lock 772377.9124168466 ns/iter 769910.9780460735 ns/iter 1.00
E2E_Compiler_importmap 378851.5861321782 ns/iter 377837.0952896661 ns/iter 1.00
E2E_Compiler_jasmine 1379871.5700197236 ns/iter 1376200.3786982642 ns/iter 1.00
E2E_Compiler_jshintrc 4198847.728915725 ns/iter 4224793.193939355 ns/iter 0.99
E2E_Compiler_jsconfig 20412013.970587518 ns/iter 20554952.61764657 ns/iter 0.99
E2E_Compiler_krakend 148289538.0000059 ns/iter 142609830.59999716 ns/iter 1.04
E2E_Compiler_lazygit 31338781.409090187 ns/iter 31122863.95652142 ns/iter 1.01
E2E_Compiler_lerna 1613886.6351038879 ns/iter 1621999.7764976295 ns/iter 0.99
E2E_Compiler_nest_cli 6992768.270000056 ns/iter 6998884.2699996205 ns/iter 1.00
E2E_Compiler_omc 157649986.99999923 ns/iter 147780135.59999865 ns/iter 1.07
E2E_Compiler_omnisharp 6386249.699999718 ns/iter 6371543.254545548 ns/iter 1.00
E2E_Compiler_openapi 23836286.86206897 ns/iter 23915563.299999576 ns/iter 1.00
E2E_Compiler_pre_commit_hooks 5042559.949640363 ns/iter 5040717.41007177 ns/iter 1.00
E2E_Compiler_pulumi 3872647.0441986606 ns/iter 3866996.316666713 ns/iter 1.00
E2E_Compiler_semantic_release 1572204.294382118 ns/iter 1567699.460136713 ns/iter 1.00
E2E_Compiler_stale 1551596.2062085099 ns/iter 1556695.534675653 ns/iter 1.00
E2E_Compiler_stylecop 5694541.661290304 ns/iter 5698150.974790261 ns/iter 1.00
E2E_Compiler_tmuxinator 1941663.0138503062 ns/iter 1937004.9203295915 ns/iter 1.00
E2E_Compiler_ui5 47818593.93333434 ns/iter 48024162.133333445 ns/iter 1.00
E2E_Compiler_ui5_manifest 322149550.5000007 ns/iter 329182624.4999925 ns/iter 0.98
E2E_Compiler_unreal_engine_uproject 4367931.981250094 ns/iter 4391782.006328778 ns/iter 0.99
E2E_Compiler_vercel 12414325.874999577 ns/iter 12434671.3571433 ns/iter 1.00
E2E_Compiler_yamllint 435179.39079029765 ns/iter 434785.43738200044 ns/iter 1.00
E2E_Evaluator_adaptivecard 36207.445886320726 ns/iter 36308.381174760936 ns/iter 1.00
E2E_Evaluator_ansible_meta 308460.53090262 ns/iter 312604.7742226246 ns/iter 0.99
E2E_Evaluator_aws_cdk 74593.37691979906 ns/iter 77916.10812013397 ns/iter 0.96
E2E_Evaluator_babelrc 153739.2769901927 ns/iter 156372.62215343706 ns/iter 0.98
E2E_Evaluator_cerebrum_criminal_case 1806619.1012047944 ns/iter 1704521.944844078 ns/iter 1.06
E2E_Evaluator_clang_format 139454.9110135779 ns/iter 138731.21722920376 ns/iter 1.01
E2E_Evaluator_cmake_presets 5749632.675438558 ns/iter 6036509.284403644 ns/iter 0.95
E2E_Evaluator_code_climate 282393.1362708945 ns/iter 279883.8820224541 ns/iter 1.01
E2E_Evaluator_cql2 297948.5202731358 ns/iter 312350.5768205881 ns/iter 0.95
E2E_Evaluator_cspell 723866.3006198287 ns/iter 737800.1146161655 ns/iter 0.98
E2E_Evaluator_cypress 235731.2613636234 ns/iter 234043.26310483878 ns/iter 1.01
E2E_Evaluator_deno 397122.7571428569 ns/iter 407999.01389695116 ns/iter 0.97
E2E_Evaluator_dependabot 585238.7866108839 ns/iter 582124.2537313437 ns/iter 1.01
E2E_Evaluator_draft_04 10021148.470588561 ns/iter 9508280.759999555 ns/iter 1.05
E2E_Evaluator_fabric_mod 918158.5971128343 ns/iter 927709.0456989864 ns/iter 0.99
E2E_Evaluator_geojson 31074298.909089748 ns/iter 31099279.21739002 ns/iter 1.00
E2E_Evaluator_gitpod_configuration 309987.13274337095 ns/iter 311050.2535650812 ns/iter 1.00
E2E_Evaluator_helm_chart_lock 455781.7845554912 ns/iter 458353.22827494994 ns/iter 0.99
E2E_Evaluator_importmap 71292.18539988603 ns/iter 73784.5563409495 ns/iter 0.97
E2E_Evaluator_jasmine 169354.61398397433 ns/iter 166247.36857007619 ns/iter 1.02
E2E_Evaluator_jshintrc 1313126.130434807 ns/iter 1320804.9001919327 ns/iter 0.99
E2E_Evaluator_jsconfig 528806.837453158 ns/iter 529022.6160781551 ns/iter 1.00
E2E_Evaluator_krakend 262839.3868031816 ns/iter 264572.1658462756 ns/iter 0.99
E2E_Evaluator_lazygit 179217.2345647151 ns/iter 184019.6217054379 ns/iter 0.97
E2E_Evaluator_lerna 208318.68666468447 ns/iter 215784.2815917641 ns/iter 0.97
E2E_Evaluator_nest_cli 252769.0079279211 ns/iter 254557.9294032137 ns/iter 0.99
E2E_Evaluator_omc 28026.843925272144 ns/iter 27789.52227105356 ns/iter 1.01
E2E_Evaluator_omnisharp 720479.6789365911 ns/iter 717214.6496944664 ns/iter 1.00
E2E_Evaluator_openapi 17614412.89743697 ns/iter 16671863.955553412 ns/iter 1.06
E2E_Evaluator_pre_commit_hooks 601954.9560345036 ns/iter 594688.462788766 ns/iter 1.01
E2E_Evaluator_pulumi 869441.6265664723 ns/iter 888481.5624999852 ns/iter 0.98
E2E_Evaluator_semantic_release 140205.43493976415 ns/iter 142841.9595938707 ns/iter 0.98
E2E_Evaluator_stale 207434.8361381785 ns/iter 212560.43563749344 ns/iter 0.98
E2E_Evaluator_stylecop 364501.88457503484 ns/iter 371634.5490405349 ns/iter 0.98
E2E_Evaluator_tmuxinator 136651.61108934283 ns/iter 137809.2545952213 ns/iter 0.99
E2E_Evaluator_ui5 706029.4693877838 ns/iter 725296.5511021742 ns/iter 0.97
E2E_Evaluator_ui5_manifest 3483210.200980459 ns/iter 3826751.7738693496 ns/iter 0.91
E2E_Evaluator_unreal_engine_uproject 546324.5533230111 ns/iter 545646.4629196064 ns/iter 1.00
E2E_Evaluator_vercel 397990.84069310414 ns/iter 391268.72767855256 ns/iter 1.02
E2E_Evaluator_yamllint 18884.72538752553 ns/iter 18622.356578947063 ns/iter 1.01
Micro_Draft4_Meta_1_No_Callback 258.33759435224846 ns/iter 277.2370296853254 ns/iter 0.93
Micro_Draft4_Required_Properties 1148.8671458013132 ns/iter 1150.3774817540525 ns/iter 1.00
Micro_Draft4_Many_Optional_Properties_Minimal_Match 31.76996346571343 ns/iter 32.1189034678527 ns/iter 0.99
Micro_Draft4_Few_Optional_Properties_Minimal_Match 19.96438078116736 ns/iter 19.666869242547815 ns/iter 1.02
Micro_Draft4_Items_Schema 645.398071111254 ns/iter 635.2601637918733 ns/iter 1.02
Micro_Draft4_Nested_Object 3.109785390239817 ns/iter 3.1104169862351916 ns/iter 1.00
Micro_Draft4_Properties_Triad_Optional 389.04240827511427 ns/iter 387.8345633405607 ns/iter 1.00
Micro_Draft4_Properties_Triad_Closed 323.0014299969332 ns/iter 323.7391331951313 ns/iter 1.00
Micro_Draft4_Properties_Triad_Required 435.94936417136677 ns/iter 432.58981699795635 ns/iter 1.01
Micro_Draft4_Properties_Closed 79.58937267778498 ns/iter 79.91072791973824 ns/iter 1.00
Micro_Draft4_Non_Recursive_Ref 32.693201545352515 ns/iter 32.01464170983433 ns/iter 1.02
Micro_Draft4_Pattern_Properties_True 268.13569847793593 ns/iter 268.3227786545916 ns/iter 1.00
Micro_Draft4_Ref_To_Single_Property 19.942061770583322 ns/iter 19.63053839060145 ns/iter 1.02
Micro_Draft4_Additional_Properties_Type 60.01022146317475 ns/iter 60.01900252672038 ns/iter 1.00
Micro_Draft4_Nested_Oneof 88.72439362349112 ns/iter 88.74861086489354 ns/iter 1.00
Micro_Draft4_Short_Enum 15.325291936251533 ns/iter 15.07821229927991 ns/iter 1.02
Micro_Draft4_Long_Enum 18.75437417065348 ns/iter 18.37081729553135 ns/iter 1.02
Micro_Draft4_Long_Enum_Short_Strings 15.282768125725243 ns/iter 15.031081039242986 ns/iter 1.02
Micro_Draft4_Type_Object 8.408932039567702 ns/iter 8.501439644250613 ns/iter 0.99
Micro_Draft4_Ref_Single_100 2423356.2318337862 ns/iter 2411201.0343642426 ns/iter 1.01
Micro_Draft4_Compile_Ref_Many_Nested 1805493.7345359882 ns/iter 1778326.0305343904 ns/iter 1.02
Micro_Draft4_Compile_Wrap 2372917.376271358 ns/iter 2360309.710437869 ns/iter 1.01
Micro_Draft6_Property_Names 117.22137577402287 ns/iter 117.07935809718757 ns/iter 1.00
Micro_Draft7_If_Then_Else 39.85226932842572 ns/iter 39.873123664536585 ns/iter 1.00
Micro_2019_09_Unevaluated_Properties 52.783582146831954 ns/iter 53.924557643175916 ns/iter 0.98
Micro_2019_09_Compile_Wrap 285612374.50000477 ns/iter 273301321.66666013 ns/iter 1.05
Micro_2019_09_KrakenD_Linter_Check 1250721171.9999986 ns/iter 5911839652.000026 ns/iter 0.21
Micro_2019_09_KrakenD_Linter_Apply 11084034086.999964 ns/iter 41120219579.99991 ns/iter 0.27
Micro_2020_12_Dynamic_Ref 363.10782641348743 ns/iter 361.12669526494943 ns/iter 1.01
Micro_2020_12_Dynamic_Ref_Single 8.40098916858336 ns/iter 8.406790668606375 ns/iter 1.00
Micro_2020_12_Simple_Output_Mask 149276.80932931558 ns/iter 142401.93694241473 ns/iter 1.05
Micro_2020_12_Simple_Output_Annotations 173965.3953195779 ns/iter 168880.6989377086 ns/iter 1.03
Micro_2020_12_Compile_NonCircular_Shared_Refs 1087959.7803379311 ns/iter 1073369.211981508 ns/iter 1.01

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

Copy link

@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: 2a7f40a Previous: 47a1c41 Ratio
E2E_Compiler_adaptivecard 72997226.28571154 ns/iter 58574695.79999588 ns/iter 1.25
E2E_Compiler_ansible_meta 28109445.000000052 ns/iter 26076659.214282926 ns/iter 1.08
E2E_Compiler_aws_cdk 472165.43153531366 ns/iter 378794.52579976193 ns/iter 1.25
E2E_Compiler_babelrc 2890727.0765547976 ns/iter 2343903.896774229 ns/iter 1.23
E2E_Compiler_clang_format 23791663.900002886 ns/iter 16574339.159999454 ns/iter 1.44
E2E_Compiler_cmake_presets 44600421.052630164 ns/iter 29760529.000001322 ns/iter 1.50
E2E_Compiler_code_climate 3115703.8551404285 ns/iter 2179669.9045935804 ns/iter 1.43
E2E_Compiler_cql2 20555946.42857029 ns/iter 12230575.892855557 ns/iter 1.68
E2E_Compiler_cspell 26321519.99999678 ns/iter 20623686.914284788 ns/iter 1.28
E2E_Compiler_cypress 5617141.993420653 ns/iter 3776837.383783631 ns/iter 1.49
E2E_Compiler_deno 9450355.382353216 ns/iter 6558552.4553577155 ns/iter 1.44
E2E_Compiler_dependabot 4956336.092714955 ns/iter 3809563.959999878 ns/iter 1.30
E2E_Compiler_draft_04 2990033.883268336 ns/iter 2189730.430079137 ns/iter 1.37
E2E_Compiler_fabric_mod 4989056.415384031 ns/iter 3578719.1144277924 ns/iter 1.39
E2E_Compiler_geojson 32580597.208332542 ns/iter 21747536.606061187 ns/iter 1.50
E2E_Compiler_gitpod_configuration 5824390.787878566 ns/iter 4050815.178770816 ns/iter 1.44
E2E_Compiler_helm_chart_lock 945236.8220930238 ns/iter 625622.6598101532 ns/iter 1.51
E2E_Compiler_importmap 390274.83308269153 ns/iter 275375.3123595382 ns/iter 1.42
E2E_Compiler_jasmine 1493811.710467712 ns/iter 1175117.2715133205 ns/iter 1.27
E2E_Compiler_jshintrc 5337365.151515108 ns/iter 3279130.846153769 ns/iter 1.63
E2E_Compiler_jsconfig 25895555.583332453 ns/iter 21462500.000000417 ns/iter 1.21
E2E_Compiler_krakend 202090072.9999937 ns/iter 157785426.9999932 ns/iter 1.28
E2E_Compiler_lazygit 41960081.055555694 ns/iter 32157505.95238443 ns/iter 1.30
E2E_Compiler_lerna 1866163.9463871198 ns/iter 1471249.5828342764 ns/iter 1.27
E2E_Compiler_nest_cli 7556148.747664049 ns/iter 6024418.399999831 ns/iter 1.25
E2E_Compiler_omc 236474388.66669288 ns/iter 156603521.0000223 ns/iter 1.51
E2E_Compiler_omnisharp 8339146.551723117 ns/iter 5600507.27777808 ns/iter 1.49
E2E_Compiler_openapi 28082395.000001267 ns/iter 20299757.352942754 ns/iter 1.38
E2E_Compiler_pre_commit_hooks 6434074.170000485 ns/iter 4198769.285714141 ns/iter 1.53
E2E_Compiler_pulumi 4953055.214724216 ns/iter 3426430.872727079 ns/iter 1.45
E2E_Compiler_semantic_release 1946609.004890001 ns/iter 1233404.8824532055 ns/iter 1.58
E2E_Compiler_stale 1763006.505290866 ns/iter 1232701.329330952 ns/iter 1.43
E2E_Compiler_stylecop 7328986.397959508 ns/iter 5117823.214285571 ns/iter 1.43
E2E_Compiler_tmuxinator 2259953.6231883327 ns/iter 1531871.3247310254 ns/iter 1.48
E2E_Compiler_ui5 77548321.99999452 ns/iter 57130732.14285811 ns/iter 1.36
E2E_Compiler_ui5_manifest 419332854.0000039 ns/iter 387556250.00004554 ns/iter 1.08
E2E_Compiler_unreal_engine_uproject 4848025.510203697 ns/iter 4536096.379121153 ns/iter 1.07
E2E_Compiler_vercel 17752107.44736904 ns/iter 18732985.780485895 ns/iter 0.95
E2E_Compiler_yamllint 386469.2928680006 ns/iter 468199.8216243005 ns/iter 0.83
E2E_Evaluator_adaptivecard 32023.950094919586 ns/iter 34694.380840748396 ns/iter 0.92
E2E_Evaluator_ansible_meta 262050.598117814 ns/iter 291237.88479941065 ns/iter 0.90
E2E_Evaluator_aws_cdk 62483.86567522116 ns/iter 68641.27514939754 ns/iter 0.91
E2E_Evaluator_babelrc 135360.94009682388 ns/iter 151679.5305676862 ns/iter 0.89
E2E_Evaluator_cerebrum_criminal_case 1500352.9693486143 ns/iter 1401266.9984125865 ns/iter 1.07
E2E_Evaluator_clang_format 142481.1685442978 ns/iter 138313.8174536312 ns/iter 1.03
E2E_Evaluator_cmake_presets 3852661.626373882 ns/iter 5709522.079999942 ns/iter 0.67
E2E_Evaluator_code_climate 178912.9695357704 ns/iter 214893.90354681626 ns/iter 0.83
E2E_Evaluator_cql2 198044.06449820273 ns/iter 277304.76912705763 ns/iter 0.71
E2E_Evaluator_cspell 542567.0829999944 ns/iter 772310.4417313694 ns/iter 0.70
E2E_Evaluator_cypress 160030.83266535235 ns/iter 221248.9278724179 ns/iter 0.72
E2E_Evaluator_deno 303050.8921606087 ns/iter 386150.53859348624 ns/iter 0.78
E2E_Evaluator_dependabot 510627.7308228709 ns/iter 538448.7499999296 ns/iter 0.95
E2E_Evaluator_draft_04 7293482.812499975 ns/iter 8286298.750000469 ns/iter 0.88
E2E_Evaluator_fabric_mod 813470.5356695198 ns/iter 923393.221448501 ns/iter 0.88
E2E_Evaluator_geojson 26019590.750000328 ns/iter 27578302.08333682 ns/iter 0.94
E2E_Evaluator_gitpod_configuration 290539.4638314763 ns/iter 313507.4049513385 ns/iter 0.93
E2E_Evaluator_helm_chart_lock 432220.7321212607 ns/iter 423309.23508771183 ns/iter 1.02
E2E_Evaluator_importmap 68215.07088358104 ns/iter 63248.18430765747 ns/iter 1.08
E2E_Evaluator_jasmine 180017.5801183916 ns/iter 143632.87793814155 ns/iter 1.25
E2E_Evaluator_jshintrc 1671965.8469947055 ns/iter 1279926.8316151565 ns/iter 1.31
E2E_Evaluator_jsconfig 592004.7984758752 ns/iter 416834.33815551613 ns/iter 1.42
E2E_Evaluator_krakend 255869.92240985596 ns/iter 198394.24714519197 ns/iter 1.29
E2E_Evaluator_lazygit 156378.48605576804 ns/iter 201865.34292918083 ns/iter 0.77
E2E_Evaluator_lerna 203644.00686428868 ns/iter 184001.24869955174 ns/iter 1.11
E2E_Evaluator_nest_cli 253525.54586208562 ns/iter 213111.67224480418 ns/iter 1.19
E2E_Evaluator_omc 26769.132599198703 ns/iter 23125.811639620202 ns/iter 1.16
E2E_Evaluator_omnisharp 936292.0731707453 ns/iter 595198.6762153064 ns/iter 1.57
E2E_Evaluator_openapi 21637858.333332993 ns/iter 12383275.423729373 ns/iter 1.75
E2E_Evaluator_pre_commit_hooks 718242.6937213079 ns/iter 518587.69836556865 ns/iter 1.38
E2E_Evaluator_pulumi 982033.4504083559 ns/iter 883955.7446601284 ns/iter 1.11
E2E_Evaluator_semantic_release 145709.21965966467 ns/iter 134850.20788408903 ns/iter 1.08
E2E_Evaluator_stale 216305.26399028723 ns/iter 184080.34659091197 ns/iter 1.18
E2E_Evaluator_stylecop 408321.02466366795 ns/iter 327394.3181818078 ns/iter 1.25
E2E_Evaluator_tmuxinator 137364.29419622893 ns/iter 114601.06053779241 ns/iter 1.20
E2E_Evaluator_ui5 691059.7839285921 ns/iter 546350.3247611931 ns/iter 1.26
E2E_Evaluator_ui5_manifest 3840953.3132529906 ns/iter 2552518.580086482 ns/iter 1.50
E2E_Evaluator_unreal_engine_uproject 680483.3651162775 ns/iter 474015.33247256523 ns/iter 1.44
E2E_Evaluator_vercel 383506.482331372 ns/iter 357735.55349791475 ns/iter 1.07
E2E_Evaluator_yamllint 20113.893004206882 ns/iter 17182.88164884049 ns/iter 1.17
Micro_Draft4_Meta_1_No_Callback 219.46928360420154 ns/iter 206.6140814527176 ns/iter 1.06
Micro_Draft4_Required_Properties 839.6098209426646 ns/iter 939.975155664184 ns/iter 0.89
Micro_Draft4_Many_Optional_Properties_Minimal_Match 26.822588180160494 ns/iter 28.28874592291312 ns/iter 0.95
Micro_Draft4_Few_Optional_Properties_Minimal_Match 15.312254663761538 ns/iter 15.990748124653836 ns/iter 0.96
Micro_Draft4_Items_Schema 585.0130368604696 ns/iter 626.381791999961 ns/iter 0.93
Micro_Draft4_Nested_Object 3.8180035061389757 ns/iter 4.080021244195193 ns/iter 0.94
Micro_Draft4_Properties_Triad_Optional 348.66719889837395 ns/iter 437.4204776440089 ns/iter 0.80
Micro_Draft4_Properties_Triad_Closed 262.6581576098719 ns/iter 347.2165355561085 ns/iter 0.76
Micro_Draft4_Properties_Triad_Required 369.5982530879348 ns/iter 454.16366035600134 ns/iter 0.81
Micro_Draft4_Properties_Closed 67.97685329690806 ns/iter 73.17123868079662 ns/iter 0.93
Micro_Draft4_Non_Recursive_Ref 27.178041717368163 ns/iter 31.55003579919155 ns/iter 0.86
Micro_Draft4_Pattern_Properties_True 183.43998894275506 ns/iter 217.46025859252532 ns/iter 0.84
Micro_Draft4_Ref_To_Single_Property 17.273116949932874 ns/iter 16.545829361598525 ns/iter 1.04
Micro_Draft4_Additional_Properties_Type 54.145825000000514 ns/iter 59.79481475204785 ns/iter 0.91
Micro_Draft4_Nested_Oneof 82.2030905207498 ns/iter 83.65941799659208 ns/iter 0.98
Micro_Draft4_Short_Enum 10.944282626571983 ns/iter 11.332055047093425 ns/iter 0.97
Micro_Draft4_Long_Enum 17.234327755477228 ns/iter 19.184181582160615 ns/iter 0.90
Micro_Draft4_Long_Enum_Short_Strings 12.326634339345873 ns/iter 15.82665037549347 ns/iter 0.78
Micro_Draft4_Type_Object 7.208381146652098 ns/iter 8.11831170111362 ns/iter 0.89
Micro_Draft4_Ref_Single_100 2082075.769230869 ns/iter 3209438.804687714 ns/iter 0.65
Micro_Draft4_Compile_Ref_Many_Nested 1345113.2028114123 ns/iter 2104805.078124983 ns/iter 0.64
Micro_Draft4_Compile_Wrap 2205771.7119743703 ns/iter 2705809.6472601797 ns/iter 0.82
Micro_Draft6_Property_Names 110.49577938319916 ns/iter 135.89078737238043 ns/iter 0.81
Micro_Draft7_If_Then_Else 31.04343556379492 ns/iter 38.4370926780315 ns/iter 0.81
Micro_2019_09_Unevaluated_Properties 40.91735564308392 ns/iter 45.009887835836814 ns/iter 0.91
Micro_2019_09_Compile_Wrap 371742603.9999623 ns/iter 391830437.50000477 ns/iter 0.95
Micro_2019_09_KrakenD_Linter_Check 819184124.9999925 ns/iter 8200038625.000048 ns/iter 0.0999000324830772
Micro_2019_09_KrakenD_Linter_Apply 9202360208.999949 ns/iter 50588488000.0001 ns/iter 0.18
Micro_2020_12_Dynamic_Ref 258.4327589918196 ns/iter 253.25715585379132 ns/iter 1.02
Micro_2020_12_Dynamic_Ref_Single 6.040759184330329 ns/iter 6.035854665786315 ns/iter 1.00
Micro_2020_12_Simple_Output_Mask 150675.2164484499 ns/iter 133979.74438785482 ns/iter 1.12
Micro_2020_12_Simple_Output_Annotations 193353.23425414105 ns/iter 153105.40357895184 ns/iter 1.26
Micro_2020_12_Compile_NonCircular_Shared_Refs 968551.1272142254 ns/iter 828392.8909300847 ns/iter 1.17

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

Copy link

@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: 2a7f40a Previous: 47a1c41 Ratio
Micro_2020_12_Dynamic_Ref 453.2887927298481 ns/iter 449.8382972810916 ns/iter 1.01
Micro_2020_12_Dynamic_Ref_Single 9.28990995233805 ns/iter 9.268280384528994 ns/iter 1.00
Micro_2020_12_Simple_Output_Mask 137118.296549023 ns/iter 137760.0874091635 ns/iter 1.00
Micro_2020_12_Simple_Output_Annotations 177170.76067727085 ns/iter 172204.81766312465 ns/iter 1.03
Micro_2020_12_Compile_NonCircular_Shared_Refs 1241213.54416956 ns/iter 1220073.452007012 ns/iter 1.02
Micro_2019_09_Unevaluated_Properties 47.33901245979192 ns/iter 47.881525251870805 ns/iter 0.99
Micro_2019_09_Compile_Wrap 309909995.49999285 ns/iter 315686972.49997514 ns/iter 0.98
Micro_2019_09_KrakenD_Linter_Check 1305963928.9999723 ns/iter 6886999864.000017 ns/iter 0.19
Micro_2019_09_KrakenD_Linter_Apply 11543211428.999939 ns/iter 48373384155.00005 ns/iter 0.24
Micro_Draft7_If_Then_Else 45.72741480327187 ns/iter 45.60922198372004 ns/iter 1.00
Micro_Draft6_Property_Names 162.0747033773999 ns/iter 161.3700673093275 ns/iter 1.00
Micro_Draft4_Meta_1_No_Callback 220.98766871604113 ns/iter 221.819393289592 ns/iter 1.00
Micro_Draft4_Required_Properties 804.0547418855155 ns/iter 795.9970820034528 ns/iter 1.01
Micro_Draft4_Many_Optional_Properties_Minimal_Match 27.36702027006403 ns/iter 27.363117133007577 ns/iter 1.00
Micro_Draft4_Few_Optional_Properties_Minimal_Match 16.95860483068804 ns/iter 16.978642049588476 ns/iter 1.00
Micro_Draft4_Items_Schema 524.7377669128444 ns/iter 541.2956287213254 ns/iter 0.97
Micro_Draft4_Nested_Object 3.285069198218147 ns/iter 3.3184267315894727 ns/iter 0.99
Micro_Draft4_Properties_Triad_Optional 487.9783309301083 ns/iter 455.6327157426821 ns/iter 1.07
Micro_Draft4_Properties_Triad_Closed 392.58203043993433 ns/iter 375.41199850253213 ns/iter 1.05
Micro_Draft4_Properties_Triad_Required 500.0653413073972 ns/iter 480.89697000193337 ns/iter 1.04
Micro_Draft4_Properties_Closed 70.3352952824864 ns/iter 70.36709011656437 ns/iter 1.00
Micro_Draft4_Non_Recursive_Ref 14.139226421564809 ns/iter 14.16300579236866 ns/iter 1.00
Micro_Draft4_Pattern_Properties_True 239.8877655152467 ns/iter 240.70322277265916 ns/iter 1.00
Micro_Draft4_Ref_To_Single_Property 16.895973138210817 ns/iter 16.97292210163785 ns/iter 1.00
Micro_Draft4_Additional_Properties_Type 19.131187629405503 ns/iter 19.104728717168488 ns/iter 1.00
Micro_Draft4_Nested_Oneof 111.64862475590022 ns/iter 112.67920854072725 ns/iter 0.99
Micro_Draft4_Short_Enum 17.758810270885366 ns/iter 17.745155883500246 ns/iter 1.00
Micro_Draft4_Long_Enum 19.542585491064152 ns/iter 19.170866763042778 ns/iter 1.02
Micro_Draft4_Long_Enum_Short_Strings 17.765817283689493 ns/iter 17.755030332991982 ns/iter 1.00
Micro_Draft4_Type_Object 9.275455561697644 ns/iter 9.25721671305004 ns/iter 1.00
Micro_Draft4_Ref_Single_100 2613216.64312268 ns/iter 2562088.952381034 ns/iter 1.02
Micro_Draft4_Compile_Ref_Many_Nested 1942918.5207756085 ns/iter 1918201.5831065085 ns/iter 1.01
Micro_Draft4_Compile_Wrap 2631708.8052438055 ns/iter 2570146.761029565 ns/iter 1.02
E2E_Compiler_adaptivecard 68668418.69999689 ns/iter 67990061.29999724 ns/iter 1.01
E2E_Compiler_ansible_meta 30202389.82608826 ns/iter 29538103.913044166 ns/iter 1.02
E2E_Compiler_aws_cdk 529365.6913109528 ns/iter 517816.88418708544 ns/iter 1.02
E2E_Compiler_babelrc 2887980.770491852 ns/iter 2838098.4268293525 ns/iter 1.02
E2E_Compiler_clang_format 19775549.194444392 ns/iter 19419535.833331265 ns/iter 1.02
E2E_Compiler_cmake_presets 27718588.560001083 ns/iter 27097662.884618606 ns/iter 1.02
E2E_Compiler_code_climate 2909144.2181067574 ns/iter 2853304.7224486 ns/iter 1.02
E2E_Compiler_cql2 14415089.69387727 ns/iter 13945212.060000358 ns/iter 1.03
E2E_Compiler_cspell 24573773.55172584 ns/iter 23828041.73333473 ns/iter 1.03
E2E_Compiler_cypress 4350724.024539395 ns/iter 4207195.566264994 ns/iter 1.03
E2E_Compiler_deno 8314963.726190529 ns/iter 8219804.329410983 ns/iter 1.01
E2E_Compiler_dependabot 4314521.623456708 ns/iter 4253089.466666291 ns/iter 1.01
E2E_Compiler_draft_04 3036689.4323147456 ns/iter 2994002.71367526 ns/iter 1.01
E2E_Compiler_fabric_mod 5224273.89552234 ns/iter 5152842.043795636 ns/iter 1.01
E2E_Compiler_geojson 24540910.58620696 ns/iter 23567022.7333344 ns/iter 1.04
E2E_Compiler_gitpod_configuration 5362877.138462024 ns/iter 5268081.789473002 ns/iter 1.02
E2E_Compiler_helm_chart_lock 860457.6814267461 ns/iter 854828.0851581972 ns/iter 1.01
E2E_Compiler_importmap 427157.4734594074 ns/iter 421617.76104051166 ns/iter 1.01
E2E_Compiler_jasmine 1570203.4446951041 ns/iter 1543378.0089683915 ns/iter 1.02
E2E_Compiler_jshintrc 4825550.606896568 ns/iter 4747160.292517142 ns/iter 1.02
E2E_Compiler_jsconfig 23094904.799999464 ns/iter 22898751.806451403 ns/iter 1.01
E2E_Compiler_krakend 160151704.250012 ns/iter 149622303.59999466 ns/iter 1.07
E2E_Compiler_lazygit 35477073.29999526 ns/iter 35094406.84999845 ns/iter 1.01
E2E_Compiler_lerna 1867983.7593582273 ns/iter 1838405.5953003326 ns/iter 1.02
E2E_Compiler_nest_cli 8049281.632183031 ns/iter 7875669.853932921 ns/iter 1.02
E2E_Compiler_omc 171288958.50001413 ns/iter 163808717.24999225 ns/iter 1.05
E2E_Compiler_omnisharp 7342199.494845322 ns/iter 7243288.775510114 ns/iter 1.01
E2E_Compiler_openapi 27322499.30768988 ns/iter 26582501.923078675 ns/iter 1.03
E2E_Compiler_pre_commit_hooks 5789822.256198277 ns/iter 5701208.333333837 ns/iter 1.02
E2E_Compiler_pulumi 4479974.948717806 ns/iter 4378408.087499963 ns/iter 1.02
E2E_Compiler_semantic_release 1811758.4378237412 ns/iter 1772941.5303028645 ns/iter 1.02
E2E_Compiler_stale 1773016.4010152936 ns/iter 1738005.6343283888 ns/iter 1.02
E2E_Compiler_stylecop 6409450.981651606 ns/iter 6250092.750000087 ns/iter 1.03
E2E_Compiler_tmuxinator 2241483.611464973 ns/iter 2199263.479623822 ns/iter 1.02
E2E_Compiler_ui5 51116724.230767496 ns/iter 49946953.28571197 ns/iter 1.02
E2E_Compiler_ui5_manifest 343077560.99997276 ns/iter 327679321.9999945 ns/iter 1.05
E2E_Compiler_unreal_engine_uproject 4975632.730496185 ns/iter 4974699.340425639 ns/iter 1.00
E2E_Compiler_vercel 13566635.557693345 ns/iter 13279385.415094625 ns/iter 1.02
E2E_Compiler_yamllint 492371.2443502992 ns/iter 484634.4795565435 ns/iter 1.02
E2E_Evaluator_adaptivecard 33212.32231522758 ns/iter 30444.95388159369 ns/iter 1.09
E2E_Evaluator_ansible_meta 298514.13648069935 ns/iter 289074.10098924296 ns/iter 1.03
E2E_Evaluator_aws_cdk 58584.13728287603 ns/iter 57837.96063706879 ns/iter 1.01
E2E_Evaluator_babelrc 132894.78426923003 ns/iter 134029.36192078065 ns/iter 0.99
E2E_Evaluator_cerebrum_criminal_case 1449756.7914109165 ns/iter 1387929.231225236 ns/iter 1.04
E2E_Evaluator_clang_format 108780.36499383637 ns/iter 106139.57438823808 ns/iter 1.02
E2E_Evaluator_cmake_presets 5433129.6640002625 ns/iter 5214533.9534887215 ns/iter 1.04
E2E_Evaluator_code_climate 233891.5013210203 ns/iter 227684.06512535596 ns/iter 1.03
E2E_Evaluator_cql2 315138.860644547 ns/iter 308037.5032967132 ns/iter 1.02
E2E_Evaluator_cspell 642575.6629834905 ns/iter 624327.841823104 ns/iter 1.03
E2E_Evaluator_cypress 178577.20102039346 ns/iter 176021.3648101197 ns/iter 1.01
E2E_Evaluator_deno 361461.4410860931 ns/iter 340086.1898920408 ns/iter 1.06
E2E_Evaluator_dependabot 497698.88159775507 ns/iter 490389.52748785407 ns/iter 1.01
E2E_Evaluator_draft_04 8903175.986667216 ns/iter 7900197.4111116 ns/iter 1.13
E2E_Evaluator_fabric_mod 911386.9095744003 ns/iter 913538.1572889837 ns/iter 1.00
E2E_Evaluator_geojson 26991774.269233175 ns/iter 25852461.535716236 ns/iter 1.04
E2E_Evaluator_gitpod_configuration 279185.12740385474 ns/iter 273998.8923379141 ns/iter 1.02
E2E_Evaluator_helm_chart_lock 337243.3009661763 ns/iter 336088.77404070704 ns/iter 1.00
E2E_Evaluator_importmap 57505.303092424176 ns/iter 56574.46555858505 ns/iter 1.02
E2E_Evaluator_jasmine 139651.47571456732 ns/iter 138690.05063039422 ns/iter 1.01
E2E_Evaluator_jshintrc 1005732.3371591669 ns/iter 1005821.7428163333 ns/iter 1.00
E2E_Evaluator_jsconfig 472182.04029547184 ns/iter 465180.0770763198 ns/iter 1.02
E2E_Evaluator_krakend 228588.2432078415 ns/iter 222151.84447256813 ns/iter 1.03
E2E_Evaluator_lazygit 161468.7796650093 ns/iter 155348.71422203662 ns/iter 1.04
E2E_Evaluator_lerna 148305.53387365033 ns/iter 150237.21602198633 ns/iter 0.99
E2E_Evaluator_nest_cli 227303.28215224115 ns/iter 227040.18260005902 ns/iter 1.00
E2E_Evaluator_omc 25717.58762120707 ns/iter 25922.03933445471 ns/iter 0.99
E2E_Evaluator_omnisharp 556283.0704698034 ns/iter 564927.9023218391 ns/iter 0.98
E2E_Evaluator_openapi 13713732.559999699 ns/iter 12567488.5185171 ns/iter 1.09
E2E_Evaluator_pre_commit_hooks 529191.3189394522 ns/iter 530836.54806969 ns/iter 1.00
E2E_Evaluator_pulumi 875997.3729662563 ns/iter 836755.2843488953 ns/iter 1.05
E2E_Evaluator_semantic_release 136288.84926470832 ns/iter 135957.7649524172 ns/iter 1.00
E2E_Evaluator_stale 166286.93747027445 ns/iter 167952.49313773343 ns/iter 0.99
E2E_Evaluator_stylecop 343443.03788969165 ns/iter 335500.0358680565 ns/iter 1.02
E2E_Evaluator_tmuxinator 128922.98883687804 ns/iter 126870.93833153544 ns/iter 1.02
E2E_Evaluator_ui5 653168.9522058482 ns/iter 652913.8385320356 ns/iter 1.00
E2E_Evaluator_ui5_manifest 3124691.049999807 ns/iter 3042704.1135373265 ns/iter 1.03
E2E_Evaluator_unreal_engine_uproject 505310.88710847235 ns/iter 491322.857342661 ns/iter 1.03
E2E_Evaluator_vercel 352972.5282076472 ns/iter 348124.13009329326 ns/iter 1.01
E2E_Evaluator_yamllint 12865.184834385662 ns/iter 12862.910714284666 ns/iter 1.00

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

@jviotti jviotti force-pushed the frame-new-reachability branch 7 times, most recently from f262477 to 45ab68e Compare February 4, 2026 18:52
@jviotti jviotti changed the title [WIP] Support compiling a specific location of a schema [WIP] Use compilation entry points to support the linter rules Feb 4, 2026
@jviotti jviotti force-pushed the frame-new-reachability branch 2 times, most recently from 7493fa5 to 2cf46bf Compare February 5, 2026 16:00
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the frame-new-reachability branch from 2cf46bf to 2a7f40a Compare February 5, 2026 16:16
@jviotti jviotti changed the title [WIP] Use compilation entry points to support the linter rules Use entry points to support the linter rules for standalone schemas Feb 5, 2026
@jviotti jviotti marked this pull request as ready for review February 5, 2026 16:17
@augmentcode
Copy link

augmentcode bot commented Feb 5, 2026

🤖 Augment PR Summary

Summary: This PR updates Blaze’s compiler/linter integration to better support linter rules when schemas are “standalone” (no external refs) by compiling via schema entry points.

Changes:

  • Removed the Tweaks::assume_bundled flag and simplified compile(...) to always bundle before framing/compiling.
  • Updated ValidExamples and ValidDefault to, when frame.standalone(), compile the full root schema once and validate instances using an entry point URI for the current subschema.
  • Made the linter rules hold a reusable Evaluator instance (as a mutable member) rather than constructing one per check.
  • Adjusted the non-standalone path to compile without passing the removed tweak/entrypoint arguments.
  • Added a regression test covering examples validation with a standalone root id and a relative $ref resolved via a custom resolver.

Technical Notes: The standalone path now relies on SchemaFrame::uri(...) to compute an entry point and on the existing frame for correct reference context, rather than wrapping a subschema and tweaking bundling behavior.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@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. 2 suggestions posted.

Fix All in Augment

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

Copy link

@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.

1 issue found across 6 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="src/linter/valid_examples.cc">

<violation number="1" location="src/linter/valid_examples.cc:61">
P2: This validation loop (lines 58-82) is identical to the one used later in the function (lines 112-132 in the modified file). This violation of the DRY principle increases maintenance burden and the risk of inconsistent behavior if one loop is updated but the other is not.

Consider extracting the loop into a helper lambda or private method that accepts the compiled schema and the optional base pointer.</violation>
</file>

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

frame, base.value().get(),
Mode::Exhaustive)};

for (const auto &example : schema.at("examples").as_array()) {
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 5, 2026

Choose a reason for hiding this comment

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

P2: This validation loop (lines 58-82) is identical to the one used later in the function (lines 112-132 in the modified file). This violation of the DRY principle increases maintenance burden and the risk of inconsistent behavior if one loop is updated but the other is not.

Consider extracting the loop into a helper lambda or private method that accepts the compiled schema and the optional base pointer.

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

<comment>This validation loop (lines 58-82) is identical to the one used later in the function (lines 112-132 in the modified file). This violation of the DRY principle increases maintenance burden and the risk of inconsistent behavior if one loop is updated but the other is not.

Consider extracting the loop into a helper lambda or private method that accepts the compiled schema and the optional base pointer.</comment>

<file context>
@@ -49,32 +49,62 @@ auto ValidExamples::condition(
+                                       frame, base.value().get(),
+                                       Mode::Exhaustive)};
+
+    for (const auto &example : schema.at("examples").as_array()) {
+      SimpleOutput output{example};
+      const auto result{this->evaluator_.validate(schema_template, example,
</file context>
Fix with Cubic

@jviotti jviotti merged commit 8f44f7d into main Feb 5, 2026
14 checks passed
@jviotti jviotti deleted the frame-new-reachability branch February 5, 2026 16:27
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