Skip to content

Higher line coverage in various modules - #3017

Merged
jviotti merged 3 commits into
mainfrom
even-more-cov
Oct 13, 2026
Merged

jviotti merged 3 commits into
mainfrom
even-more-cov

Conversation

@jviotti

@jviotti jviotti commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

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

View guided diff

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

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

5 issues found across 73 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="test/oidc/oidc_id_token_test.cc">

<violation number="1" location="test/oidc/oidc_id_token_test.cc:1441">
P3: This duplicates `validate_treats_an_overflowing_auth_time_as_absent` at line 1081, so it adds no distinct coverage. Remove this test or add a genuinely different case to the existing one.</violation>
</file>

<file name="src/core/crypto/crypto_hkdf_windows.cc">

<violation number="1" location="src/core/crypto/crypto_hkdf_windows.cc:29">
P2: Both comments are over-indented for the configured LLVM style, so `clang_format_test` fails. Indent each comment by two spaces.</violation>
</file>

<file name="src/core/crypto/crypto_verify_windows.cc">

<violation number="1" location="src/core/crypto/crypto_verify_windows.cc:41">
P2: All four new comments use four-space indentation instead of the two-space function-body indentation required by the project’s clang-format check, so this file will fail `clang_format_test`. Align these comments with the adjacent code.</violation>
</file>

<file name="test/gzip/gzip_decompress_error_test.cc">

<violation number="1" location="test/gzip/gzip_decompress_error_test.cc:1046">
P3: This fixture already supplies the `1` bit that selects the unused half of the one-bit code-length table, so the stream is provably invalid rather than merely truncated. Use a truncated prefix that remains valid until more input is needed, or classify this input as `Invalid Huffman code`.</violation>
</file>

<file name="src/core/punycode/include/sourcemeta/core/punycode.h">

<violation number="1" location="src/core/punycode/include/sourcemeta/core/punycode.h:68">
P1: These exported declarations replace the one-argument symbols; default arguments do not preserve ABI, so prebuilt clients fail to load against the new library. Keep the old overloads as forwarding wrappers and add bounded overloads without defaults.</violation>
</file>

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

View guided diff | Re-trigger cubic

Comment thread src/core/oidc/oidc_id_token.cc Outdated
/// A bound smaller than the default refuses a larger input outright.
SOURCEMETA_CORE_PUNYCODE_EXPORT
auto utf32_to_punycode(std::u32string_view input) -> std::string;
auto utf32_to_punycode(std::u32string_view input,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1: These exported declarations replace the one-argument symbols; default arguments do not preserve ABI, so prebuilt clients fail to load against the new library. Keep the old overloads as forwarding wrappers and add bounded overloads without defaults.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At src/core/punycode/include/sourcemeta/core/punycode.h, line 68:

<comment>These exported declarations replace the one-argument symbols; default arguments do not preserve ABI, so prebuilt clients fail to load against the new library. Keep the old overloads as forwarding wrappers and add bounded overloads without defaults.</comment>

<file context>
@@ -45,8 +63,11 @@ namespace sourcemeta::core {
+/// A bound smaller than the default refuses a larger input outright.
 SOURCEMETA_CORE_PUNYCODE_EXPORT
-auto utf32_to_punycode(std::u32string_view input) -> std::string;
+auto utf32_to_punycode(std::u32string_view input,
+                       std::size_t maximum_code_points =
+                           PUNYCODE_MAXIMUM_CODE_POINTS) -> std::string;
</file context>

Comment thread src/core/diff/diff.cc Outdated
Comment thread test/markdown/markdown_pathological_test.cc Outdated
Comment thread src/core/http/include/sourcemeta/core/http_message.h
Comment thread src/core/markdown/include/sourcemeta/core/markdown.h Outdated
Comment thread src/core/diff/myers.h Outdated
Comment thread test/uritemplate/uritemplate_expand_uri_test.cc Outdated
Comment thread test/oidc/oidc_id_token_test.cc Outdated
// RFC 7519 Section 2 lets a NumericDate be non-integer, so a value past what a
// timestamp can stand for is read as no authentication time at all rather than
// aborting, which a freshness window then has nothing to measure against
TEST(validate_rejects_an_auth_time_beyond_the_representable_range) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P3: This duplicates validate_treats_an_overflowing_auth_time_as_absent at line 1081, so it adds no distinct coverage. Remove this test or add a genuinely different case to the existing one.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At test/oidc/oidc_id_token_test.cc, line 1441:

<comment>This duplicates `validate_treats_an_overflowing_auth_time_as_absent` at line 1081, so it adds no distinct coverage. Remove this test or add a genuinely different case to the existing one.</comment>

<file context>
@@ -1434,3 +1434,25 @@ TEST(validate_rejects_a_required_code_hash_that_does_not_match) {
+// RFC 7519 Section 2 lets a NumericDate be non-integer, so a value past what a
+// timestamp can stand for is read as no authentication time at all rather than
+// aborting, which a freshness window then has nothing to measure against
+TEST(validate_rejects_an_auth_time_beyond_the_representable_range) {
+  const auto compact{sign_id_token(R"JSON({
+    "iss": "https://issuer.example",
</file context>

const std::vector<std::uint8_t> input{0x1f, 0x8b, 0x08, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff,
0x05, 0x00, 0x02, 0x20};
EXPECT_GZIP_DECOMPRESS_ERROR(input, "Unexpected end of source stream");

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P3: This fixture already supplies the 1 bit that selects the unused half of the one-bit code-length table, so the stream is provably invalid rather than merely truncated. Use a truncated prefix that remains valid until more input is needed, or classify this input as Invalid Huffman code.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At test/gzip/gzip_decompress_error_test.cc, line 1046:

<comment>This fixture already supplies the `1` bit that selects the unused half of the one-bit code-length table, so the stream is provably invalid rather than merely truncated. Use a truncated prefix that remains valid until more input is needed, or classify this input as `Invalid Huffman code`.</comment>

<file context>
@@ -1023,3 +1023,25 @@ TEST(missing_stored_block_length) {
+  const std::vector<std::uint8_t> input{0x1f, 0x8b, 0x08, 0x00, 0x00,
+                                        0x00, 0x00, 0x00, 0x00, 0xff,
+                                        0x05, 0x00, 0x02, 0x20};
+  EXPECT_GZIP_DECOMPRESS_ERROR(input, "Unexpected end of source stream");
+}
</file context>

/// assert(sourcemeta::core::utf8_to_punycode("M\xC3\xBCnchen") ==
/// "Mnchen-3ya");
/// ```
/// A bound smaller than the default refuses a larger input outright.

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.

Add a blank line above

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Benchmark linux/llvm

Measured against main at af2b932.

8 slower, 22 faster, 85 within 5%.

Benchmark main This branch Change
Regex_Caret_Period_Range_Dollar 3.43 ns 4.36 ns +27.1%
Pointer_Object_Try_Traverse 30.20 ns 33.76 ns +11.8%
OpenAPI_Format_Synthetic_3_1 50.36 ms 55.50 ms +10.2%
JSON_String_Equal_10 6.23 ns 6.85 ns +10.0%
JSON_String_Equal_100 6.85 ns 7.48 ns +9.1%
JSON_Equality_Helm_Chart_Lock 157.02 ns 168.82 ns +7.5%
Schema_Frame_OMC_Locations 8.26 ms 8.74 ms +5.9%
Markdown_To_HTML_Pathological 13.05 ms 13.78 ms +5.6%
Pointer_Tracked_Deeply_Nested 1.68 ms 1.60 ms -5.1%
JSON_Parse_Object_Scalar_Properties 4.21 us 3.98 us -5.6%
JSON_Parse_Object_Array_Properties 5.83 us 5.50 us -5.7%
JSON_Parse_Object_Short_Keys 8.27 us 7.79 us -5.7%
JSON_Parse_Object_Object_Properties 5.80 us 5.45 us -6.0%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 9.97 ms 9.24 ms -7.3%
JSON_Prettify_KrakenD 2.29 ms 2.07 ms -9.6%
Regex_Period_Asterisk 2.49 ns 2.19 ns -12.2%
Regex_Group_Period_Asterisk_Group 2.49 ns 2.19 ns -12.2%
JSON_Fast_Hash_Helm_Chart_Lock 61.01 ns 53.50 ns -12.3%
JSON_String_Fast_Hash_100 2.49 ns 2.18 ns -12.5%
JSON_String_Fast_Hash_10 2.49 ns 2.18 ns -12.5%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.05 ns 3.43 ns -15.4%
Regex_Caret_Period_Asterisk_Dollar 4.05 ns 3.42 ns -15.4%
Regex_Period_Plus 3.43 ns 2.80 ns -18.2%
Regex_Period 3.42 ns 2.80 ns -18.2%
Regex_Caret_Group_Period_Plus_Group_Dollar 3.11 ns 2.49 ns -20.0%
Regex_Caret_Period_Plus_Dollar 3.12 ns 2.49 ns -20.1%
Regex_Caret_Slash_Period_Asterisk 7.79 ns 6.22 ns -20.1%
Regex_Lower_S_Or_Upper_S_Asterisk 2.80 ns 2.22 ns -20.9%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.80 ns 2.20 ns -21.5%
Regex_Caret_X_Hyphen 7.17 ns 5.30 ns -26.1%
All 115 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 2.80 ns 2.22 ns -20.9%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.80 ns 2.20 ns -21.5%
Regex_Period_Asterisk 2.49 ns 2.19 ns -12.2%
Regex_Group_Period_Asterisk_Group 2.49 ns 2.19 ns -12.2%
Regex_Period_Plus 3.43 ns 2.80 ns -18.2%
Regex_Period 3.42 ns 2.80 ns -18.2%
Regex_Caret_Period_Plus_Dollar 3.12 ns 2.49 ns -20.1%
Regex_Caret_Group_Period_Plus_Group_Dollar 3.11 ns 2.49 ns -20.0%
Regex_Caret_Period_Asterisk_Dollar 4.05 ns 3.42 ns -15.4%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.05 ns 3.43 ns -15.4%
Regex_Caret_X_Hyphen 7.17 ns 5.30 ns -26.1%
Regex_Period_Md_Dollar 27.12 ns 27.34 ns +0.8%
Regex_Caret_Slash_Period_Asterisk 7.79 ns 6.22 ns -20.1%
Regex_Caret_Period_Range_Dollar 3.43 ns 4.36 ns +27.1%
Regex_Nested_Backtrack 38.61 ns 38.45 ns -0.4%
JSON_Array_Of_Objects_Unique 403.01 ns 387.76 ns -3.8%
JSON_Array_Of_Integers_Unique_256 4.93 us 5.09 us +3.2%
JSON_Array_Of_Strings_Unique_Colliding_256 216.28 us 205.55 us -5.0%
JSON_Parse_1 4.48 us 4.57 us +1.8%
JSON_Parse_Real 4.53 us 4.47 us -1.4%
JSON_Parse_Real_Inexact 4.07 us 4.24 us +4.2%
JSON_Parse_Decimal 7.60 us 7.25 us -4.6%
JSON_Parse_Schema_ISO_Language 3.31 ms 3.33 ms +0.6%
JSON_Parse_KrakenD 1.11 ms 1.10 ms -1.3%
JSON_Stringify_ISO_Language 2.60 ms 2.49 ms -4.0%
JSON_Prettify_KrakenD 2.29 ms 2.07 ms -9.6%
JSON_Parse_Integer 3.70 us 3.66 us -1.2%
JSON_Parse_String_NonSSO_Plain 3.33 us 3.29 us -1.3%
JSON_Parse_String_SSO_Plain 2.95 us 2.91 us -1.1%
JSON_Parse_String_Escape_Heavy 12.54 us 12.53 us -0.1%
JSON_Parse_Object_Short_Keys 8.27 us 7.79 us -5.7%
JSON_Parse_Object_Scalar_Properties 4.21 us 3.98 us -5.6%
JSON_Parse_Object_Array_Properties 5.83 us 5.50 us -5.7%
JSON_Parse_Object_Object_Properties 5.80 us 5.45 us -6.0%
JSON_Parse_Nested_Containers 34.81 us 34.20 us -1.7%
JSON_Fast_Hash_Helm_Chart_Lock 61.01 ns 53.50 ns -12.3%
JSON_Equality_Helm_Chart_Lock 157.02 ns 168.82 ns +7.5%
JSON_String_Equal_10 6.23 ns 6.85 ns +10.0%
JSON_String_Equal_100 6.85 ns 7.48 ns +9.1%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.94 ns 0.94 ns +0.2%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 14.93 ns 14.95 ns +0.1%
JSON_String_Fast_Hash_10 2.49 ns 2.18 ns -12.5%
JSON_String_Fast_Hash_100 2.49 ns 2.18 ns -12.5%
JSON_String_Key_Hash_10 2.74 ns 2.75 ns +0.4%
JSON_String_Key_Hash_100 9.02 ns 9.03 ns +0.0%
JSON_Object_Defines_Miss_Same_Length 2.99 ns 3.00 ns +0.3%
JSON_Object_Defines_Miss_Too_Small 3.43 ns 3.42 ns -0.1%
JSON_Object_Defines_Miss_Too_Large 2.72 ns 2.75 ns +1.1%
JSON_From_String_Copy 11.26 ns 10.70 ns -4.9%
JSON_From_String_Temporary 10.00 ns 9.77 ns -2.3%
JSON_Number_To_Double 14.96 ns 14.96 ns +0.0%
JSON_Object_At_Last_Key_8 5.87 ns 5.81 ns -1.0%
JSON_Object_At_Last_Key_32 12.31 ns 12.20 ns -0.9%
JSON_Object_At_Last_Key_128 48.57 ns 48.60 ns +0.0%
JSON_Object_At_Last_Key_512 372.79 ns 380.69 ns +2.1%
JSON_Divisible_By_Decimal 302.58 ns 294.09 ns -2.8%
JSON_PropertySet_Contains 50.73 ns 51.94 ns +2.4%
JSON_PropertySet_Filter_Object_Properties 51.21 ns 52.36 ns +2.2%
JSON_PropertySet_Insert 574.82 ns 586.70 ns +2.1%
JSON_Stringify_Schema_Web_Of_Things 65.05 us 63.28 us -2.7%
JSON_Prettify_Schema_Web_Of_Things 178.95 us 175.33 us -2.0%
Pointer_Object_Traverse 29.05 ns 28.43 ns -2.1%
Pointer_Object_Try_Traverse 30.20 ns 33.76 ns +11.8%
Pointer_Push_Back_Pointer_To_Weak_Pointer 196.64 ns 197.95 ns +0.7%
Pointer_Walker_Schema_ISO_Language 1.61 ms 1.56 ms -3.0%
Pointer_Untracked_Deeply_Nested 1.22 ms 1.23 ms +0.3%
Pointer_Tracked_Deeply_Nested 1.68 ms 1.60 ms -5.1%
Pointer_Position_Tracker_Get_Deeply_Nested 610.19 ns 627.71 ns +2.9%
Schema_Tracker_ISO_Language 4.53 ms 4.50 ms -0.7%
Schema_Tracker_ISO_Language_To_JSON 16.98 ms 16.68 ms -1.7%
Schema_Frame_WoT_References 2.06 ms 2.05 ms -0.7%
Schema_Frame_OMC_References 9.29 ms 9.32 ms +0.3%
Schema_Frame_OMC_Pointers 17.87 ms 18.55 ms +3.8%
Schema_Frame_OMC_Locations 8.26 ms 8.74 ms +5.9%
Schema_Frame_ISO_Language_Locations 44.76 ms 43.58 ms -2.6%
Schema_Frame_ISO_Language_Root 334.98 ns 331.64 ns -1.0%
Schema_Frame_KrakenD_References 16.95 ms 16.69 ms -1.5%
Schema_Frame_KrakenD_Reachable 155.71 ms 158.00 ms +1.5%
Schema_Frame_ISO_Language_Locations_To_JSON 33.31 ms 32.84 ms -1.4%
Schema_Frame_Many_Resources_References 116.47 ms 118.74 ms +1.9%
Schema_Frame_Deeply_Nested_References 11.46 ms 11.86 ms +3.4%
Schema_Format_ISO_Language 50.43 ms 50.25 ms -0.4%
Schema_Bundle_Meta_2020_12 578.62 us 586.55 us +1.4%
Schema_Bundle_Many_Remotes_With_Fragments 6.47 ms 6.64 ms +2.5%
OpenAPI_Frame_GSMTasks_3_0 162.25 ms 167.81 ms +3.4%
OpenAPI_Format_Synthetic_3_1 50.36 ms 55.50 ms +10.2%
JSONPath_Descendant_Filter_Nested 1.83 us 1.87 us +2.3%
URITemplateRouter_Create 24.00 us 23.30 us -2.9%
URITemplateRouter_Match 173.12 ns 178.30 ns +3.0%
URITemplateRouterView_Restore 8.51 us 8.54 us +0.3%
URITemplateRouterView_Match 140.87 ns 144.19 ns +2.4%
URITemplateRouterView_Arguments 446.72 ns 425.45 ns -4.8%
URITemplateRouter_Match_BasePath 193.21 ns 202.80 ns +5.0%
URITemplateRouterView_Match_BasePath 161.57 ns 166.42 ns +3.0%
JSONL_Parse_Large 9.34 ms 9.54 ms +2.2%
JSONL_Parse_Large_GZIP 9.63 ms 9.78 ms +1.5%
JSONLD_Catalog_Annotation_List_Populate 610.21 us 612.38 us +0.4%
JSONLD_Catalog_Materialize 3.57 ms 3.58 ms +0.4%
HTML_Build_Table_100000 38.40 ms 38.50 ms +0.3%
HTML_Render_Table_100000 2.10 ms 2.05 ms -2.1%
Markdown_To_HTML_Realistic_Document 4.09 ms 4.03 ms -1.5%
Markdown_To_HTML_Pathological 13.05 ms 13.78 ms +5.6%
Markdown_To_HTML_Short_Descriptions 583.27 ns 571.35 ns -2.0%
GZIP_Compress_ISO_Language_Set_3_Locations 37.59 ms 37.51 ms -0.2%
GZIP_Decompress_ISO_Language_Set_3_Locations 5.21 ms 5.16 ms -1.0%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 7.16 ms 7.08 ms -1.2%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 9.97 ms 9.24 ms -7.3%
GZIP_Compress_ISO_Language_Set_3_Schema 2.22 ms 2.23 ms +0.1%
GZIP_Decompress_ISO_Language_Set_3_Schema 425.66 us 424.61 us -0.2%
JOSE_VerifySignature_RS256 47.49 us 48.47 us +2.0%
JOSE_VerifySignature_ES512 1.74 ms 1.73 ms -0.9%
Crypto_CRC32_Large_JSONL 101.74 us 102.12 us +0.4%
Crypto_AES_GCM_Encrypt_128_1KB 31.33 us 32.43 us +3.5%
Crypto_AES_GCM_Decrypt_128_1KB 31.30 us 32.40 us +3.5%
Crypto_AES_GCM_Encrypt_256_1KB 38.12 us 39.22 us +2.9%

@augmentcode

augmentcode Bot commented Oct 13, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Targets higher line coverage through edge-case tests and refactors of branches considered unreachable.
Changes:

  • Adds diff, gzip, IDNA, JSONPath, URI, and URI-template regression tests.
  • Exercises OAuth DPoP and OIDC validation failure paths.
  • Adds benchmark CLI and CLI-test error-path coverage.
  • Introduces caller-selectable input limits for Markdown and Punycode conversion APIs.
  • Extracts shared HTTP, JSONPath, JSON Pointer, regex, and URI helpers.
  • Replaces selected fallback branches with assertions or unbounded loops and omits exhaustive-switch unreachable markers under Clang.
  • Removes date-parser exception suppression and updates the corresponding HTTP date API declarations.
Technical notes: Input limits retain the existing 32-bit ceilings; FIFO inspection now shares canonicalization error handling, and parallel queue locking is reorganized while keeping callbacks outside the lock.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. 4 suggestions posted.

Fix All in Augment

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

Comment thread src/core/diff/myers.h Outdated
Comment on lines +145 to +146
assert(original_start == original_end || modified_start == modified_end ||
original[original_end - 1] != modified[modified_end - 1]);

@augmentcode augmentcode Bot Oct 13, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

At src/core/diff/myers.h:145-146, could you check this invariant with the line-mode inputs "a\na\nb\n" and "c\na\nb\nd\n"? The middle snake runs from (2,2) to (3,3), leaving a left recursive comparison of [a,a] against [c,a], whose equal trailing lines now trigger this assertion and abort an otherwise valid diff.

Severity: medium

Fix This in Augment

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

Comment thread src/core/oidc/oidc_id_token.cc Outdated
Comment on lines +176 to +177
authentication_time = from_unix_timestamp(
std::chrono::duration<double>{auth_time->as_real()});

@augmentcode augmentcode Bot Oct 13, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

At src/core/oidc/oidc_id_token.cc:176-177, could you check a signed token containing "auth_time": 1e400? JSON::as_real() throws std::out_of_range before from_unix_timestamp() runs, so removing the catch propagates an exception from oidc_validate_id_token() instead of treating the claim as absent; the added 1e300 test remains within the double range.

Severity: medium

Fix This in Augment

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

Comment thread src/core/jsonpath/parser.h Outdated
// The range check above holds the literal to what the double precision
// format reaches, which sits far inside the exponent a decimal carries, so
// reading it as one always answers
return JSON{Decimal{text}};

@augmentcode augmentcode Bot Oct 13, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

At src/core/jsonpath/parser.h:892, could you check $[?@.a == 0e2147483648]? This zero-valued literal passes to_double() but exceeds Decimal's exponent range, so DecimalParseError now escapes instead of JSONPathParseError, also bypassing the error handling in JSONPath::from_json().

Severity: medium

Fix This in Augment

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

result += name;
result += ": ";
result += value.bytes();
bytes = value.bytes();

@augmentcode augmentcode Bot Oct 13, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

At src/core/http/include/sourcemeta/core/http_message.h:404, could you check a header value whose bytes() const returns an owning std::string? Its temporary is destroyed at this semicolon, leaving bytes dangling during validation and serialization, whereas the previous direct calls kept that temporary alive throughout each operation.

Severity: medium

Fix This in Augment

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

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Benchmark linux/gcc

Measured against main at af2b932.

24 slower, 12 faster, 79 within 5%.

Benchmark main This branch Change
JSON_Object_At_Last_Key_32 13.62 ns 22.86 ns +67.8%
JSON_Object_At_Last_Key_128 52.45 ns 87.31 ns +66.5%
JSON_Object_At_Last_Key_512 217.24 ns 355.07 ns +63.4%
JSON_Object_At_Last_Key_8 5.67 ns 6.93 ns +22.3%
Regex_Caret_Period_Range_Dollar 2.93 ns 3.46 ns +18.0%
JSON_Fast_Hash_Helm_Chart_Lock 67.27 ns 76.48 ns +13.7%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.52 ns 2.84 ns +12.9%
Regex_Group_Period_Asterisk_Group 2.52 ns 2.84 ns +12.9%
JSON_String_Key_Hash_100 14.11 ns 15.80 ns +12.0%
JSON_String_Fast_Hash_100 3.15 ns 3.49 ns +10.6%
JSON_String_Fast_Hash_10 3.15 ns 3.48 ns +10.5%
Pointer_Push_Back_Pointer_To_Weak_Pointer 189.98 ns 209.94 ns +10.5%
Regex_Caret_Period_Asterisk_Dollar 2.60 ns 2.86 ns +9.8%
Regex_Period_Plus 2.61 ns 2.86 ns +9.8%
Regex_Lower_S_Or_Upper_S_Asterisk 2.60 ns 2.86 ns +9.8%
Schema_Frame_ISO_Language_Locations_To_JSON 32.40 ms 34.73 ms +7.2%
Regex_Period 2.59 ns 2.77 ns +7.0%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.59 ns 2.77 ns +6.8%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.60 ns 2.77 ns +6.6%
JSON_String_Key_Hash_10 3.23 ns 3.44 ns +6.5%
Pointer_Object_Traverse 21.55 ns 22.90 ns +6.3%
JSON_Array_Of_Objects_Unique 433.45 ns 460.14 ns +6.2%
Schema_Tracker_ISO_Language 4.88 ms 5.18 ms +6.1%
HTML_Build_Table_100000 39.48 ms 41.53 ms +5.2%
JSON_Parse_Nested_Containers 40.74 us 38.69 us -5.1%
JSON_Parse_Object_Array_Properties 6.47 us 6.11 us -5.5%
Pointer_Object_Try_Traverse 26.59 ns 24.86 ns -6.5%
JSON_Parse_Real_Inexact 4.61 us 4.30 us -6.7%
JSON_Equality_Helm_Chart_Lock 185.88 ns 173.26 ns -6.8%
JSON_Parse_Object_Object_Properties 6.51 us 6.04 us -7.2%
JSON_PropertySet_Filter_Object_Properties 41.68 ns 38.43 ns -7.8%
JSON_From_String_Copy 9.34 ns 8.60 ns -7.9%
JSON_String_Equal_100 7.19 ns 6.51 ns -9.4%
JSON_Object_Defines_Miss_Same_Length 3.55 ns 3.17 ns -10.9%
JSON_String_Equal_10 5.84 ns 5.17 ns -11.5%
JSON_Array_Of_Strings_Unique_Colliding_256 199.65 us 175.50 us -12.1%
All 115 benchmarks
Benchmark main This branch Change
Crypto_CRC32_Large_JSONL 54.47 us 54.47 us -0.0%
Crypto_AES_GCM_Encrypt_128_1KB 943.31 ns 945.07 ns +0.2%
Crypto_AES_GCM_Decrypt_128_1KB 951.06 ns 946.95 ns -0.4%
Crypto_AES_GCM_Encrypt_256_1KB 970.88 ns 968.01 ns -0.3%
JOSE_VerifySignature_RS256 22.76 us 22.71 us -0.2%
JOSE_VerifySignature_ES512 505.47 us 505.69 us +0.0%
GZIP_Compress_ISO_Language_Set_3_Locations 30.03 ms 29.74 ms -1.0%
GZIP_Decompress_ISO_Language_Set_3_Locations 4.30 ms 4.30 ms -0.1%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 6.11 ms 6.04 ms -1.1%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 8.32 ms 8.28 ms -0.4%
GZIP_Compress_ISO_Language_Set_3_Schema 2.22 ms 2.23 ms +0.6%
GZIP_Decompress_ISO_Language_Set_3_Schema 456.79 us 444.32 us -2.7%
Markdown_To_HTML_Realistic_Document 4.87 ms 4.92 ms +0.9%
Markdown_To_HTML_Pathological 14.17 ms 14.58 ms +2.9%
Markdown_To_HTML_Short_Descriptions 555.10 ns 565.24 ns +1.8%
HTML_Build_Table_100000 39.48 ms 41.53 ms +5.2%
HTML_Render_Table_100000 3.07 ms 3.12 ms +1.7%
JSONLD_Catalog_Annotation_List_Populate 778.19 us 763.97 us -1.8%
JSONLD_Catalog_Materialize 3.36 ms 3.33 ms -0.9%
JSONL_Parse_Large 10.25 ms 10.24 ms -0.1%
JSONL_Parse_Large_GZIP 10.64 ms 10.60 ms -0.4%
URITemplateRouter_Create 17.89 us 17.62 us -1.5%
URITemplateRouter_Match 164.47 ns 167.17 ns +1.6%
URITemplateRouterView_Restore 3.59 us 3.56 us -0.9%
URITemplateRouterView_Match 117.90 ns 120.57 ns +2.3%
URITemplateRouterView_Arguments 461.96 ns 459.93 ns -0.4%
URITemplateRouter_Match_BasePath 186.50 ns 185.03 ns -0.8%
URITemplateRouterView_Match_BasePath 134.12 ns 136.06 ns +1.4%
JSONPath_Descendant_Filter_Nested 1.74 us 1.73 us -0.4%
OpenAPI_Frame_GSMTasks_3_0 139.14 ms 140.76 ms +1.2%
OpenAPI_Format_Synthetic_3_1 47.51 ms 47.21 ms -0.6%
Schema_Frame_WoT_References 2.15 ms 2.15 ms +0.2%
Schema_Frame_OMC_References 9.40 ms 9.44 ms +0.4%
Schema_Frame_OMC_Pointers 17.02 ms 17.02 ms +0.0%
Schema_Frame_OMC_Locations 8.11 ms 8.15 ms +0.5%
Schema_Frame_ISO_Language_Locations 39.36 ms 39.14 ms -0.6%
Schema_Frame_ISO_Language_Root 322.22 ns 314.90 ns -2.3%
Schema_Frame_KrakenD_References 15.19 ms 14.92 ms -1.8%
Schema_Frame_KrakenD_Reachable 148.88 ms 149.89 ms +0.7%
Schema_Frame_ISO_Language_Locations_To_JSON 32.40 ms 34.73 ms +7.2%
Schema_Frame_Many_Resources_References 113.94 ms 114.37 ms +0.4%
Schema_Frame_Deeply_Nested_References 10.55 ms 10.65 ms +1.0%
Schema_Format_ISO_Language 44.17 ms 44.16 ms -0.0%
Schema_Bundle_Meta_2020_12 601.38 us 592.72 us -1.4%
Schema_Bundle_Many_Remotes_With_Fragments 6.30 ms 6.22 ms -1.2%
Pointer_Object_Traverse 21.55 ns 22.90 ns +6.3%
Pointer_Object_Try_Traverse 26.59 ns 24.86 ns -6.5%
Pointer_Push_Back_Pointer_To_Weak_Pointer 189.98 ns 209.94 ns +10.5%
Pointer_Walker_Schema_ISO_Language 2.00 ms 2.00 ms -0.2%
Pointer_Untracked_Deeply_Nested 1.38 ms 1.36 ms -1.8%
Pointer_Tracked_Deeply_Nested 1.91 ms 1.95 ms +2.1%
Pointer_Position_Tracker_Get_Deeply_Nested 579.95 ns 584.66 ns +0.8%
Schema_Tracker_ISO_Language 4.88 ms 5.18 ms +6.1%
Schema_Tracker_ISO_Language_To_JSON 15.72 ms 15.86 ms +0.9%
JSON_Array_Of_Objects_Unique 433.45 ns 460.14 ns +6.2%
JSON_Array_Of_Integers_Unique_256 4.85 us 5.02 us +3.5%
JSON_Array_Of_Strings_Unique_Colliding_256 199.65 us 175.50 us -12.1%
JSON_Parse_1 5.13 us 5.10 us -0.5%
JSON_Parse_Real 4.77 us 4.64 us -2.7%
JSON_Parse_Real_Inexact 4.61 us 4.30 us -6.7%
JSON_Parse_Decimal 7.89 us 7.62 us -3.5%
JSON_Parse_Schema_ISO_Language 3.63 ms 3.68 ms +1.4%
JSON_Parse_KrakenD 1.58 ms 1.58 ms +0.1%
JSON_Stringify_ISO_Language 2.17 ms 2.20 ms +1.5%
JSON_Prettify_KrakenD 1.75 ms 1.78 ms +1.5%
JSON_Parse_Integer 3.73 us 3.72 us -0.2%
JSON_Parse_String_NonSSO_Plain 3.60 us 3.50 us -2.8%
JSON_Parse_String_SSO_Plain 3.02 us 2.90 us -3.8%
JSON_Parse_String_Escape_Heavy 16.45 us 16.70 us +1.5%
JSON_Parse_Object_Short_Keys 9.28 us 9.39 us +1.2%
JSON_Parse_Object_Scalar_Properties 4.69 us 4.76 us +1.5%
JSON_Parse_Object_Array_Properties 6.47 us 6.11 us -5.5%
JSON_Parse_Object_Object_Properties 6.51 us 6.04 us -7.2%
JSON_Parse_Nested_Containers 40.74 us 38.69 us -5.1%
JSON_Fast_Hash_Helm_Chart_Lock 67.27 ns 76.48 ns +13.7%
JSON_Equality_Helm_Chart_Lock 185.88 ns 173.26 ns -6.8%
JSON_String_Equal_10 5.84 ns 5.17 ns -11.5%
JSON_String_Equal_100 7.19 ns 6.51 ns -9.4%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.97 ns 0.97 ns -0.0%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 10.53 ns 10.42 ns -1.0%
JSON_String_Fast_Hash_10 3.15 ns 3.48 ns +10.5%
JSON_String_Fast_Hash_100 3.15 ns 3.49 ns +10.6%
JSON_String_Key_Hash_10 3.23 ns 3.44 ns +6.5%
JSON_String_Key_Hash_100 14.11 ns 15.80 ns +12.0%
JSON_Object_Defines_Miss_Same_Length 3.55 ns 3.17 ns -10.9%
JSON_Object_Defines_Miss_Too_Small 3.06 ns 3.00 ns -2.0%
JSON_Object_Defines_Miss_Too_Large 3.03 ns 3.11 ns +2.4%
JSON_From_String_Copy 9.34 ns 8.60 ns -7.9%
JSON_From_String_Temporary 6.35 ns 6.44 ns +1.5%
JSON_Number_To_Double 17.14 ns 17.15 ns +0.0%
JSON_Object_At_Last_Key_8 5.67 ns 6.93 ns +22.3%
JSON_Object_At_Last_Key_32 13.62 ns 22.86 ns +67.8%
JSON_Object_At_Last_Key_128 52.45 ns 87.31 ns +66.5%
JSON_Object_At_Last_Key_512 217.24 ns 355.07 ns +63.4%
JSON_Divisible_By_Decimal 323.96 ns 332.59 ns +2.7%
JSON_PropertySet_Contains 55.83 ns 54.11 ns -3.1%
JSON_PropertySet_Filter_Object_Properties 41.68 ns 38.43 ns -7.8%
JSON_PropertySet_Insert 479.44 ns 496.81 ns +3.6%
JSON_Stringify_Schema_Web_Of_Things 48.69 us 50.51 us +3.7%
JSON_Prettify_Schema_Web_Of_Things 137.12 us 136.17 us -0.7%
Regex_Lower_S_Or_Upper_S_Asterisk 2.60 ns 2.86 ns +9.8%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.60 ns 2.77 ns +6.6%
Regex_Period_Asterisk 2.69 ns 2.77 ns +3.1%
Regex_Group_Period_Asterisk_Group 2.52 ns 2.84 ns +12.9%
Regex_Period_Plus 2.61 ns 2.86 ns +9.8%
Regex_Period 2.59 ns 2.77 ns +7.0%
Regex_Caret_Period_Plus_Dollar 2.69 ns 2.77 ns +3.1%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.52 ns 2.84 ns +12.9%
Regex_Caret_Period_Asterisk_Dollar 2.60 ns 2.86 ns +9.8%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.59 ns 2.77 ns +6.8%
Regex_Caret_X_Hyphen 6.08 ns 6.30 ns +3.7%
Regex_Period_Md_Dollar 18.81 ns 19.13 ns +1.7%
Regex_Caret_Slash_Period_Asterisk 6.19 ns 6.48 ns +4.8%
Regex_Caret_Period_Range_Dollar 2.93 ns 3.46 ns +18.0%
Regex_Nested_Backtrack 37.99 ns 38.38 ns +1.0%

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Benchmark windows/msvc

Measured against main at af2b932.

8 slower, 3 faster, 104 within 5%.

Benchmark main This branch Change
Pointer_Push_Back_Pointer_To_Weak_Pointer 160.41 ns 186.84 ns +16.5%
JSON_Array_Of_Integers_Unique_256 4.46 us 4.77 us +6.8%
Pointer_Tracked_Deeply_Nested 3.58 ms 3.81 ms +6.2%
URITemplateRouterView_Restore 32.96 us 35.00 us +6.2%
Markdown_To_HTML_Pathological 17.33 ms 18.38 ms +6.0%
Pointer_Object_Traverse 66.67 ns 70.66 ns +6.0%
JSON_Fast_Hash_Helm_Chart_Lock 101.08 ns 106.65 ns +5.5%
Pointer_Walker_Schema_ISO_Language 8.46 ms 8.90 ms +5.2%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 15.01 ns 14.21 ns -5.3%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 15.68 ms 14.48 ms -7.7%
Schema_Frame_Deeply_Nested_References 23.36 ms 21.24 ms -9.1%
All 115 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 4.70 ns 4.77 ns +1.4%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.70 ns 4.84 ns +3.1%
Regex_Period_Asterisk 4.71 ns 4.75 ns +0.9%
Regex_Group_Period_Asterisk_Group 4.70 ns 4.87 ns +3.7%
Regex_Period_Plus 4.66 ns 4.65 ns -0.3%
Regex_Period 4.46 ns 4.48 ns +0.5%
Regex_Caret_Period_Plus_Dollar 4.66 ns 4.64 ns -0.5%
Regex_Caret_Group_Period_Plus_Group_Dollar 4.52 ns 4.46 ns -1.3%
Regex_Caret_Period_Asterisk_Dollar 4.70 ns 4.71 ns +0.2%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.70 ns 4.86 ns +3.5%
Regex_Caret_X_Hyphen 8.17 ns 7.84 ns -4.0%
Regex_Period_Md_Dollar 46.76 ns 46.46 ns -0.6%
Regex_Caret_Slash_Period_Asterisk 7.86 ns 7.61 ns -3.2%
Regex_Caret_Period_Range_Dollar 5.34 ns 5.33 ns -0.1%
Regex_Nested_Backtrack 58.12 ns 57.95 ns -0.3%
JSON_Array_Of_Objects_Unique 528.03 ns 553.64 ns +4.8%
JSON_Array_Of_Integers_Unique_256 4.46 us 4.77 us +6.8%
JSON_Array_Of_Strings_Unique_Colliding_256 300.01 us 291.56 us -2.8%
JSON_Parse_1 8.76 us 8.78 us +0.3%
JSON_Parse_Real 7.58 us 7.64 us +0.8%
JSON_Parse_Real_Inexact 7.26 us 7.49 us +3.1%
JSON_Parse_Decimal 12.27 us 12.47 us +1.7%
JSON_Parse_Schema_ISO_Language 7.78 ms 7.59 ms -2.5%
JSON_Parse_KrakenD 2.23 ms 2.22 ms -0.4%
JSON_Stringify_ISO_Language 9.94 ms 9.99 ms +0.5%
JSON_Prettify_KrakenD 7.47 ms 7.70 ms +3.0%
JSON_Parse_Integer 6.55 us 6.67 us +1.8%
JSON_Parse_String_NonSSO_Plain 8.20 us 8.32 us +1.5%
JSON_Parse_String_SSO_Plain 4.16 us 4.21 us +1.1%
JSON_Parse_String_Escape_Heavy 22.00 us 21.70 us -1.4%
JSON_Parse_Object_Short_Keys 13.66 us 13.65 us -0.1%
JSON_Parse_Object_Scalar_Properties 7.00 us 7.26 us +3.6%
JSON_Parse_Object_Array_Properties 11.45 us 11.98 us +4.6%
JSON_Parse_Object_Object_Properties 11.40 us 11.81 us +3.7%
JSON_Parse_Nested_Containers 79.89 us 79.78 us -0.1%
JSON_Fast_Hash_Helm_Chart_Lock 101.08 ns 106.65 ns +5.5%
JSON_Equality_Helm_Chart_Lock 215.69 ns 208.82 ns -3.2%
JSON_String_Equal_10 10.34 ns 10.03 ns -3.0%
JSON_String_Equal_100 11.61 ns 11.29 ns -2.8%
JSON_String_Equal_Small_By_Perfect_Hash_10 2.19 ns 2.19 ns -0.0%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 15.01 ns 14.21 ns -5.3%
JSON_String_Fast_Hash_10 6.29 ns 6.52 ns +3.6%
JSON_String_Fast_Hash_100 6.30 ns 6.57 ns +4.3%
JSON_String_Key_Hash_10 5.02 ns 5.03 ns +0.1%
JSON_String_Key_Hash_100 11.87 ns 11.88 ns +0.1%
JSON_Object_Defines_Miss_Same_Length 3.45 ns 3.45 ns -0.2%
JSON_Object_Defines_Miss_Too_Small 4.08 ns 4.07 ns -0.1%
JSON_Object_Defines_Miss_Too_Large 3.45 ns 3.45 ns +0.1%
JSON_From_String_Copy 63.81 ns 64.49 ns +1.1%
JSON_From_String_Temporary 57.53 ns 59.76 ns +3.9%
JSON_Number_To_Double 40.97 ns 40.83 ns -0.4%
JSON_Object_At_Last_Key_8 7.17 ns 6.99 ns -2.5%
JSON_Object_At_Last_Key_32 22.90 ns 22.94 ns +0.2%
JSON_Object_At_Last_Key_128 89.47 ns 89.40 ns -0.1%
JSON_Object_At_Last_Key_512 422.65 ns 418.77 ns -0.9%
JSON_Divisible_By_Decimal 384.51 ns 389.03 ns +1.2%
JSON_PropertySet_Contains 79.76 ns 79.42 ns -0.4%
JSON_PropertySet_Filter_Object_Properties 49.65 ns 49.44 ns -0.4%
JSON_PropertySet_Insert 1.30 us 1.31 us +0.7%
JSON_Stringify_Schema_Web_Of_Things 229.69 us 229.77 us +0.0%
JSON_Prettify_Schema_Web_Of_Things 720.57 us 718.26 us -0.3%
Pointer_Object_Traverse 66.67 ns 70.66 ns +6.0%
Pointer_Object_Try_Traverse 70.51 ns 70.35 ns -0.2%
Pointer_Push_Back_Pointer_To_Weak_Pointer 160.41 ns 186.84 ns +16.5%
Pointer_Walker_Schema_ISO_Language 8.46 ms 8.90 ms +5.2%
Pointer_Untracked_Deeply_Nested 2.34 ms 2.38 ms +1.4%
Pointer_Tracked_Deeply_Nested 3.58 ms 3.81 ms +6.2%
Pointer_Position_Tracker_Get_Deeply_Nested 567.27 ns 582.99 ns +2.8%
Schema_Tracker_ISO_Language 10.69 ms 10.65 ms -0.4%
Schema_Tracker_ISO_Language_To_JSON 63.41 ms 62.95 ms -0.7%
Schema_Frame_WoT_References 5.01 ms 4.97 ms -0.8%
Schema_Frame_OMC_References 22.88 ms 21.99 ms -3.9%
Schema_Frame_OMC_Pointers 42.52 ms 42.01 ms -1.2%
Schema_Frame_OMC_Locations 19.27 ms 19.54 ms +1.4%
Schema_Frame_ISO_Language_Locations 81.32 ms 82.94 ms +2.0%
Schema_Frame_ISO_Language_Root 2.33 us 2.23 us -4.1%
Schema_Frame_KrakenD_References 39.25 ms 39.29 ms +0.1%
Schema_Frame_KrakenD_Reachable 302.83 ms 309.55 ms +2.2%
Schema_Frame_ISO_Language_Locations_To_JSON 165.62 ms 170.02 ms +2.7%
Schema_Frame_Many_Resources_References 366.90 ms 373.32 ms +1.8%
Schema_Frame_Deeply_Nested_References 23.36 ms 21.24 ms -9.1%
Schema_Format_ISO_Language 90.55 ms 91.95 ms +1.5%
Schema_Bundle_Meta_2020_12 1.46 ms 1.47 ms +0.4%
Schema_Bundle_Many_Remotes_With_Fragments 29.36 ms 29.57 ms +0.7%
OpenAPI_Frame_GSMTasks_3_0 393.37 ms 379.40 ms -3.6%
OpenAPI_Format_Synthetic_3_1 133.56 ms 132.53 ms -0.8%
JSONPath_Descendant_Filter_Nested 2.92 us 2.91 us -0.3%
URITemplateRouter_Create 39.14 us 39.08 us -0.1%
URITemplateRouter_Match 232.32 ns 236.22 ns +1.7%
URITemplateRouterView_Restore 32.96 us 35.00 us +6.2%
URITemplateRouterView_Match 213.25 ns 220.90 ns +3.6%
URITemplateRouterView_Arguments 539.10 ns 542.50 ns +0.6%
URITemplateRouter_Match_BasePath 263.51 ns 269.80 ns +2.4%
URITemplateRouterView_Match_BasePath 242.72 ns 247.69 ns +2.0%
JSONL_Parse_Large 33.32 ms 33.31 ms -0.0%
JSONL_Parse_Large_GZIP 32.04 ms 32.18 ms +0.5%
JSONLD_Catalog_Annotation_List_Populate 2.97 ms 2.98 ms +0.2%
JSONLD_Catalog_Materialize 8.00 ms 8.34 ms +4.2%
HTML_Build_Table_100000 67.21 ms 67.77 ms +0.8%
HTML_Render_Table_100000 7.89 ms 7.92 ms +0.4%
Markdown_To_HTML_Realistic_Document 5.62 ms 5.59 ms -0.5%
Markdown_To_HTML_Pathological 17.33 ms 18.38 ms +6.0%
Markdown_To_HTML_Short_Descriptions 730.59 ns 700.42 ns -4.1%
GZIP_Compress_ISO_Language_Set_3_Locations 37.58 ms 37.26 ms -0.9%
GZIP_Decompress_ISO_Language_Set_3_Locations 9.64 ms 9.62 ms -0.1%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 11.87 ms 11.77 ms -0.8%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 15.68 ms 14.48 ms -7.7%
GZIP_Compress_ISO_Language_Set_3_Schema 2.29 ms 2.30 ms +0.5%
GZIP_Decompress_ISO_Language_Set_3_Schema 648.55 us 634.67 us -2.1%
JOSE_VerifySignature_RS256 21.30 us 21.33 us +0.1%
JOSE_VerifySignature_ES512 1.37 ms 1.36 ms -0.3%
Crypto_CRC32_Large_JSONL 102.96 us 102.86 us -0.1%
Crypto_AES_GCM_Encrypt_128_1KB 2.34 us 2.36 us +0.7%
Crypto_AES_GCM_Decrypt_128_1KB 2.39 us 2.37 us -0.6%
Crypto_AES_GCM_Encrypt_256_1KB 2.42 us 2.45 us +1.0%

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Benchmark macos/llvm

Measured against main at af2b932.

13 slower, 87 faster, 15 within 5%.

Benchmark main This branch Change
Crypto_AES_GCM_Encrypt_256_1KB 3.93 us 5.14 us +30.8%
JSON_String_Equal_100 7.23 ns 9.33 ns +28.9%
JSON_String_Fast_Hash_100 2.60 ns 3.31 ns +27.3%
JSON_Array_Of_Strings_Unique_Colliding_256 181.23 us 230.62 us +27.2%
JSON_String_Key_Hash_100 2.81 ns 3.53 ns +25.8%
JSON_Parse_Real_Inexact 4.37 us 5.22 us +19.5%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.37 ns 0.44 ns +19.5%
JSON_String_Key_Hash_10 2.28 ns 2.71 ns +18.9%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 4.03 ns 4.69 ns +16.5%
JSON_String_Equal_10 7.97 ns 9.02 ns +13.2%
Crypto_CRC32_Large_JSONL 27.15 us 29.91 us +10.2%
OpenAPI_Frame_GSMTasks_3_0 158.14 ms 168.84 ms +6.8%
JSON_Array_Of_Integers_Unique_256 5.69 us 6.01 us +5.6%
JSON_Parse_String_Escape_Heavy 20.25 us 19.09 us -5.7%
JSON_Object_Defines_Miss_Too_Small 3.64 ns 3.43 ns -5.8%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 5.55 ms 5.19 ms -6.5%
JSON_From_String_Copy 14.50 ns 13.53 ns -6.7%
Pointer_Walker_Schema_ISO_Language 1.84 ms 1.72 ms -6.9%
JSON_PropertySet_Contains 59.81 ns 55.14 ns -7.8%
JSON_Parse_Object_Array_Properties 4.81 us 4.42 us -8.2%
JSON_Parse_Object_Short_Keys 6.28 us 5.69 us -9.4%
Markdown_To_HTML_Realistic_Document 3.81 ms 3.42 ms -10.1%
Regex_Caret_Slash_Period_Asterisk 6.51 ns 5.84 ns -10.3%
Regex_Nested_Backtrack 40.41 ns 36.15 ns -10.6%
Regex_Caret_X_Hyphen 8.00 ns 7.15 ns -10.6%
JSON_Divisible_By_Decimal 289.32 ns 256.08 ns -11.5%
Markdown_To_HTML_Pathological 11.69 ms 10.35 ms -11.5%
OpenAPI_Format_Synthetic_3_1 49.39 ms 43.57 ms -11.8%
Pointer_Object_Try_Traverse 42.83 ns 37.56 ns -12.3%
JSONPath_Descendant_Filter_Nested 1.49 us 1.29 us -13.2%
HTML_Build_Table_100000 32.91 ms 28.43 ms -13.6%
JSON_Parse_String_NonSSO_Plain 4.02 us 3.47 us -13.7%
JSON_Parse_Real 4.32 us 3.72 us -13.8%
GZIP_Decompress_ISO_Language_Set_3_Schema 380.08 us 325.51 us -14.4%
URITemplateRouterView_Arguments 599.35 ns 511.02 ns -14.7%
Crypto_AES_GCM_Encrypt_128_1KB 4.43 us 3.77 us -14.8%
URITemplateRouter_Create 20.68 us 17.51 us -15.3%
Regex_Lower_S_Or_Upper_S_Asterisk 2.61 ns 2.21 ns -15.4%
URITemplateRouterView_Match 139.85 ns 118.24 ns -15.5%
JSON_Parse_String_SSO_Plain 2.25 us 1.90 us -15.6%
JSON_Parse_Decimal 7.89 us 6.59 us -16.5%
JSON_Object_At_Last_Key_32 16.61 ns 13.83 ns -16.7%
Schema_Frame_Deeply_Nested_References 15.03 ms 12.40 ms -17.5%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.92 ms 3.22 ms -17.7%
Schema_Format_ISO_Language 28.85 ms 23.72 ms -17.8%
JOSE_VerifySignature_ES512 1.35 ms 1.11 ms -18.0%
JSON_Object_At_Last_Key_128 75.06 ns 61.42 ns -18.2%
Schema_Bundle_Many_Remotes_With_Fragments 7.16 ms 5.85 ms -18.2%
JSON_Number_To_Double 12.85 ns 10.45 ns -18.7%
GZIP_Compress_ISO_Language_Set_3_Locations 37.47 ms 30.41 ms -18.8%
JSON_Prettify_Schema_Web_Of_Things 203.71 us 164.06 us -19.5%
JSON_Parse_Integer 3.71 us 2.98 us -19.7%
Regex_Period_Asterisk 2.50 ns 1.99 ns -20.2%
JSON_Parse_1 4.21 us 3.33 us -21.0%
JOSE_VerifySignature_RS256 31.31 us 24.72 us -21.1%
Pointer_Object_Traverse 25.30 ns 19.95 ns -21.1%
Schema_Frame_Many_Resources_References 104.61 ms 82.31 ms -21.3%
JSON_Parse_Object_Scalar_Properties 3.65 us 2.87 us -21.4%
JSON_Stringify_ISO_Language 3.54 ms 2.78 ms -21.5%
JSON_Object_At_Last_Key_512 258.65 ns 201.22 ns -22.2%
URITemplateRouter_Match_BasePath 241.31 ns 184.53 ns -23.5%
URITemplateRouterView_Restore 12.38 us 9.45 us -23.7%
Regex_Period_Plus 2.53 ns 1.93 ns -23.8%
JSON_Stringify_Schema_Web_Of_Things 86.92 us 66.07 us -24.0%
JSON_Object_At_Last_Key_8 5.63 ns 4.28 ns -24.0%
Markdown_To_HTML_Short_Descriptions 457.03 ns 346.31 ns -24.2%
Schema_Frame_OMC_Locations 10.10 ms 7.63 ms -24.5%
Regex_Caret_Period_Range_Dollar 3.22 ns 2.43 ns -24.6%
URITemplateRouter_Match 210.34 ns 157.30 ns -25.2%
JSON_PropertySet_Filter_Object_Properties 55.69 ns 41.49 ns -25.5%
URITemplateRouterView_Match_BasePath 185.55 ns 137.86 ns -25.7%
Schema_Frame_KrakenD_Reachable 218.90 ms 161.43 ms -26.3%
Regex_Period 2.76 ns 2.03 ns -26.4%
Regex_Caret_Period_Asterisk_Dollar 2.57 ns 1.88 ns -26.8%
JSON_PropertySet_Insert 464.71 ns 338.44 ns -27.2%
HTML_Render_Table_100000 2.06 ms 1.50 ms -27.4%
JSON_From_String_Temporary 9.54 ns 6.92 ns -27.4%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 8.00 ms 5.74 ms -28.2%
Pointer_Untracked_Deeply_Nested 1.17 ms 834.35 us -29.0%
GZIP_Compress_ISO_Language_Set_3_Schema 2.60 ms 1.83 ms -29.6%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.82 ns 1.99 ns -29.7%
JSONLD_Catalog_Annotation_List_Populate 699.13 us 491.48 us -29.7%
Regex_Group_Period_Asterisk_Group 2.74 ns 1.87 ns -31.6%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.76 ns 1.85 ns -32.7%
JSONLD_Catalog_Materialize 3.38 ms 2.18 ms -35.5%
Regex_Period_Md_Dollar 29.53 ns 18.88 ns -36.1%
JSONL_Parse_Large 8.96 ms 5.71 ms -36.3%
JSONL_Parse_Large_GZIP 9.53 ms 6.05 ms -36.6%
Pointer_Position_Tracker_Get_Deeply_Nested 496.16 ns 313.34 ns -36.8%
Schema_Frame_OMC_Pointers 28.38 ms 17.80 ms -37.3%
JSON_Prettify_KrakenD 3.25 ms 1.98 ms -39.1%
Schema_Frame_ISO_Language_Locations 39.02 ms 23.26 ms -40.4%
Pointer_Tracked_Deeply_Nested 1.68 ms 969.11 us -42.2%
Schema_Frame_KrakenD_References 21.31 ms 12.27 ms -42.4%
Schema_Tracker_ISO_Language_To_JSON 17.29 ms 9.83 ms -43.1%
Schema_Tracker_ISO_Language 5.47 ms 3.10 ms -43.3%
Schema_Frame_ISO_Language_Locations_To_JSON 37.61 ms 20.01 ms -46.8%
Schema_Frame_WoT_References 3.81 ms 1.92 ms -49.5%
Schema_Frame_ISO_Language_Root 237.93 ns 117.89 ns -50.5%
Schema_Frame_OMC_References 18.50 ms 8.34 ms -54.9%
All 115 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 2.61 ns 2.21 ns -15.4%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.35 ns 2.35 ns -0.3%
Regex_Period_Asterisk 2.50 ns 1.99 ns -20.2%
Regex_Group_Period_Asterisk_Group 2.74 ns 1.87 ns -31.6%
Regex_Period_Plus 2.53 ns 1.93 ns -23.8%
Regex_Period 2.76 ns 2.03 ns -26.4%
Regex_Caret_Period_Plus_Dollar 3.04 ns 3.00 ns -1.3%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.82 ns 1.99 ns -29.7%
Regex_Caret_Period_Asterisk_Dollar 2.57 ns 1.88 ns -26.8%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.76 ns 1.85 ns -32.7%
Regex_Caret_X_Hyphen 8.00 ns 7.15 ns -10.6%
Regex_Period_Md_Dollar 29.53 ns 18.88 ns -36.1%
Regex_Caret_Slash_Period_Asterisk 6.51 ns 5.84 ns -10.3%
Regex_Caret_Period_Range_Dollar 3.22 ns 2.43 ns -24.6%
Regex_Nested_Backtrack 40.41 ns 36.15 ns -10.6%
JSON_Array_Of_Objects_Unique 489.43 ns 492.79 ns +0.7%
JSON_Array_Of_Integers_Unique_256 5.69 us 6.01 us +5.6%
JSON_Array_Of_Strings_Unique_Colliding_256 181.23 us 230.62 us +27.2%
JSON_Parse_1 4.21 us 3.33 us -21.0%
JSON_Parse_Real 4.32 us 3.72 us -13.8%
JSON_Parse_Real_Inexact 4.37 us 5.22 us +19.5%
JSON_Parse_Decimal 7.89 us 6.59 us -16.5%
JSON_Parse_Schema_ISO_Language 2.71 ms 2.74 ms +1.2%
JSON_Parse_KrakenD 950.93 us 995.26 us +4.7%
JSON_Stringify_ISO_Language 3.54 ms 2.78 ms -21.5%
JSON_Prettify_KrakenD 3.25 ms 1.98 ms -39.1%
JSON_Parse_Integer 3.71 us 2.98 us -19.7%
JSON_Parse_String_NonSSO_Plain 4.02 us 3.47 us -13.7%
JSON_Parse_String_SSO_Plain 2.25 us 1.90 us -15.6%
JSON_Parse_String_Escape_Heavy 20.25 us 19.09 us -5.7%
JSON_Parse_Object_Short_Keys 6.28 us 5.69 us -9.4%
JSON_Parse_Object_Scalar_Properties 3.65 us 2.87 us -21.4%
JSON_Parse_Object_Array_Properties 4.81 us 4.42 us -8.2%
JSON_Parse_Object_Object_Properties 4.79 us 4.78 us -0.3%
JSON_Parse_Nested_Containers 32.97 us 33.04 us +0.2%
JSON_Fast_Hash_Helm_Chart_Lock 90.10 ns 88.07 ns -2.2%
JSON_Equality_Helm_Chart_Lock 188.06 ns 194.46 ns +3.4%
JSON_String_Equal_10 7.97 ns 9.02 ns +13.2%
JSON_String_Equal_100 7.23 ns 9.33 ns +28.9%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.37 ns 0.44 ns +19.5%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 4.03 ns 4.69 ns +16.5%
JSON_String_Fast_Hash_10 3.04 ns 3.13 ns +2.8%
JSON_String_Fast_Hash_100 2.60 ns 3.31 ns +27.3%
JSON_String_Key_Hash_10 2.28 ns 2.71 ns +18.9%
JSON_String_Key_Hash_100 2.81 ns 3.53 ns +25.8%
JSON_Object_Defines_Miss_Same_Length 3.63 ns 3.50 ns -3.6%
JSON_Object_Defines_Miss_Too_Small 3.64 ns 3.43 ns -5.8%
JSON_Object_Defines_Miss_Too_Large 3.62 ns 3.53 ns -2.6%
JSON_From_String_Copy 14.50 ns 13.53 ns -6.7%
JSON_From_String_Temporary 9.54 ns 6.92 ns -27.4%
JSON_Number_To_Double 12.85 ns 10.45 ns -18.7%
JSON_Object_At_Last_Key_8 5.63 ns 4.28 ns -24.0%
JSON_Object_At_Last_Key_32 16.61 ns 13.83 ns -16.7%
JSON_Object_At_Last_Key_128 75.06 ns 61.42 ns -18.2%
JSON_Object_At_Last_Key_512 258.65 ns 201.22 ns -22.2%
JSON_Divisible_By_Decimal 289.32 ns 256.08 ns -11.5%
JSON_PropertySet_Contains 59.81 ns 55.14 ns -7.8%
JSON_PropertySet_Filter_Object_Properties 55.69 ns 41.49 ns -25.5%
JSON_PropertySet_Insert 464.71 ns 338.44 ns -27.2%
JSON_Stringify_Schema_Web_Of_Things 86.92 us 66.07 us -24.0%
JSON_Prettify_Schema_Web_Of_Things 203.71 us 164.06 us -19.5%
Pointer_Object_Traverse 25.30 ns 19.95 ns -21.1%
Pointer_Object_Try_Traverse 42.83 ns 37.56 ns -12.3%
Pointer_Push_Back_Pointer_To_Weak_Pointer 180.43 ns 179.17 ns -0.7%
Pointer_Walker_Schema_ISO_Language 1.84 ms 1.72 ms -6.9%
Pointer_Untracked_Deeply_Nested 1.17 ms 834.35 us -29.0%
Pointer_Tracked_Deeply_Nested 1.68 ms 969.11 us -42.2%
Pointer_Position_Tracker_Get_Deeply_Nested 496.16 ns 313.34 ns -36.8%
Schema_Tracker_ISO_Language 5.47 ms 3.10 ms -43.3%
Schema_Tracker_ISO_Language_To_JSON 17.29 ms 9.83 ms -43.1%
Schema_Frame_WoT_References 3.81 ms 1.92 ms -49.5%
Schema_Frame_OMC_References 18.50 ms 8.34 ms -54.9%
Schema_Frame_OMC_Pointers 28.38 ms 17.80 ms -37.3%
Schema_Frame_OMC_Locations 10.10 ms 7.63 ms -24.5%
Schema_Frame_ISO_Language_Locations 39.02 ms 23.26 ms -40.4%
Schema_Frame_ISO_Language_Root 237.93 ns 117.89 ns -50.5%
Schema_Frame_KrakenD_References 21.31 ms 12.27 ms -42.4%
Schema_Frame_KrakenD_Reachable 218.90 ms 161.43 ms -26.3%
Schema_Frame_ISO_Language_Locations_To_JSON 37.61 ms 20.01 ms -46.8%
Schema_Frame_Many_Resources_References 104.61 ms 82.31 ms -21.3%
Schema_Frame_Deeply_Nested_References 15.03 ms 12.40 ms -17.5%
Schema_Format_ISO_Language 28.85 ms 23.72 ms -17.8%
Schema_Bundle_Meta_2020_12 511.99 us 525.38 us +2.6%
Schema_Bundle_Many_Remotes_With_Fragments 7.16 ms 5.85 ms -18.2%
OpenAPI_Frame_GSMTasks_3_0 158.14 ms 168.84 ms +6.8%
OpenAPI_Format_Synthetic_3_1 49.39 ms 43.57 ms -11.8%
JSONPath_Descendant_Filter_Nested 1.49 us 1.29 us -13.2%
URITemplateRouter_Create 20.68 us 17.51 us -15.3%
URITemplateRouter_Match 210.34 ns 157.30 ns -25.2%
URITemplateRouterView_Restore 12.38 us 9.45 us -23.7%
URITemplateRouterView_Match 139.85 ns 118.24 ns -15.5%
URITemplateRouterView_Arguments 599.35 ns 511.02 ns -14.7%
URITemplateRouter_Match_BasePath 241.31 ns 184.53 ns -23.5%
URITemplateRouterView_Match_BasePath 185.55 ns 137.86 ns -25.7%
JSONL_Parse_Large 8.96 ms 5.71 ms -36.3%
JSONL_Parse_Large_GZIP 9.53 ms 6.05 ms -36.6%
JSONLD_Catalog_Annotation_List_Populate 699.13 us 491.48 us -29.7%
JSONLD_Catalog_Materialize 3.38 ms 2.18 ms -35.5%
HTML_Build_Table_100000 32.91 ms 28.43 ms -13.6%
HTML_Render_Table_100000 2.06 ms 1.50 ms -27.4%
Markdown_To_HTML_Realistic_Document 3.81 ms 3.42 ms -10.1%
Markdown_To_HTML_Pathological 11.69 ms 10.35 ms -11.5%
Markdown_To_HTML_Short_Descriptions 457.03 ns 346.31 ns -24.2%
GZIP_Compress_ISO_Language_Set_3_Locations 37.47 ms 30.41 ms -18.8%
GZIP_Decompress_ISO_Language_Set_3_Locations 3.92 ms 3.22 ms -17.7%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 5.55 ms 5.19 ms -6.5%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 8.00 ms 5.74 ms -28.2%
GZIP_Compress_ISO_Language_Set_3_Schema 2.60 ms 1.83 ms -29.6%
GZIP_Decompress_ISO_Language_Set_3_Schema 380.08 us 325.51 us -14.4%
JOSE_VerifySignature_RS256 31.31 us 24.72 us -21.1%
JOSE_VerifySignature_ES512 1.35 ms 1.11 ms -18.0%
Crypto_CRC32_Large_JSONL 27.15 us 29.91 us +10.2%
Crypto_AES_GCM_Encrypt_128_1KB 4.43 us 3.77 us -14.8%
Crypto_AES_GCM_Decrypt_128_1KB 4.17 us 4.21 us +1.0%
Crypto_AES_GCM_Encrypt_256_1KB 3.93 us 5.14 us +30.8%

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

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

All reported issues were addressed across 13 files (changes from recent commits).

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

View guided diff | Re-trigger cubic

Comment thread src/core/oidc/oidc_id_token.cc Outdated
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti
jviotti merged commit 21976a6 into main Oct 13, 2026
15 checks passed
@jviotti
jviotti deleted the even-more-cov branch October 13, 2026 19:18
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