Skip to content

Extend the new canonicalizer to Draft 3#723

Merged
jviotti merged 4 commits intomainfrom
dradt3-new-canonical
Apr 15, 2026
Merged

Extend the new canonicalizer to Draft 3#723
jviotti merged 4 commits intomainfrom
dradt3-new-canonical

Conversation

@jviotti
Copy link
Copy Markdown
Member

@jviotti jviotti commented Apr 15, 2026

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

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti jviotti force-pushed the dradt3-new-canonical branch from b67bb3b to 5958b05 Compare April 15, 2026 22:30
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented Apr 15, 2026

🤖 Augment PR Summary

Summary: Extends the “canonicalizer/next” pipeline to cover JSON Schema Draft 3 by adding a Draft 3 canonical meta-schema and the rewrite rules needed to produce it.

Changes:

  • Add schemas/canonical-draft3.json plus a comprehensive canonical-draft3.test.json corpus; wire both into schemas/Makefile
  • Teach existing canonicalizer-next rules to recognize Draft 3 vocabularies and Draft 3 semantics (e.g., extends, disallow, divisibleBy, per-property required)
  • Introduce new Draft 3 normalization rules: extends_to_array, disallow_to_array_of_schemas, type_union_to_schemas, dependencies_to_extends_disallow, and required_property_implicit
  • Adjust Draft 3 implicit defaults for object/tuple keywords (e.g., additionalProperties/additionalItems defaulting to {})
  • Revamp Draft 3 canonicalization tests to validate canonical output against the new meta-schema using Blaze compilation

Technical Notes: Draft 3 canonicalization encodes some legacy features using schema-valued unions and extends/disallow applicators, with reframing enabled to keep reference tracking consistent.

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

Fix All in Augment

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


for (const auto &entry : schema.at("properties").as_object()) {
if (entry.second.is_object() && !entry.second.empty() &&
!entry.second.defines("$ref") && !entry.second.defines("required")) {
Copy link
Copy Markdown

@augmentcode augmentcode Bot Apr 15, 2026

Choose a reason for hiding this comment

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

src/alterschema/canonicalizer/next/required_property_implicit.h:27 — This skips property subschemas that define $ref, but schemas/canonical-draft3.json’s $defs/subproperty appears to require every non-empty property schema (including $ref ones) to include a boolean required; $ref-based properties may remain non-canonical after this pass.

Severity: medium

Fix This in Augment

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

result_branches.push_back(std::move(wrapper));
}

processed.emplace_back(entry.first);
Copy link
Copy Markdown

@augmentcode augmentcode Bot Apr 15, 2026

Choose a reason for hiding this comment

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

src/alterschema/canonicalizer/next/dependencies_to_extends_disallow.h:110 — processed.emplace_back(entry.first) runs for every dependency entry, even when entry.second is neither a schema nor a string/array, so those keys get erased after generating a no-op/incorrect branch; consider skipping unsupported dependency value types like dependencies_to_any_of does.

Severity: medium

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.

3 issues found across 27 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/type_union_to_schemas.h">

<violation number="1" location="src/alterschema/canonicalizer/next/type_union_to_schemas.h:44">
P3: This adds a duplicated `type_string_to_schema` implementation that already exists in another canonicalizer rule; extract a shared helper to avoid divergence.</violation>
</file>

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

<violation number="1" location="src/alterschema/canonicalizer/next/required_property_implicit.h:27">
P2: The `!entry.second.defines("$ref")` guard causes this rule to skip `$ref`-containing property subschemas entirely, but the canonical meta-schema (`$defs/subproperty`) requires every non-empty property schema — including `$ref` ones — to carry a boolean `required`. Properties like `{"$ref": "#/bar"}` will remain non-canonical because `required: false` is never injected.</violation>
</file>

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

<violation number="1" location="src/alterschema/canonicalizer/next/dependencies_to_extends_disallow.h:74">
P2: The catch-all `else` branch transforms and removes non-string/non-array dependency values instead of skipping them, which can silently rewrite unsupported `dependencies` entries.</violation>
</file>

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


for (const auto &entry : schema.at("properties").as_object()) {
if (entry.second.is_object() && !entry.second.empty() &&
!entry.second.defines("$ref") && !entry.second.defines("required")) {
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot Apr 15, 2026

Choose a reason for hiding this comment

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

P2: The !entry.second.defines("$ref") guard causes this rule to skip $ref-containing property subschemas entirely, but the canonical meta-schema ($defs/subproperty) requires every non-empty property schema — including $ref ones — to carry a boolean required. Properties like {"$ref": "#/bar"} will remain non-canonical because required: false is never injected.

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

<comment>The `!entry.second.defines("$ref")` guard causes this rule to skip `$ref`-containing property subschemas entirely, but the canonical meta-schema (`$defs/subproperty`) requires every non-empty property schema — including `$ref` ones — to carry a boolean `required`. Properties like `{"$ref": "#/bar"}` will remain non-canonical because `required: false` is never injected.</comment>

<file context>
@@ -0,0 +1,48 @@
+
+    for (const auto &entry : schema.at("properties").as_object()) {
+      if (entry.second.is_object() && !entry.second.empty() &&
+          !entry.second.defines("$ref") && !entry.second.defines("required")) {
+        return true;
+      }
</file context>
Fix with Cubic

Comment thread src/alterschema/canonicalizer/next/dependencies_to_extends_disallow.h Outdated
}

private:
static auto type_string_to_schema(const std::string &type_name) -> JSON {
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot Apr 15, 2026

Choose a reason for hiding this comment

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

P3: This adds a duplicated type_string_to_schema implementation that already exists in another canonicalizer rule; extract a shared helper to avoid divergence.

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_union_to_schemas.h, line 44:

<comment>This adds a duplicated `type_string_to_schema` implementation that already exists in another canonicalizer rule; extract a shared helper to avoid divergence.</comment>

<file context>
@@ -0,0 +1,70 @@
+  }
+
+private:
+  static auto type_string_to_schema(const std::string &type_name) -> JSON {
+    if (type_name == "null") {
+      auto result{JSON::make_object()};
</file context>
Fix with Cubic

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: 894cc4a Previous: b15c580 Ratio
E2E_Compiler_adaptivecard 68009228.3333301 ns/iter 62972473.000002086 ns/iter 1.08
E2E_Compiler_ansible_meta 28224840.583334297 ns/iter 29139391.624999195 ns/iter 0.97
E2E_Compiler_aws_cdk 375644.314576646 ns/iter 377337.2063577208 ns/iter 1.00
E2E_Compiler_babelrc 2556813.3772894843 ns/iter 2601246.1808119123 ns/iter 0.98
E2E_Compiler_clang_format 18291548.21052576 ns/iter 18482581.868421506 ns/iter 0.99
E2E_Compiler_cmake_presets 25601197.481482476 ns/iter 25818861.444442384 ns/iter 0.99
E2E_Compiler_code_climate 2600997.522058681 ns/iter 2570245.0258302307 ns/iter 1.01
E2E_Compiler_cql2 12780337.709091328 ns/iter 12770068.381818915 ns/iter 1.00
E2E_Compiler_cspell 22514004.67742043 ns/iter 22635983.90322474 ns/iter 0.99
E2E_Compiler_cypress 3872401.3812153814 ns/iter 3897754.1797755314 ns/iter 0.99
E2E_Compiler_deno 7605278.94565183 ns/iter 7738500.833333244 ns/iter 0.98
E2E_Compiler_dependabot 3882292.727777781 ns/iter 3922518.787709382 ns/iter 0.99
E2E_Compiler_draft_04 2660452.692015291 ns/iter 2689146.602316674 ns/iter 0.99
E2E_Compiler_fabric_mod 4707375.58783767 ns/iter 4766570.706293522 ns/iter 0.99
E2E_Compiler_geojson 21779625.812499147 ns/iter 21944839.843751397 ns/iter 0.99
E2E_Compiler_gitpod_configuration 4888637.83333334 ns/iter 4902747.321677923 ns/iter 1.00
E2E_Compiler_helm_chart_lock 708017.858006012 ns/iter 711270.8946301641 ns/iter 1.00
E2E_Compiler_importmap 283649.4312525333 ns/iter 285634.557431057 ns/iter 0.99
E2E_Compiler_jasmine 1359538.6363636875 ns/iter 1365953.7797271435 ns/iter 1.00
E2E_Compiler_jshintrc 4336418.310558883 ns/iter 4357957.07453409 ns/iter 1.00
E2E_Compiler_jsconfig 21831459.281250075 ns/iter 21971924.62499942 ns/iter 0.99
E2E_Compiler_krakend 144819067.0000031 ns/iter 142364787.19999468 ns/iter 1.02
E2E_Compiler_lazygit 33097578.380951136 ns/iter 33305703.333331577 ns/iter 0.99
E2E_Compiler_lerna 1588248.9683258582 ns/iter 1601987.744292373 ns/iter 0.99
E2E_Compiler_nest_cli 7403280.234042507 ns/iter 7440621.78723483 ns/iter 0.99
E2E_Compiler_omc 157719635.99999595 ns/iter 153578787.80000645 ns/iter 1.03
E2E_Compiler_omnisharp 6701837.466666153 ns/iter 6753681.349514365 ns/iter 0.99
E2E_Compiler_openapi 24871054.03571377 ns/iter 25119711.21428555 ns/iter 0.99
E2E_Compiler_pre_commit_hooks 5253788.180451189 ns/iter 5371860.692307214 ns/iter 0.98
E2E_Compiler_pulumi 4011033.7298852396 ns/iter 4083174.8546513026 ns/iter 0.98
E2E_Compiler_semantic_release 1556946.8644443734 ns/iter 1590309.4191343763 ns/iter 0.98
E2E_Compiler_stale 1546786.9559470792 ns/iter 1563643.2219730727 ns/iter 0.99
E2E_Compiler_stylecop 6119091.373913129 ns/iter 6220063.321427867 ns/iter 0.98
E2E_Compiler_tmuxinator 1913431.8251365863 ns/iter 1942701.8638888663 ns/iter 0.98
E2E_Compiler_ui5 47655148.26666883 ns/iter 46568777.53333599 ns/iter 1.02
E2E_Compiler_ui5_manifest 325518685.00002 ns/iter 311679027.99995774 ns/iter 1.04
E2E_Compiler_unreal_engine_uproject 4575770.065359536 ns/iter 4584815.138157619 ns/iter 1.00
E2E_Compiler_users_array 766543.6728665618 ns/iter 773092.2582782133 ns/iter 0.99
E2E_Compiler_vercel 12342145.684211222 ns/iter 12368274.624999944 ns/iter 1.00
E2E_Compiler_yamllint 344714.2198720938 ns/iter 346927.1371287023 ns/iter 0.99
E2E_Evaluator_adaptivecard 24369.722611790057 ns/iter 24642.937208809486 ns/iter 0.99
E2E_Evaluator_ansible_meta 236437.21082526527 ns/iter 235891.9542818085 ns/iter 1.00
E2E_Evaluator_aws_cdk 54612.47905935465 ns/iter 51599.60030740549 ns/iter 1.06
E2E_Evaluator_babelrc 110129.95283165704 ns/iter 110376.92437240304 ns/iter 1.00
E2E_Evaluator_cerebrum_criminal_case 968437.3006993239 ns/iter 966030.5531334274 ns/iter 1.00
E2E_Evaluator_clang_format 126099.71384783153 ns/iter 128086.43720676989 ns/iter 0.98
E2E_Evaluator_cmake_presets 4475816.454545394 ns/iter 4255016.630303076 ns/iter 1.05
E2E_Evaluator_code_climate 176113.60769424797 ns/iter 178025.85078008243 ns/iter 0.99
E2E_Evaluator_cql2 210368.47018484081 ns/iter 202733.9627219046 ns/iter 1.04
E2E_Evaluator_cspell 567466.1981833186 ns/iter 561725.301049184 ns/iter 1.01
E2E_Evaluator_cypress 199530.5542613644 ns/iter 199706.00937234476 ns/iter 1.00
E2E_Evaluator_deno 319374.84719103883 ns/iter 318655.596301331 ns/iter 1.00
E2E_Evaluator_dependabot 395784.63359638315 ns/iter 403848.1534541542 ns/iter 0.98
E2E_Evaluator_draft_04 8364511.190477299 ns/iter 7589617.5108695105 ns/iter 1.10
E2E_Evaluator_fabric_mod 716826.4492754121 ns/iter 716154.13578947 ns/iter 1.00
E2E_Evaluator_geojson 16293305.76744197 ns/iter 15936525.477273606 ns/iter 1.02
E2E_Evaluator_gitpod_configuration 234343.47321132725 ns/iter 236237.48834066757 ns/iter 0.99
E2E_Evaluator_helm_chart_lock 359922.62474542763 ns/iter 360676.9289365949 ns/iter 1.00
E2E_Evaluator_importmap 47930.602538178224 ns/iter 49208.17787133992 ns/iter 0.97
E2E_Evaluator_jasmine 116728.29401089657 ns/iter 118033.11381052581 ns/iter 0.99
E2E_Evaluator_jshintrc 1271213.3534798853 ns/iter 1274032.5895116574 ns/iter 1.00
E2E_Evaluator_jsconfig 433580.23894345906 ns/iter 436930.838609549 ns/iter 0.99
E2E_Evaluator_krakend 217236.897380612 ns/iter 216528.41979520977 ns/iter 1.00
E2E_Evaluator_lazygit 144616.06553243272 ns/iter 147808.05378151144 ns/iter 0.98
E2E_Evaluator_lerna 137544.25587416178 ns/iter 145410.71346468022 ns/iter 0.95
E2E_Evaluator_nest_cli 181193.11819595651 ns/iter 183844.46931313365 ns/iter 0.99
E2E_Evaluator_omc 19676.588485481152 ns/iter 19499.593508245714 ns/iter 1.01
E2E_Evaluator_omnisharp 640159.1475710399 ns/iter 632624.0121268256 ns/iter 1.01
E2E_Evaluator_openapi 16345469.930231873 ns/iter 13667633.285714537 ns/iter 1.20
E2E_Evaluator_pre_commit_hooks 489241.4816384036 ns/iter 483076.35027854645 ns/iter 1.01
E2E_Evaluator_pulumi 663604.0913460962 ns/iter 666110.5906488925 ns/iter 1.00
E2E_Evaluator_semantic_release 100875.86484186236 ns/iter 101276.19237360595 ns/iter 1.00
E2E_Evaluator_stale 162820.9143518425 ns/iter 163703.81758804966 ns/iter 0.99
E2E_Evaluator_stylecop 298259.53443177085 ns/iter 289993.5761181875 ns/iter 1.03
E2E_Evaluator_tmuxinator 98049.16064545132 ns/iter 98543.44240985047 ns/iter 0.99
E2E_Evaluator_ui5 502236.8465492164 ns/iter 509678.87672228453 ns/iter 0.99
E2E_Evaluator_ui5_manifest 2717237.4418604486 ns/iter 2617814.7843869715 ns/iter 1.04
E2E_Evaluator_unreal_engine_uproject 425030.61838101957 ns/iter 434692.92199021945 ns/iter 0.98
E2E_Evaluator_users_array 1270205.7586205453 ns/iter 1276616.1074682588 ns/iter 0.99
E2E_Evaluator_vercel 314518.4559678063 ns/iter 311854.5208240293 ns/iter 1.01
E2E_Evaluator_yamllint 8500.514545230788 ns/iter 8503.058136261765 ns/iter 1.00
Micro_Draft4_Meta_1_No_Callback 190.083669141236 ns/iter 192.3175640491388 ns/iter 0.99
Micro_Draft4_Required_Properties 869.251743226309 ns/iter 868.7665937136251 ns/iter 1.00
Micro_Draft4_Many_Optional_Properties_Minimal_Match 30.930728848385268 ns/iter 30.84461676957181 ns/iter 1.00
Micro_Draft4_Few_Optional_Properties_Minimal_Match 11.214506062069582 ns/iter 11.206435732181612 ns/iter 1.00
Micro_Draft4_Items_Schema 299.6046276774388 ns/iter 295.1088441625141 ns/iter 1.02
Micro_Draft4_Nested_Object 1.785791651123849 ns/iter 1.8071182661802705 ns/iter 0.99
Micro_Draft4_Properties_Triad_Optional 334.34333915079526 ns/iter 326.1065409217461 ns/iter 1.03
Micro_Draft4_Properties_Triad_Closed 277.4155520938483 ns/iter 271.393095694207 ns/iter 1.02
Micro_Draft4_Properties_Triad_Required 351.2393979710724 ns/iter 343.8958096167382 ns/iter 1.02
Micro_Draft4_Properties_Closed 57.053943601509786 ns/iter 56.63574644668295 ns/iter 1.01
Micro_Draft4_Non_Recursive_Ref 11.92843452948864 ns/iter 11.76739896961649 ns/iter 1.01
Micro_Draft4_Pattern_Properties_True 163.0989632305829 ns/iter 161.24693922708855 ns/iter 1.01
Micro_Draft4_Ref_To_Single_Property 11.20634711533209 ns/iter 11.211585933662912 ns/iter 1.00
Micro_Draft4_Additional_Properties_Type 21.606846969834542 ns/iter 21.559113959840897 ns/iter 1.00
Micro_Draft4_Nested_Oneof 56.73635260859511 ns/iter 56.69975071983321 ns/iter 1.00
Micro_Draft4_Short_Enum 14.014872240983783 ns/iter 11.8297489527971 ns/iter 1.18
Micro_Draft4_Long_Enum 14.031774903116801 ns/iter 14.029814003607566 ns/iter 1.00
Micro_Draft4_Long_Enum_Short_Strings 14.097307296139624 ns/iter 11.829406211055696 ns/iter 1.19
Micro_Draft4_Type_Object 3.4262922417881456 ns/iter 3.4255034352589586 ns/iter 1.00
Micro_Draft4_Ref_Single_100 2358322.744107942 ns/iter 2353694.600671188 ns/iter 1.00
Micro_Draft4_Compile_Ref_Many_Nested 1711567.8926829123 ns/iter 1704021.7305825492 ns/iter 1.00
Micro_Draft4_Compile_Wrap 2348380.083892546 ns/iter 2359035.5622895868 ns/iter 1.00
Micro_Draft6_Property_Names 135.7778452356575 ns/iter 135.72899699757346 ns/iter 1.00
Micro_Draft6_Compile_FHIR 14493795460.99999 ns/iter 14055281187.99998 ns/iter 1.03
Micro_Draft7_If_Then_Else 22.727683439171553 ns/iter 23.145949331428604 ns/iter 0.98
Micro_2019_09_Unevaluated_Properties 27.993889866409873 ns/iter 28.029157823167516 ns/iter 1.00
Micro_2019_09_Compile_Wrap 311267535.0000131 ns/iter 300319865.00000584 ns/iter 1.04
Micro_2020_12_Dynamic_Ref 226.41008375448237 ns/iter 226.39988439555634 ns/iter 1.00
Micro_2020_12_Dynamic_Ref_Single 3.423937230169971 ns/iter 3.424201315060873 ns/iter 1.00
Micro_2020_12_Simple_Output_Mask 65120.14893217319 ns/iter 66041.069609999 ns/iter 0.99
Micro_2020_12_Simple_Output_Annotations 101077.53501804653 ns/iter 102648.05218782021 ns/iter 0.98
Micro_2020_12_Compile_NonCircular_Shared_Refs 1086542.4482224393 ns/iter 1096115.8435054568 ns/iter 0.99
Micro_2020_12_Exhaustive_Deep_Numeric 8029.755843110128 ns/iter 8380.109944875498 ns/iter 0.96
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 174627.07986109782 ns/iter 176328.95027348623 ns/iter 0.99
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 22410.845080383304 ns/iter 22651.95227030934 ns/iter 0.99
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 139.72460445225175 ns/iter 142.25889668145768 ns/iter 0.98
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 4190.711538461096 ns/iter 4215.648793275842 ns/iter 0.99
Alterschema_Check_Readibility_ISO_Language_Set_3 353191776.5000117 ns/iter 345132954.00000745 ns/iter 1.02
Alterschema_Check_Readibility_OMC 86481564.50000499 ns/iter 84165957.87500115 ns/iter 1.03
Alterschema_Check_Readibility_KrakenD 1202330083.9999819 ns/iter 1178483967.0000339 ns/iter 1.02
Alterschema_Apply_Readibility_KrakenD 121207922740.99995 ns/iter 118510747463.99991 ns/iter 1.02
Alterschema_Check_Invalid_External_Refs 314472784.0000314 ns/iter 303578466.50002784 ns/iter 1.04

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: 894cc4a Previous: b15c580 Ratio
E2E_Evaluator_adaptivecard 113831 ns 114275 ns 1.00
E2E_Evaluator_ansible-meta 506053 ns 508664 ns 0.99
E2E_Evaluator_aws-cdk 137568 ns 137678 ns 1.00
E2E_Evaluator_babelrc 322880 ns 306725 ns 1.05
E2E_Evaluator_cerebrum-criminal-case 2378989 ns 2391814 ns 0.99
E2E_Evaluator_clang-format 260874 ns 247049 ns 1.06
E2E_Evaluator_cmake-presets 18634489 ns 16535173 ns 1.13
E2E_Evaluator_code-climate 444563 ns 434012 ns 1.02
E2E_Evaluator_cql2 1157574 ns 1180744 ns 0.98
E2E_Evaluator_cspell 1426354 ns 1405354 ns 1.01
E2E_Evaluator_cypress 771173 ns 736096 ns 1.05
E2E_Evaluator_deno 1003072 ns 989918 ns 1.01
E2E_Evaluator_dependabot 1039563 ns 1063613 ns 0.98
E2E_Evaluator_draft-04 24395221 ns 20334514 ns 1.20
E2E_Evaluator_fabric-mod 2335113 ns 2249303 ns 1.04
E2E_Evaluator_geojson 27753293 ns 25136491 ns 1.10
E2E_Evaluator_gitpod-configuration 700063 ns 674922 ns 1.04
E2E_Evaluator_helm-chart-lock 1005447 ns 970647 ns 1.04
E2E_Evaluator_importmap 270449 ns 276231 ns 0.98
E2E_Evaluator_jasmine 299298 ns 287745 ns 1.04
E2E_Evaluator_jsconfig 1213593 ns 1161918 ns 1.04
E2E_Evaluator_jshintrc 2777199 ns 2739924 ns 1.01
E2E_Evaluator_krakend 694828 ns 694457 ns 1.00
E2E_Evaluator_lazygit 495504 ns 479547 ns 1.03
E2E_Evaluator_lerna 447806 ns 455187 ns 0.98
E2E_Evaluator_nest-cli 563283 ns 547453 ns 1.03
E2E_Evaluator_omc 88030 ns 91634 ns 0.96
E2E_Evaluator_omnisharp 1408012 ns 1391806 ns 1.01
E2E_Evaluator_openapi 42704287 ns 41417640 ns 1.03
E2E_Evaluator_pre-commit-hooks 1881941 ns 1874748 ns 1.00
E2E_Evaluator_pulumi 1819709 ns 1751929 ns 1.04
E2E_Evaluator_semantic-release 257906 ns 257122 ns 1.00
E2E_Evaluator_stale 390292 ns 373243 ns 1.05
E2E_Evaluator_stylecop 1107250 ns 1104768 ns 1.00
E2E_Evaluator_tmuxinator 221023 ns 216807 ns 1.02
E2E_Evaluator_ui5 2011134 ns 2035537 ns 0.99
E2E_Evaluator_ui5-manifest 12468763 ns 10183173 ns 1.22
E2E_Evaluator_unreal-engine-uproject 1444692 ns 1428333 ns 1.01
E2E_Evaluator_users-array 2617333 ns 2544064 ns 1.03
E2E_Evaluator_vercel 960950 ns 941065 ns 1.02
E2E_Evaluator_yamllint 28107 ns 27961 ns 1.01

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

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: 894cc4a Previous: b15c580 Ratio
Alterschema_Check_Readibility_ISO_Language_Set_3 321876671.0000409 ns/iter 350619649.500004 ns/iter 0.92
Alterschema_Check_Readibility_OMC 98247841.71428291 ns/iter 99714543.714299 ns/iter 0.99
Alterschema_Check_Readibility_KrakenD 1578755942.0000434 ns/iter 1424371418.9999537 ns/iter 1.11
Alterschema_Apply_Readibility_KrakenD 143884033061.0001 ns/iter 133195617195.00006 ns/iter 1.08
Alterschema_Check_Invalid_External_Refs 251133210.33328855 ns/iter 303889830.0000028 ns/iter 0.83
Micro_2020_12_Dynamic_Ref 284.5855071907259 ns/iter 260.10200040447506 ns/iter 1.09
Micro_2020_12_Dynamic_Ref_Single 3.696172171051867 ns/iter 4.2238936596976675 ns/iter 0.88
Micro_2020_12_Simple_Output_Mask 67513.48451005977 ns/iter 69749.34257327387 ns/iter 0.97
Micro_2020_12_Simple_Output_Annotations 108445.74766212443 ns/iter 101756.68931756371 ns/iter 1.07
Micro_2020_12_Compile_NonCircular_Shared_Refs 1096176.5070424264 ns/iter 1189157.273809381 ns/iter 0.92
Micro_2020_12_Exhaustive_Deep_Numeric 8861.778981334846 ns/iter 8149.063930044261 ns/iter 1.09
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 142469.24979823452 ns/iter 166840.7968824906 ns/iter 0.85
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 23726.99334106982 ns/iter 26671.247228809672 ns/iter 0.89
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 137.64646640378868 ns/iter 130.92276600509558 ns/iter 1.05
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 4518.955406486656 ns/iter 4543.186375636057 ns/iter 0.99
Micro_2019_09_Unevaluated_Properties 25.05315651742431 ns/iter 29.220515920219835 ns/iter 0.86
Micro_2019_09_Compile_Wrap 276411714.9999947 ns/iter 310645462.50001967 ns/iter 0.89
Micro_Draft7_If_Then_Else 22.395845156635534 ns/iter 25.086650492847056 ns/iter 0.89
Micro_Draft6_Property_Names 138.8946721086916 ns/iter 142.6413650195263 ns/iter 0.97
Micro_Draft6_Compile_FHIR 17228821752.000156 ns/iter 15161692160.00003 ns/iter 1.14
Micro_Draft4_Meta_1_No_Callback 173.17280206661252 ns/iter 171.9458186031846 ns/iter 1.01
Micro_Draft4_Required_Properties 768.5881120226259 ns/iter 846.9192898307582 ns/iter 0.91
Micro_Draft4_Many_Optional_Properties_Minimal_Match 24.564921569804245 ns/iter 21.74852955398865 ns/iter 1.13
Micro_Draft4_Few_Optional_Properties_Minimal_Match 11.48334547800265 ns/iter 12.677063058933769 ns/iter 0.91
Micro_Draft4_Items_Schema 283.55174139673045 ns/iter 318.04372801180654 ns/iter 0.89
Micro_Draft4_Nested_Object 2.0186265081094805 ns/iter 1.7621764106549072 ns/iter 1.15
Micro_Draft4_Properties_Triad_Optional 319.9400825562256 ns/iter 438.95016294642716 ns/iter 0.73
Micro_Draft4_Properties_Triad_Closed 264.68156096581885 ns/iter 342.10564939629785 ns/iter 0.77
Micro_Draft4_Properties_Triad_Required 343.2670002826976 ns/iter 466.57198804534414 ns/iter 0.74
Micro_Draft4_Properties_Closed 64.15237463035922 ns/iter 62.06385255988427 ns/iter 1.03
Micro_Draft4_Non_Recursive_Ref 8.47751966869119 ns/iter 8.875023772589818 ns/iter 0.96
Micro_Draft4_Pattern_Properties_True 168.58488543968016 ns/iter 207.48084650392283 ns/iter 0.81
Micro_Draft4_Ref_To_Single_Property 12.100363180462146 ns/iter 13.028854159482625 ns/iter 0.93
Micro_Draft4_Additional_Properties_Type 13.699747622145033 ns/iter 14.640779203341848 ns/iter 0.94
Micro_Draft4_Nested_Oneof 54.60735889980036 ns/iter 66.13737560547713 ns/iter 0.83
Micro_Draft4_Short_Enum 10.95501786900211 ns/iter 14.795560248807694 ns/iter 0.74
Micro_Draft4_Long_Enum 11.777042188913624 ns/iter 14.459703795876313 ns/iter 0.81
Micro_Draft4_Long_Enum_Short_Strings 10.963660831020503 ns/iter 14.771250097190311 ns/iter 0.74
Micro_Draft4_Type_Object 3.889026418912799 ns/iter 4.57535461123184 ns/iter 0.85
Micro_Draft4_Ref_Single_100 2311039.9117644 ns/iter 2518141.8884888203 ns/iter 0.92
Micro_Draft4_Compile_Ref_Many_Nested 1677115.3779904926 ns/iter 1819033.1194806015 ns/iter 0.92
Micro_Draft4_Compile_Wrap 2325954.863787905 ns/iter 2597859.151851649 ns/iter 0.90
E2E_Compiler_adaptivecard 60717352.090912096 ns/iter 66060673.09090494 ns/iter 0.92
E2E_Compiler_ansible_meta 26647236.153849006 ns/iter 31086193.652171183 ns/iter 0.86
E2E_Compiler_aws_cdk 364742.73192604625 ns/iter 401791.90841444925 ns/iter 0.91
E2E_Compiler_babelrc 2469952.286219268 ns/iter 2825873.8064519754 ns/iter 0.87
E2E_Compiler_clang_format 17313739.075001422 ns/iter 20076335.285713345 ns/iter 0.86
E2E_Compiler_cmake_presets 25182124.60713747 ns/iter 28088762.520001184 ns/iter 0.90
E2E_Compiler_code_climate 2496607.4623660455 ns/iter 2848847.5203255257 ns/iter 0.88
E2E_Compiler_cql2 12979917.574074097 ns/iter 14160147.816329876 ns/iter 0.92
E2E_Compiler_cspell 22305677.21874621 ns/iter 24670940.535713725 ns/iter 0.90
E2E_Compiler_cypress 3801659.193548266 ns/iter 4298190.883436532 ns/iter 0.88
E2E_Compiler_deno 7226206.402061301 ns/iter 8379289.797617383 ns/iter 0.86
E2E_Compiler_dependabot 3702797.3736844375 ns/iter 4294753.115854702 ns/iter 0.86
E2E_Compiler_draft_04 2662990.8136881897 ns/iter 2947020.8607595726 ns/iter 0.90
E2E_Compiler_fabric_mod 4624657.2649004115 ns/iter 5214856.111111927 ns/iter 0.89
E2E_Compiler_geojson 21598036.393938992 ns/iter 24573309.17241836 ns/iter 0.88
E2E_Compiler_gitpod_configuration 4738007.790540513 ns/iter 5370147.183205913 ns/iter 0.88
E2E_Compiler_helm_chart_lock 653879.9810245578 ns/iter 730868.4242424464 ns/iter 0.89
E2E_Compiler_importmap 273475.591477718 ns/iter 299454.25000000204 ns/iter 0.91
E2E_Compiler_jasmine 1320794.8003768553 ns/iter 1465217.1596638546 ns/iter 0.90
E2E_Compiler_jshintrc 4098298.209301838 ns/iter 4742117.62162219 ns/iter 0.86
E2E_Compiler_jsconfig 20035027.257141076 ns/iter 23527789.833337918 ns/iter 0.85
E2E_Compiler_krakend 127325586.83334596 ns/iter 143061441.2000068 ns/iter 0.89
E2E_Compiler_lazygit 31448914.636360895 ns/iter 36484446.526317604 ns/iter 0.86
E2E_Compiler_lerna 1548917.446902691 ns/iter 1729034.7698021699 ns/iter 0.90
E2E_Compiler_nest_cli 7062373.0505051045 ns/iter 8123038.160919214 ns/iter 0.87
E2E_Compiler_omc 147929377.59998494 ns/iter 165865595.00001386 ns/iter 0.89
E2E_Compiler_omnisharp 6258552.999999064 ns/iter 7337176.315788958 ns/iter 0.85
E2E_Compiler_openapi 24193048.551727895 ns/iter 27240776.65384182 ns/iter 0.89
E2E_Compiler_pre_commit_hooks 4998211.992858614 ns/iter 5848047.558331852 ns/iter 0.85
E2E_Compiler_pulumi 3923020.2290511252 ns/iter 4434018.556961274 ns/iter 0.88
E2E_Compiler_semantic_release 1548689.3642383132 ns/iter 1706285.2024387545 ns/iter 0.91
E2E_Compiler_stale 1488915.585106584 ns/iter 1677045.2038367335 ns/iter 0.89
E2E_Compiler_stylecop 5452341.476562594 ns/iter 6511044.523364528 ns/iter 0.84
E2E_Compiler_tmuxinator 1892994.2803233422 ns/iter 2099467.541916328 ns/iter 0.90
E2E_Compiler_ui5 45180865.59999878 ns/iter 51280368.357148685 ns/iter 0.88
E2E_Compiler_ui5_manifest 286101358.49999094 ns/iter 317484042.49992746 ns/iter 0.90
E2E_Compiler_unreal_engine_uproject 4371254.650000366 ns/iter 5020721.549999507 ns/iter 0.87
E2E_Compiler_users_array 797429.2369020911 ns/iter 842568.3194615853 ns/iter 0.95
E2E_Compiler_vercel 11970643.672415901 ns/iter 13469583.346153948 ns/iter 0.89
E2E_Compiler_yamllint 338971.0135528042 ns/iter 367230.667017309 ns/iter 0.92
E2E_Evaluator_adaptivecard 22506.59776807799 ns/iter 23003.82437502103 ns/iter 0.98
E2E_Evaluator_ansible_meta 214889.43517648443 ns/iter 235560.38847764803 ns/iter 0.91
E2E_Evaluator_aws_cdk 44221.904421080806 ns/iter 44017.337663957085 ns/iter 1.00
E2E_Evaluator_babelrc 87961.76758602475 ns/iter 85758.30964336333 ns/iter 1.03
E2E_Evaluator_cerebrum_criminal_case 1070083.7307691614 ns/iter 1073629.1411042355 ns/iter 1.00
E2E_Evaluator_clang_format 102751.88546256418 ns/iter 99866.38062480118 ns/iter 1.03
E2E_Evaluator_cmake_presets 4739974.551020335 ns/iter 4697503.032894857 ns/iter 1.01
E2E_Evaluator_code_climate 193749.23953748116 ns/iter 158885.87074354643 ns/iter 1.22
E2E_Evaluator_cql2 184279.0026852874 ns/iter 210930.30700745163 ns/iter 0.87
E2E_Evaluator_cspell 537576.7697063329 ns/iter 516648.6984615823 ns/iter 1.04
E2E_Evaluator_cypress 157734.12672549227 ns/iter 143110.09577291014 ns/iter 1.10
E2E_Evaluator_deno 345052.3523903508 ns/iter 277019.6598101046 ns/iter 1.25
E2E_Evaluator_dependabot 426172.674432983 ns/iter 422826.33109352546 ns/iter 1.01
E2E_Evaluator_draft_04 6458158.2222213335 ns/iter 7815479.166666615 ns/iter 0.83
E2E_Evaluator_fabric_mod 727712.1436003972 ns/iter 729772.2230289659 ns/iter 1.00
E2E_Evaluator_geojson 16247831.465116812 ns/iter 17003985.80487672 ns/iter 0.96
E2E_Evaluator_gitpod_configuration 247779.1779510919 ns/iter 230323.91828792242 ns/iter 1.08
E2E_Evaluator_helm_chart_lock 365392.78715689754 ns/iter 216076.03608410578 ns/iter 1.69
E2E_Evaluator_importmap 31381.47295892991 ns/iter 41784.86373874504 ns/iter 0.75
E2E_Evaluator_jasmine 107544.61177736343 ns/iter 101758.7034875314 ns/iter 1.06
E2E_Evaluator_jshintrc 1056547.5533833096 ns/iter 1013077.8150287737 ns/iter 1.04
E2E_Evaluator_jsconfig 365190.58789773536 ns/iter 369552.5246781636 ns/iter 0.99
E2E_Evaluator_krakend 174696.37719740602 ns/iter 189539.4880536679 ns/iter 0.92
E2E_Evaluator_lazygit 117849.93233208433 ns/iter 125102.77299206839 ns/iter 0.94
E2E_Evaluator_lerna 172035.08820614332 ns/iter 122991.18435552777 ns/iter 1.40
E2E_Evaluator_nest_cli 193689.13880473643 ns/iter 180156.1228069838 ns/iter 1.08
E2E_Evaluator_omc 18094.57264758515 ns/iter 18916.785196403664 ns/iter 0.96
E2E_Evaluator_omnisharp 579003.4053377749 ns/iter 520589.9931612061 ns/iter 1.11
E2E_Evaluator_openapi 13869795.02000031 ns/iter 14941526.901963038 ns/iter 0.93
E2E_Evaluator_pre_commit_hooks 537689.929176232 ns/iter 471830.0572207839 ns/iter 1.14
E2E_Evaluator_pulumi 784150.7446568495 ns/iter 725393.4503170532 ns/iter 1.08
E2E_Evaluator_semantic_release 82023.68169013681 ns/iter 85941.4677096366 ns/iter 0.95
E2E_Evaluator_stale 151679.86172043608 ns/iter 150686.68024005415 ns/iter 1.01
E2E_Evaluator_stylecop 289667.8088356797 ns/iter 288156.8621981612 ns/iter 1.01
E2E_Evaluator_tmuxinator 87768.56133967408 ns/iter 86755.2408035054 ns/iter 1.01
E2E_Evaluator_ui5 491091.7293707164 ns/iter 509101.3054734046 ns/iter 0.96
E2E_Evaluator_ui5_manifest 2723582.6614786345 ns/iter 2691847.9647056484 ns/iter 1.01
E2E_Evaluator_unreal_engine_uproject 455562.1855468021 ns/iter 444025.8276290891 ns/iter 1.03
E2E_Evaluator_users_array 1537438.991208746 ns/iter 1511195.2051280888 ns/iter 1.02
E2E_Evaluator_vercel 354402.56752663647 ns/iter 269909.504211339 ns/iter 1.31
E2E_Evaluator_yamllint 8901.492492685382 ns/iter 9180.5044394256 ns/iter 0.97

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: 894cc4a Previous: b15c580 Ratio
E2E_Evaluator_adaptivecard 109243 ns 116796 ns 0.94
E2E_Evaluator_ansible-meta 513108 ns 521955 ns 0.98
E2E_Evaluator_aws-cdk 142969 ns 128005 ns 1.12
E2E_Evaluator_babelrc 434265 ns 302611 ns 1.44
E2E_Evaluator_cerebrum-criminal-case 2424933 ns 2612972 ns 0.93
E2E_Evaluator_clang-format 312726 ns 258355 ns 1.21
E2E_Evaluator_cmake-presets 17191989 ns 18142638 ns 0.95
E2E_Evaluator_code-climate 477230 ns 421649 ns 1.13
E2E_Evaluator_cql2 1133636 ns 1178247 ns 0.96
E2E_Evaluator_cspell 1617050 ns 1568952 ns 1.03
E2E_Evaluator_cypress 963619 ns 829960 ns 1.16
E2E_Evaluator_deno 1031805 ns 1057314 ns 0.98
E2E_Evaluator_dependabot 1109168 ns 1041290 ns 1.07
E2E_Evaluator_draft-04 20670670 ns 23821752 ns 0.87
E2E_Evaluator_fabric-mod 2287233 ns 2429065 ns 0.94
E2E_Evaluator_geojson 26599669 ns 27943956 ns 0.95
E2E_Evaluator_gitpod-configuration 781177 ns 719674 ns 1.09
E2E_Evaluator_helm-chart-lock 1056837 ns 1056367 ns 1.00
E2E_Evaluator_importmap 313552 ns 273469 ns 1.15
E2E_Evaluator_jasmine 332290 ns 292274 ns 1.14
E2E_Evaluator_jsconfig 1597151 ns 1447204 ns 1.10
E2E_Evaluator_jshintrc 3123853 ns 2946184 ns 1.06
E2E_Evaluator_krakend 639545 ns 658710 ns 0.97
E2E_Evaluator_lazygit 473647 ns 446159 ns 1.06
E2E_Evaluator_lerna 465058 ns 428202 ns 1.09
E2E_Evaluator_nest-cli 675568 ns 576159 ns 1.17
E2E_Evaluator_omc 81634 ns 88906 ns 0.92
E2E_Evaluator_omnisharp 1495557 ns 1499344 ns 1.00
E2E_Evaluator_openapi 36066130 ns 42117893 ns 0.86
E2E_Evaluator_pre-commit-hooks 1994875 ns 1957280 ns 1.02
E2E_Evaluator_pulumi 2043446 ns 1963211 ns 1.04
E2E_Evaluator_semantic-release 311418 ns 233719 ns 1.33
E2E_Evaluator_stale 421997 ns 368712 ns 1.14
E2E_Evaluator_stylecop 1110063 ns 1132023 ns 0.98
E2E_Evaluator_tmuxinator 295169 ns 216221 ns 1.37
E2E_Evaluator_ui5 2009654 ns 2032436 ns 0.99
E2E_Evaluator_ui5-manifest 9518599 ns 10910034 ns 0.87
E2E_Evaluator_unreal-engine-uproject 1611981 ns 1533798 ns 1.05
E2E_Evaluator_users-array 2666886 ns 2422330 ns 1.10
E2E_Evaluator_vercel 1049838 ns 972785 ns 1.08
E2E_Evaluator_yamllint 28715 ns 26721 ns 1.07

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: 894cc4a Previous: b15c580 Ratio
E2E_Compiler_adaptivecard 81512898.85712945 ns/iter 77610720.9000088 ns/iter 1.05
E2E_Compiler_ansible_meta 27405749.99999505 ns/iter 27096590.785711378 ns/iter 1.01
E2E_Compiler_aws_cdk 278660.1186715345 ns/iter 296606.8382419696 ns/iter 0.94
E2E_Compiler_babelrc 2238228.6369424863 ns/iter 2323365.9198714695 ns/iter 0.96
E2E_Compiler_clang_format 19732851.025003128 ns/iter 15944140.625000121 ns/iter 1.24
E2E_Compiler_cmake_presets 29285581.333332237 ns/iter 28348935.00000362 ns/iter 1.03
E2E_Compiler_code_climate 2692380.3674242552 ns/iter 2366667.075163153 ns/iter 1.14
E2E_Compiler_cql2 13786111.105262758 ns/iter 14533581.730769532 ns/iter 0.95
E2E_Compiler_cspell 22420313.25925853 ns/iter 30060266.639998186 ns/iter 0.75
E2E_Compiler_cypress 5574746.530302573 ns/iter 4420965.939129928 ns/iter 1.26
E2E_Compiler_deno 10866612.91304259 ns/iter 7856589.570093373 ns/iter 1.38
E2E_Compiler_dependabot 5792993.750001187 ns/iter 4518524.301281502 ns/iter 1.28
E2E_Compiler_draft_04 2296997.61904764 ns/iter 2637485.589041075 ns/iter 0.87
E2E_Compiler_fabric_mod 4263689.597315997 ns/iter 4554686.381679475 ns/iter 0.94
E2E_Compiler_geojson 30670232.14286261 ns/iter 24482409.699999154 ns/iter 1.25
E2E_Compiler_gitpod_configuration 5702296.250001382 ns/iter 4914784.013605491 ns/iter 1.16
E2E_Compiler_helm_chart_lock 681453.7422038434 ns/iter 718372.0360934314 ns/iter 0.95
E2E_Compiler_importmap 260800.01008863706 ns/iter 264718.14803419245 ns/iter 0.99
E2E_Compiler_jasmine 1257321.7509024509 ns/iter 1257580.3149606304 ns/iter 1.00
E2E_Compiler_jshintrc 3812916.362318796 ns/iter 4414257.112194918 ns/iter 0.86
E2E_Compiler_jsconfig 20580329.54545469 ns/iter 23965732.3846114 ns/iter 0.86
E2E_Compiler_krakend 167090510.50003153 ns/iter 165091408.1999872 ns/iter 1.01
E2E_Compiler_lazygit 35824092.61111429 ns/iter 39493681.4117607 ns/iter 0.91
E2E_Compiler_lerna 1964467.0226131012 ns/iter 1569467.6535087693 ns/iter 1.25
E2E_Compiler_nest_cli 8756814.811110618 ns/iter 7543650.976471968 ns/iter 1.16
E2E_Compiler_omc 196802833.33339807 ns/iter 195342138.99995244 ns/iter 1.01
E2E_Compiler_omnisharp 6237181.250000958 ns/iter 6510391.826922684 ns/iter 0.96
E2E_Compiler_openapi 25070723.633333124 ns/iter 30134579.034477707 ns/iter 0.83
E2E_Compiler_pre_commit_hooks 4973023.074380161 ns/iter 5047065.040650886 ns/iter 0.99
E2E_Compiler_pulumi 3878042.438272031 ns/iter 3725457.0463913945 ns/iter 1.04
E2E_Compiler_semantic_release 1433832.3471402249 ns/iter 1576653.8461538567 ns/iter 0.91
E2E_Compiler_stale 1655875.209596363 ns/iter 1599911.9198314948 ns/iter 1.03
E2E_Compiler_stylecop 6051656.445455675 ns/iter 8703316.358024595 ns/iter 0.70
E2E_Compiler_tmuxinator 1727195.4225350595 ns/iter 2100215.955835969 ns/iter 0.82
E2E_Compiler_ui5 66191149.249997735 ns/iter 71562849.99998662 ns/iter 0.92
E2E_Compiler_ui5_manifest 396862208.5000106 ns/iter 363260000.0000821 ns/iter 1.09
E2E_Compiler_unreal_engine_uproject 5273770.687942508 ns/iter 4582128.039733739 ns/iter 1.15
E2E_Compiler_users_array 1010825.8531156662 ns/iter 838433.490044148 ns/iter 1.21
E2E_Compiler_vercel 13366812.91836705 ns/iter 14688002.403847106 ns/iter 0.91
E2E_Compiler_yamllint 278549.8586655743 ns/iter 276923.0486637625 ns/iter 1.01
E2E_Evaluator_adaptivecard 19726.53532891224 ns/iter 22884.132727329576 ns/iter 0.86
E2E_Evaluator_ansible_meta 173693.99116779512 ns/iter 176555.4474707917 ns/iter 0.98
E2E_Evaluator_aws_cdk 38222.85819354945 ns/iter 38104.11115848512 ns/iter 1.00
E2E_Evaluator_babelrc 88237.84630064362 ns/iter 84962.76735080291 ns/iter 1.04
E2E_Evaluator_cerebrum_criminal_case 694925.6918769275 ns/iter 728222.288739153 ns/iter 0.95
E2E_Evaluator_clang_format 106172.94727243882 ns/iter 120645.3048343765 ns/iter 0.88
E2E_Evaluator_cmake_presets 3820520.9384614136 ns/iter 5120830.0898204055 ns/iter 0.75
E2E_Evaluator_code_climate 127953.25539637366 ns/iter 123607.39580554052 ns/iter 1.04
E2E_Evaluator_cql2 163067.84347004307 ns/iter 144549.4879166631 ns/iter 1.13
E2E_Evaluator_cspell 419777.4288106997 ns/iter 385984.7078977981 ns/iter 1.09
E2E_Evaluator_cypress 140756.9994207442 ns/iter 158360.85295899172 ns/iter 0.89
E2E_Evaluator_deno 265841.2273476238 ns/iter 218728.69990794203 ns/iter 1.22
E2E_Evaluator_dependabot 345662.14127936726 ns/iter 281033.32003192714 ns/iter 1.23
E2E_Evaluator_draft_04 5548949.861787794 ns/iter 4877497.8370366385 ns/iter 1.14
E2E_Evaluator_fabric_mod 525930.1232294602 ns/iter 479298.7660615272 ns/iter 1.10
E2E_Evaluator_geojson 11292378.90624779 ns/iter 10583781.25000057 ns/iter 1.07
E2E_Evaluator_gitpod_configuration 156927.17996835735 ns/iter 156626.6743086566 ns/iter 1.00
E2E_Evaluator_helm_chart_lock 213409.0937388448 ns/iter 206073.69799038948 ns/iter 1.04
E2E_Evaluator_importmap 33183.08526753622 ns/iter 30795.735190709718 ns/iter 1.08
E2E_Evaluator_jasmine 80255.73360470792 ns/iter 80981.81295153085 ns/iter 0.99
E2E_Evaluator_jshintrc 1017245.1737450724 ns/iter 898338.5620998767 ns/iter 1.13
E2E_Evaluator_jsconfig 305168.7247417773 ns/iter 295234.098567817 ns/iter 1.03
E2E_Evaluator_krakend 127993.25923913 ns/iter 125949.96860424122 ns/iter 1.02
E2E_Evaluator_lazygit 94283.58849147463 ns/iter 96247.59947491452 ns/iter 0.98
E2E_Evaluator_lerna 108422.14524702315 ns/iter 119155.45878543603 ns/iter 0.91
E2E_Evaluator_nest_cli 125634.9221205312 ns/iter 121466.01911843446 ns/iter 1.03
E2E_Evaluator_omc 14764.152003761374 ns/iter 13938.733658673638 ns/iter 1.06
E2E_Evaluator_omnisharp 507055.666000042 ns/iter 429748.15524548985 ns/iter 1.18
E2E_Evaluator_openapi 11156101.26582189 ns/iter 8349071.839078554 ns/iter 1.34
E2E_Evaluator_pre_commit_hooks 337575.93628408964 ns/iter 366386.65689977194 ns/iter 0.92
E2E_Evaluator_pulumi 526695.8702345166 ns/iter 503649.41699990595 ns/iter 1.05
E2E_Evaluator_semantic_release 71120.53910865188 ns/iter 68297.24581860512 ns/iter 1.04
E2E_Evaluator_stale 111728.38643306581 ns/iter 108931.00389956463 ns/iter 1.03
E2E_Evaluator_stylecop 204917.12555787223 ns/iter 178831.68219244177 ns/iter 1.15
E2E_Evaluator_tmuxinator 73284.57204672124 ns/iter 70742.84559796171 ns/iter 1.04
E2E_Evaluator_ui5 331794.27100847766 ns/iter 330572.628918975 ns/iter 1.00
E2E_Evaluator_ui5_manifest 2293909.3700570907 ns/iter 1963374.8103835478 ns/iter 1.17
E2E_Evaluator_unreal_engine_uproject 329967.55768365506 ns/iter 309350.15086016484 ns/iter 1.07
E2E_Evaluator_users_array 1068836.0215054029 ns/iter 999618.6676136564 ns/iter 1.07
E2E_Evaluator_vercel 237826.2803819611 ns/iter 220859.7492192159 ns/iter 1.08
E2E_Evaluator_yamllint 6034.4270540189655 ns/iter 5905.3495844626505 ns/iter 1.02
Micro_Draft4_Meta_1_No_Callback 134.9018671017724 ns/iter 124.59157357368733 ns/iter 1.08
Micro_Draft4_Required_Properties 666.8285385664286 ns/iter 636.9630164094356 ns/iter 1.05
Micro_Draft4_Many_Optional_Properties_Minimal_Match 16.717558133265623 ns/iter 15.428342147226525 ns/iter 1.08
Micro_Draft4_Few_Optional_Properties_Minimal_Match 8.43604410666136 ns/iter 7.011735552631456 ns/iter 1.20
Micro_Draft4_Items_Schema 283.88366467920247 ns/iter 252.24643669594556 ns/iter 1.13
Micro_Draft4_Nested_Object 0.7101658335064118 ns/iter 0.6936956763463467 ns/iter 1.02
Micro_Draft4_Properties_Triad_Optional 210.24267024348183 ns/iter 200.35977411462767 ns/iter 1.05
Micro_Draft4_Properties_Triad_Closed 174.25123394434576 ns/iter 162.89948293149516 ns/iter 1.07
Micro_Draft4_Properties_Triad_Required 225.00241210965956 ns/iter 210.01505475219767 ns/iter 1.07
Micro_Draft4_Properties_Closed 38.960323672973 ns/iter 36.64129429125122 ns/iter 1.06
Micro_Draft4_Non_Recursive_Ref 13.339971910552228 ns/iter 12.526374049423746 ns/iter 1.06
Micro_Draft4_Pattern_Properties_True 150.64803482051363 ns/iter 139.45062997859958 ns/iter 1.08
Micro_Draft4_Ref_To_Single_Property 7.48021519233567 ns/iter 6.99319601573297 ns/iter 1.07
Micro_Draft4_Additional_Properties_Type 26.892934680608857 ns/iter 25.15845641295842 ns/iter 1.07
Micro_Draft4_Nested_Oneof 42.01646269512244 ns/iter 40.15036625210712 ns/iter 1.05
Micro_Draft4_Short_Enum 6.0130720799998025 ns/iter 4.876464817042677 ns/iter 1.23
Micro_Draft4_Long_Enum 11.737077464189351 ns/iter 9.766946448703385 ns/iter 1.20
Micro_Draft4_Long_Enum_Short_Strings 6.68135213585214 ns/iter 6.088165830611971 ns/iter 1.10
Micro_Draft4_Type_Object 2.2913886332859574 ns/iter 2.163792117233247 ns/iter 1.06
Micro_Draft4_Ref_Single_100 1875384.4799999797 ns/iter 1692048.123486221 ns/iter 1.11
Micro_Draft4_Compile_Ref_Many_Nested 1324393.8740600282 ns/iter 1229316.6813997666 ns/iter 1.08
Micro_Draft4_Compile_Wrap 2282888.332308105 ns/iter 1984158.7150998865 ns/iter 1.15
Micro_Draft6_Property_Names 98.47819253781928 ns/iter 95.61706429383388 ns/iter 1.03
Micro_Draft6_Compile_FHIR 13067344000.000048 ns/iter 9061825334.000105 ns/iter 1.44
Micro_Draft7_If_Then_Else 18.55443630455937 ns/iter 17.951128544313434 ns/iter 1.03
Micro_2019_09_Unevaluated_Properties 28.355370291317858 ns/iter 26.005182313806408 ns/iter 1.09
Micro_2019_09_Compile_Wrap 361621396.0000323 ns/iter 291041145.50000304 ns/iter 1.24
Micro_2020_12_Dynamic_Ref 216.39783820446618 ns/iter 186.8367766554423 ns/iter 1.16
Micro_2020_12_Dynamic_Ref_Single 2.323524594768986 ns/iter 2.151907589005598 ns/iter 1.08
Micro_2020_12_Simple_Output_Mask 63896.59475923773 ns/iter 61065.57107843731 ns/iter 1.05
Micro_2020_12_Simple_Output_Annotations 94299.45531450011 ns/iter 84361.281505521 ns/iter 1.12
Micro_2020_12_Compile_NonCircular_Shared_Refs 849192.7571622509 ns/iter 812810.051843214 ns/iter 1.04
Micro_2020_12_Exhaustive_Deep_Numeric 5618.407285824175 ns/iter 5463.261938323857 ns/iter 1.03
Micro_2020_12_Exhaustive_Deep_Numeric_SimpleOutput 119153.05677688854 ns/iter 124434.33041083702 ns/iter 0.96
Micro_2020_12_Exhaustive_Deep_Numeric_TraceOutput 15059.137702316877 ns/iter 14530.522254011452 ns/iter 1.04
Micro_2020_12_Exhaustive_Deep_Numeric_Fail 96.88212687849679 ns/iter 92.1231138820625 ns/iter 1.05
Micro_2020_12_Exhaustive_Deep_Numeric_Fail_SimpleOutput 5045.497120780615 ns/iter 4864.138133401266 ns/iter 1.04
Alterschema_Check_Readibility_ISO_Language_Set_3 286738562.50009066 ns/iter 231168375.0000005 ns/iter 1.24
Alterschema_Check_Readibility_OMC 71047597.2222058 ns/iter 56544128.230773196 ns/iter 1.26
Alterschema_Check_Readibility_KrakenD 747784417.000048 ns/iter 598587082.999984 ns/iter 1.25
Alterschema_Apply_Readibility_KrakenD 83158346000.00017 ns/iter 80231287625.00005 ns/iter 1.04
Alterschema_Check_Invalid_External_Refs 184111270.75000876 ns/iter 171679218.75000048 ns/iter 1.07

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: 894cc4a Previous: b15c580 Ratio
E2E_Evaluator_adaptivecard 162582 ns 110972 ns 1.47
E2E_Evaluator_ansible-meta 519363 ns 371919 ns 1.40
E2E_Evaluator_aws-cdk 157510 ns 140954 ns 1.12
E2E_Evaluator_babelrc 330677 ns 286789 ns 1.15
E2E_Evaluator_cerebrum-criminal-case 2272576 ns 2249505 ns 1.01
E2E_Evaluator_clang-format 253009 ns 263387 ns 0.96
E2E_Evaluator_cmake-presets 18664063 ns 20884796 ns 0.89
E2E_Evaluator_code-climate 470868 ns 541154 ns 0.87
E2E_Evaluator_cql2 1489020 ns 1621414 ns 0.92
E2E_Evaluator_cspell 2043078 ns 1593053 ns 1.28
E2E_Evaluator_cypress 937555 ns 810034 ns 1.16
E2E_Evaluator_deno 1168504 ns 905004 ns 1.29
E2E_Evaluator_dependabot 943304 ns 928989 ns 1.02
E2E_Evaluator_draft-04 20056335 ns 17394863 ns 1.15
E2E_Evaluator_fabric-mod 2322698 ns 2111684 ns 1.10
E2E_Evaluator_geojson 17192353 ns 21260104 ns 0.81
E2E_Evaluator_gitpod-configuration 610897 ns 812689 ns 0.75
E2E_Evaluator_helm-chart-lock 1162200 ns 1232095 ns 0.94
E2E_Evaluator_importmap 323860 ns 386256 ns 0.84
E2E_Evaluator_jasmine 242613 ns 319311 ns 0.76
E2E_Evaluator_jsconfig 1095022 ns 1365283 ns 0.80
E2E_Evaluator_jshintrc 2435395 ns 3710175 ns 0.66
E2E_Evaluator_krakend 549010 ns 821767 ns 0.67
E2E_Evaluator_lazygit 342568 ns 631374 ns 0.54
E2E_Evaluator_lerna 460098 ns 571437 ns 0.81
E2E_Evaluator_nest-cli 619068 ns 713459 ns 0.87
E2E_Evaluator_omc 101361 ns 99190 ns 1.02
E2E_Evaluator_omnisharp 1260572 ns 2039144 ns 0.62
E2E_Evaluator_openapi 38265423 ns 50190593 ns 0.76
E2E_Evaluator_pre-commit-hooks 1710222 ns 2361729 ns 0.72
E2E_Evaluator_pulumi 1543502 ns 2394660 ns 0.64
E2E_Evaluator_semantic-release 191991 ns 241373 ns 0.80
E2E_Evaluator_stale 319879 ns 419485 ns 0.76
E2E_Evaluator_stylecop 1268661 ns 1033736 ns 1.23
E2E_Evaluator_tmuxinator 223286 ns 223730 ns 1.00
E2E_Evaluator_ui5 1859271 ns 2317297 ns 0.80
E2E_Evaluator_ui5-manifest 9772791 ns 16416303 ns 0.60
E2E_Evaluator_unreal-engine-uproject 1274183 ns 1370610 ns 0.93
E2E_Evaluator_users-array 2022135 ns 2194213 ns 0.92
E2E_Evaluator_vercel 913861 ns 999289 ns 0.91
E2E_Evaluator_yamllint 27205 ns 33885 ns 0.80

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

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.

1 issue found across 4 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="schemas/canonical-draft3.json">

<violation number="1" location="schemas/canonical-draft3.json:65">
P1: The new subproperty constraint requires `required` for object sub-schemas, but several allowed schema branches (e.g. `enum`, `extends`, `disallow`, and `type` array) still disallow that keyword, causing valid subproperty schemas to fail validation.</violation>
</file>

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

Comment thread schemas/canonical-draft3.json
@jviotti jviotti merged commit 499bc8b into main Apr 15, 2026
15 checks passed
@jviotti jviotti deleted the dradt3-new-canonical branch April 15, 2026 23:23
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