Skip to content

Update links in reports#845

Merged
DrEverr merged 1 commit intomainfrom
ms-update-links-in-reports
Dec 27, 2025
Merged

Update links in reports#845
DrEverr merged 1 commit intomainfrom
ms-update-links-in-reports

Conversation

@mateuszsikora
Copy link
Copy Markdown
Contributor

Changes:

  • updated all links to GP 0.7.2
  • adjusted names/symbols (i.e. G => M, work outout => work digest)
  • removed W_R from GP consts (we had this const in two places)
  • small code style adjustment (block-json/work-result.ts)

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Dec 27, 2025

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Added support for output overflow detection in work result validation.
  • Documentation

    • Updated documentation references and terminology to align with v0.7.2 specifications. Enhanced clarity across report handling modules.
  • Refactor

    • Optimized internal constant management for work report sizing.

✏️ Tip: You can customize this high-level summary in your review settings.

Walkthrough

This pull request refactors and updates the JAM package across multiple files. It extends JSON parsing for WorkExecResult to recognize a new output_oversize field and handle the case when it equals null by returning DigestTooBig. The exported constant W_R is removed from gp-constants and replaced with MAX_WORK_REPORT_SIZE_BYTES sourced from verify-basic in files that previously referenced W_R. Documentation and comments across 10+ files are updated to reflect terminology changes (e.g., references to reporter set labels changing from R to M or G to M), updated Graypaper URLs to v0.7.2, and terminology shifts from "work outputs" to "work-digests". No executable logic or control flow is altered in documentation-only files.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • skoszuta
  • tomusdrw
  • DrEverr

Poem

🐰 Hippity-hop through constants and fields,
Output_oversize now reveals,
W_R hops away, new paths appear,
Graypaper links grow crystal clear,
From R to M, the labels dance,
Our JAM package takes its chance! 🥕✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 57.14% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title check ❓ Inconclusive The title 'Update links in reports' is vague and generic, using a broad term that doesn't convey the full scope of changes including symbol renames, constant removal, and schema updates. Consider a more specific title that mentions key changes, such as 'Update Graypaper 0.7.2 links and adjust symbol references' to better reflect the changeset's main objectives.
✅ Passed checks (1 passed)
Check name Status Explanation
Description check ✅ Passed The description directly relates to the changeset and covers the main modifications: link updates, symbol adjustments, constant removal, and code style changes.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ms-update-links-in-reports

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 23093d4 and b898011.

📒 Files selected for processing (13)
  • packages/jam/block-json/work-result.ts
  • packages/jam/block/gp-constants.ts
  • packages/jam/block/guarantees.ts
  • packages/jam/transition/externalities/fetch-externalities.ts
  • packages/jam/transition/reports/guarantor-assignment.ts
  • packages/jam/transition/reports/input.ts
  • packages/jam/transition/reports/reports.ts
  • packages/jam/transition/reports/verify-basic.ts
  • packages/jam/transition/reports/verify-contextual.ts
  • packages/jam/transition/reports/verify-credentials.ts
  • packages/jam/transition/reports/verify-order.ts
  • packages/jam/transition/reports/verify-post-signature.ts
  • packages/jam/transition/statistics.test.ts
💤 Files with no reviewable changes (1)
  • packages/jam/block/gp-constants.ts
🧰 Additional context used
📓 Path-based instructions (1)
**/*.ts

⚙️ CodeRabbit configuration file

**/*.ts: rules from ./CODESTYLE.md should be adhered to.

**/*.ts: Any function whose documentation mention it must not be used in production code,
can be safely used in *.test.ts files. Other usage should be carefuly reviewed
and the comment must explain why it's safe to use there.

**/*.ts: as conversions must not be used. Suggest using tryAs conversion methods.

**/*.ts: Classes with static Codec field must have private constructor and static create method.

**/*.ts: Casting a bigint (or U64) using Number(x) must have an explanation comment why
it is safe.

**/*.ts: When making changes to code with comments containing links (in classes, constants, methods, etc.)
to graypaper.fluffylabs.dev, ensure those links point to the current version for this update.

Files:

  • packages/jam/transition/reports/verify-order.ts
  • packages/jam/transition/externalities/fetch-externalities.ts
  • packages/jam/transition/statistics.test.ts
  • packages/jam/transition/reports/verify-credentials.ts
  • packages/jam/transition/reports/guarantor-assignment.ts
  • packages/jam/transition/reports/verify-contextual.ts
  • packages/jam/transition/reports/verify-post-signature.ts
  • packages/jam/block/guarantees.ts
  • packages/jam/transition/reports/verify-basic.ts
  • packages/jam/block-json/work-result.ts
  • packages/jam/transition/reports/reports.ts
  • packages/jam/transition/reports/input.ts
🧬 Code graph analysis (3)
packages/jam/transition/externalities/fetch-externalities.ts (2)
packages/core/numbers/index.ts (1)
  • tryAsU32 (45-48)
packages/jam/transition/reports/verify-basic.ts (1)
  • MAX_WORK_REPORT_SIZE_BYTES (11-11)
packages/jam/transition/statistics.test.ts (4)
packages/core/numbers/index.ts (1)
  • isU32 (51-51)
packages/jam/transition/reports/verify-basic.ts (1)
  • MAX_WORK_REPORT_SIZE_BYTES (11-11)
packages/jam/block/gp-constants.ts (2)
  • I (21-21)
  • W_M (45-45)
packages/jam/config/chain-spec.ts (1)
  • EC_SEGMENT_SIZE (36-36)
packages/jam/transition/reports/input.ts (4)
packages/jam/block/guarantees.ts (1)
  • GuaranteesExtrinsicView (104-104)
packages/jam/block/common.ts (1)
  • TimeSlot (16-16)
packages/jam/transition/recent-history.ts (1)
  • RecentHistoryStateUpdate (36-36)
packages/jam/transition/assurances.ts (1)
  • AssurancesStateUpdate (32-32)
⏰ Context from checks skipped due to timeout of 120000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: benchmarks (22.x)
  • GitHub Check: Setup test vectors cache
  • GitHub Check: e2e (22.x)
🔇 Additional comments (35)
packages/jam/block/guarantees.ts (1)

17-17: Documentation links correctly updated to v0.7.2.

All graypaper references have been consistently updated to the new version with the v=0.7.2 query parameter. The URLs maintain the same section references and follow the established documentation linking pattern.

Also applies to: 46-46, 73-73, 88-88

packages/jam/transition/reports/guarantor-assignment.ts (1)

1-76: Documentation updates correctly applied; graypaper links and terminology aligned with v0.7.2.

All changes are documentation-only: graypaper links have been updated to v0.7.2 (per coding guidelines requirement), and terminology has been updated consistently (G → M). No functional code changes, function signatures, or control flow modifications. The updated links and comments align correctly with the PR objectives.

packages/jam/transition/reports/reports.ts (1)

1-294: Documentation updates correctly applied; graypaper links updated to v0.7.2 and terminology consistent.

All changes are documentation-only: graypaper links have been updated to v0.7.2 (per coding guidelines), terminology has been updated consistently (R→M in ReportsOutput, G/G→M/M in assignment comments), and notation has been refined (τ ′ → τ'). No functional code changes, function signatures, or control flow modifications. The code properly uses type conversion utilities (tryAs, asOpaqueType, asKnownSize) without bare as conversions. All updates align with the PR objectives.

packages/jam/transition/reports/verify-post-signature.ts (1)

24-24: LGTM! Documentation updates align with PR objectives.

The graypaper.fluffylabs.dev URLs have been correctly updated to v=0.7.2, and the terminology change from "work item" to "work-digest" is consistent with the PR's broader refactoring goals. These comment-only changes have no functional impact.

Also applies to: 35-35, 49-49, 52-52

packages/jam/transition/reports/verify-order.ts (1)

11-11: Graypaper documentation link correctly updated to v0.7.2.

The URL has been properly updated with the version parameter matching the current Graypaper release.

packages/jam/transition/reports/verify-basic.ts (2)

21-21: LGTM! Documentation updated correctly.

The graypaper link has been correctly updated to version 0.7.2.


39-39: LGTM! Documentation updated correctly.

The graypaper link has been correctly updated to version 0.7.2.

packages/jam/transition/externalities/fetch-externalities.ts (3)

2-2: LGTM! Import consolidation.

The imports from gp-constants have been properly consolidated into a single line.


18-18: LGTM! Import added for new constant source.

The import for MAX_WORK_REPORT_SIZE_BYTES from verify-basic is correctly added to replace the removed W_R constant.


155-155: LGTM! Correct replacement of W_R constant.

The W_R field now uses MAX_WORK_REPORT_SIZE_BYTES from verify-basic.ts, which defines the same value (48 * 2**10). The use of tryAsU32 follows the coding guidelines.

packages/jam/transition/statistics.test.ts (3)

14-14: LGTM! Import updated correctly.

The W_R constant has been removed from the gp-constants import, consistent with the PR objective.


44-44: LGTM! New constant imported.

The MAX_WORK_REPORT_SIZE_BYTES constant is correctly imported from verify-basic to replace W_R usage in tests.


63-67: LGTM! Test formulas updated correctly.

The test formulas now use MAX_WORK_REPORT_SIZE_BYTES instead of W_R, maintaining the same semantic meaning while using the new constant source.

packages/jam/transition/reports/verify-credentials.ts (4)

31-33: LGTM! Terminology and link updated correctly.

The comment correctly updates the terminology from "reporters set R" to "reporters set G" and the graypaper link to version 0.7.2, aligning with the PR objectives.


47-47: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2 with the new commit hash.


92-93: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


120-120: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.

packages/jam/transition/reports/verify-contextual.ts (9)

21-21: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


54-58: LGTM! Documentation improved with proper formatting.

The comment has been converted to a multi-line JSDoc format and the graypaper link updated to version 0.7.2.


73-73: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


138-138: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


155-157: LGTM! Documentation improved.

The comment formatting has been improved and the graypaper link updated to version 0.7.2.


189-189: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


204-204: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


246-246: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


287-287: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.

packages/jam/transition/reports/input.ts (5)

21-26: LGTM! Terminology and documentation updated.

The terminology has been correctly updated from "work outputs" to "work-digests" and the graypaper link updated to version 0.7.2, aligning with the PR objectives.


32-35: LGTM! Terminology and documentation updated.

The terminology has been correctly updated from "work outputs" to "work-digests" and the graypaper link updated to version 0.7.2.


42-46: LGTM! Documentation improved with proper formatting.

The comment has been expanded to a multi-line JSDoc format with a clearer description and the graypaper link updated to version 0.7.2.


50-51: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


57-57: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.

packages/jam/block-json/work-result.ts (4)

18-18: LGTM! New field added to parser.

The output_oversize field has been correctly added to the JSON parser configuration, following the same pattern as other optional fields.


21-21: LGTM! Destructuring updated.

The destructuring correctly includes the new output_oversize field.


37-39: LGTM! Logic added for output_oversize handling.

The logic correctly maps output_oversize === null to WorkExecResultKind.digestTooBig, following the same pattern as other error cases like code_oversize. This aligns with the PR's terminology updates around work outputs/digests.


51-51: LGTM! Type definition updated.

The JsonWorkExecResult type correctly includes the new output_oversize?: null field.


Comment @coderabbitai help to get the list of available commands and usage tips.

@mateuszsikora mateuszsikora force-pushed the ms-update-links-in-reports branch from 81d9bed to 9f959bb Compare December 27, 2025 09:32
@mateuszsikora mateuszsikora force-pushed the ms-update-links-in-reports branch from 9f959bb to b898011 Compare December 27, 2025 09:33
@mateuszsikora mateuszsikora requested review from DrEverr, skoszuta and tomusdrw and removed request for skoszuta and tomusdrw December 27, 2025 09:34
@mateuszsikora mateuszsikora self-assigned this Dec 27, 2025
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
packages/jam/transition/reports/verify-basic.ts (1)

6-11: Update the graypaper link version in the constant documentation.

The comment block for MAX_WORK_REPORT_SIZE_BYTES still references version 0.6.2, but this PR updates all links to version 0.7.2.

As per coding guidelines, when making changes to code with comments containing links to graypaper.fluffylabs.dev, ensure those links point to the current version for this update.

🔎 Proposed fix
 /**
  * `W_R = 48 * 2**10`: The maximum total size of all output blobs in a work-report, in octets.
  *
- * https://graypaper.fluffylabs.dev/#/5f542d7/41a60041aa00?v=0.6.2
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/41a60041aa00?v=0.7.2
  */
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 23093d4 and b898011.

📒 Files selected for processing (13)
  • packages/jam/block-json/work-result.ts
  • packages/jam/block/gp-constants.ts
  • packages/jam/block/guarantees.ts
  • packages/jam/transition/externalities/fetch-externalities.ts
  • packages/jam/transition/reports/guarantor-assignment.ts
  • packages/jam/transition/reports/input.ts
  • packages/jam/transition/reports/reports.ts
  • packages/jam/transition/reports/verify-basic.ts
  • packages/jam/transition/reports/verify-contextual.ts
  • packages/jam/transition/reports/verify-credentials.ts
  • packages/jam/transition/reports/verify-order.ts
  • packages/jam/transition/reports/verify-post-signature.ts
  • packages/jam/transition/statistics.test.ts
💤 Files with no reviewable changes (1)
  • packages/jam/block/gp-constants.ts
🧰 Additional context used
📓 Path-based instructions (1)
**/*.ts

⚙️ CodeRabbit configuration file

**/*.ts: rules from ./CODESTYLE.md should be adhered to.

**/*.ts: Any function whose documentation mention it must not be used in production code,
can be safely used in *.test.ts files. Other usage should be carefuly reviewed
and the comment must explain why it's safe to use there.

**/*.ts: as conversions must not be used. Suggest using tryAs conversion methods.

**/*.ts: Classes with static Codec field must have private constructor and static create method.

**/*.ts: Casting a bigint (or U64) using Number(x) must have an explanation comment why
it is safe.

**/*.ts: When making changes to code with comments containing links (in classes, constants, methods, etc.)
to graypaper.fluffylabs.dev, ensure those links point to the current version for this update.

Files:

  • packages/jam/transition/reports/verify-order.ts
  • packages/jam/transition/externalities/fetch-externalities.ts
  • packages/jam/transition/statistics.test.ts
  • packages/jam/transition/reports/verify-credentials.ts
  • packages/jam/transition/reports/guarantor-assignment.ts
  • packages/jam/transition/reports/verify-contextual.ts
  • packages/jam/transition/reports/verify-post-signature.ts
  • packages/jam/block/guarantees.ts
  • packages/jam/transition/reports/verify-basic.ts
  • packages/jam/block-json/work-result.ts
  • packages/jam/transition/reports/reports.ts
  • packages/jam/transition/reports/input.ts
🧬 Code graph analysis (3)
packages/jam/transition/externalities/fetch-externalities.ts (2)
packages/core/numbers/index.ts (1)
  • tryAsU32 (45-48)
packages/jam/transition/reports/verify-basic.ts (1)
  • MAX_WORK_REPORT_SIZE_BYTES (11-11)
packages/jam/transition/statistics.test.ts (4)
packages/core/numbers/index.ts (1)
  • isU32 (51-51)
packages/jam/transition/reports/verify-basic.ts (1)
  • MAX_WORK_REPORT_SIZE_BYTES (11-11)
packages/jam/block/gp-constants.ts (2)
  • I (21-21)
  • W_M (45-45)
packages/jam/config/chain-spec.ts (1)
  • EC_SEGMENT_SIZE (36-36)
packages/jam/transition/reports/input.ts (4)
packages/jam/block/guarantees.ts (1)
  • GuaranteesExtrinsicView (104-104)
packages/jam/block/common.ts (1)
  • TimeSlot (16-16)
packages/jam/transition/recent-history.ts (1)
  • RecentHistoryStateUpdate (36-36)
packages/jam/transition/assurances.ts (1)
  • AssurancesStateUpdate (32-32)
⏰ Context from checks skipped due to timeout of 120000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: benchmarks (22.x)
  • GitHub Check: Setup test vectors cache
  • GitHub Check: e2e (22.x)
🔇 Additional comments (35)
packages/jam/block/guarantees.ts (1)

17-17: Documentation links correctly updated to v0.7.2.

All graypaper references have been consistently updated to the new version with the v=0.7.2 query parameter. The URLs maintain the same section references and follow the established documentation linking pattern.

Also applies to: 46-46, 73-73, 88-88

packages/jam/transition/reports/guarantor-assignment.ts (1)

1-76: Documentation updates correctly applied; graypaper links and terminology aligned with v0.7.2.

All changes are documentation-only: graypaper links have been updated to v0.7.2 (per coding guidelines requirement), and terminology has been updated consistently (G → M). No functional code changes, function signatures, or control flow modifications. The updated links and comments align correctly with the PR objectives.

packages/jam/transition/reports/reports.ts (1)

1-294: Documentation updates correctly applied; graypaper links updated to v0.7.2 and terminology consistent.

All changes are documentation-only: graypaper links have been updated to v0.7.2 (per coding guidelines), terminology has been updated consistently (R→M in ReportsOutput, G/G→M/M in assignment comments), and notation has been refined (τ ′ → τ'). No functional code changes, function signatures, or control flow modifications. The code properly uses type conversion utilities (tryAs, asOpaqueType, asKnownSize) without bare as conversions. All updates align with the PR objectives.

packages/jam/transition/reports/verify-post-signature.ts (1)

24-24: LGTM! Documentation updates align with PR objectives.

The graypaper.fluffylabs.dev URLs have been correctly updated to v=0.7.2, and the terminology change from "work item" to "work-digest" is consistent with the PR's broader refactoring goals. These comment-only changes have no functional impact.

Also applies to: 35-35, 49-49, 52-52

packages/jam/transition/reports/verify-order.ts (1)

11-11: Graypaper documentation link correctly updated to v0.7.2.

The URL has been properly updated with the version parameter matching the current Graypaper release.

packages/jam/transition/reports/verify-basic.ts (2)

21-21: LGTM! Documentation updated correctly.

The graypaper link has been correctly updated to version 0.7.2.


39-39: LGTM! Documentation updated correctly.

The graypaper link has been correctly updated to version 0.7.2.

packages/jam/transition/externalities/fetch-externalities.ts (3)

2-2: LGTM! Import consolidation.

The imports from gp-constants have been properly consolidated into a single line.


18-18: LGTM! Import added for new constant source.

The import for MAX_WORK_REPORT_SIZE_BYTES from verify-basic is correctly added to replace the removed W_R constant.


155-155: LGTM! Correct replacement of W_R constant.

The W_R field now uses MAX_WORK_REPORT_SIZE_BYTES from verify-basic.ts, which defines the same value (48 * 2**10). The use of tryAsU32 follows the coding guidelines.

packages/jam/transition/statistics.test.ts (3)

14-14: LGTM! Import updated correctly.

The W_R constant has been removed from the gp-constants import, consistent with the PR objective.


44-44: LGTM! New constant imported.

The MAX_WORK_REPORT_SIZE_BYTES constant is correctly imported from verify-basic to replace W_R usage in tests.


63-67: LGTM! Test formulas updated correctly.

The test formulas now use MAX_WORK_REPORT_SIZE_BYTES instead of W_R, maintaining the same semantic meaning while using the new constant source.

packages/jam/transition/reports/verify-credentials.ts (4)

31-33: LGTM! Terminology and link updated correctly.

The comment correctly updates the terminology from "reporters set R" to "reporters set G" and the graypaper link to version 0.7.2, aligning with the PR objectives.


47-47: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2 with the new commit hash.


92-93: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


120-120: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.

packages/jam/transition/reports/verify-contextual.ts (9)

21-21: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


54-58: LGTM! Documentation improved with proper formatting.

The comment has been converted to a multi-line JSDoc format and the graypaper link updated to version 0.7.2.


73-73: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


138-138: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


155-157: LGTM! Documentation improved.

The comment formatting has been improved and the graypaper link updated to version 0.7.2.


189-189: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


204-204: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


246-246: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


287-287: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.

packages/jam/transition/reports/input.ts (5)

21-26: LGTM! Terminology and documentation updated.

The terminology has been correctly updated from "work outputs" to "work-digests" and the graypaper link updated to version 0.7.2, aligning with the PR objectives.


32-35: LGTM! Terminology and documentation updated.

The terminology has been correctly updated from "work outputs" to "work-digests" and the graypaper link updated to version 0.7.2.


42-46: LGTM! Documentation improved with proper formatting.

The comment has been expanded to a multi-line JSDoc format with a clearer description and the graypaper link updated to version 0.7.2.


50-51: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.


57-57: LGTM! Documentation link updated.

The graypaper link has been correctly updated to version 0.7.2.

packages/jam/block-json/work-result.ts (4)

18-18: LGTM! New field added to parser.

The output_oversize field has been correctly added to the JSON parser configuration, following the same pattern as other optional fields.


21-21: LGTM! Destructuring updated.

The destructuring correctly includes the new output_oversize field.


37-39: LGTM! Logic added for output_oversize handling.

The logic correctly maps output_oversize === null to WorkExecResultKind.digestTooBig, following the same pattern as other error cases like code_oversize. This aligns with the PR's terminology updates around work outputs/digests.


51-51: LGTM! Type definition updated.

The JsonWorkExecResult type correctly includes the new output_oversize?: null field.

@github-actions
Copy link
Copy Markdown

View all
File Benchmark Ops
bytes/hex-from.ts[0] parse hex using Number with NaN checking 55753.41 ±0.47% 87.85% slower
bytes/hex-from.ts[1] parse hex from char codes 459016.67 ±0.4% fastest ✅
bytes/hex-from.ts[2] parse hex from string nibbles 248411.97 ±0.38% 45.88% slower
hash/index.ts[0] hash with numeric representation 71.08 ±0.43% 27.73% slower
hash/index.ts[1] hash with string representation 35.65 ±0.85% 63.75% slower
hash/index.ts[2] hash with symbol representation 67.02 ±1.16% 31.86% slower
hash/index.ts[3] hash with uint8 representation 65.92 ±0.65% 32.97% slower
hash/index.ts[4] hash with packed representation 98.35 ±0.08% fastest ✅
hash/index.ts[5] hash with bigint representation 73.54 ±0.69% 25.23% slower
hash/index.ts[6] hash with uint32 representation 81.1 ±0.41% 17.54% slower
logger/index.ts[0] console.log with string concat 4047872.61 ±52.69% fastest ✅
logger/index.ts[1] console.log with args 1329018.85 ±85.59% 67.17% slower
math/add_one_overflow.ts[0] add and take modulus 93644578.08 ±5.41% 2.89% slower
math/add_one_overflow.ts[1] condition before calculation 96433241.33 ±5.11% fastest ✅
math/count-bits-u32.ts[0] standard method 43374149.6 ±1.86% 51.27% slower
math/count-bits-u32.ts[1] magic 89013682.92 ±5.02% fastest ✅
math/count-bits-u64.ts[0] standard method 3614360.54 ±1.15% 89.5% slower
math/count-bits-u64.ts[1] magic 34424401.23 ±1.62% fastest ✅
collections/map-set.ts[0] 2 gets + conditional set 86345.06 ±0.15% fastest ✅
collections/map-set.ts[1] 1 get 1 set 49086.64 ±0.07% 43.15% slower
codec/bigint.decode.ts[0] decode custom 68870980.76 ±3.57% fastest ✅
codec/bigint.decode.ts[1] decode bigint 36746745.21 ±1.42% 46.64% slower
codec/bigint.compare.ts[0] compare custom 99329807.63 ±3.79% 1.26% slower
codec/bigint.compare.ts[1] compare bigint 100594993.81 ±4.02% fastest ✅
bytes/hex-to.ts[0] number toString + padding 80669.39 ±0.5% fastest ✅
bytes/hex-to.ts[1] manual 6656.88 ±0.41% 91.75% slower
math/mul_overflow.ts[0] multiply and bring back to u32 97567896.57 ±5.3% fastest ✅
math/mul_overflow.ts[1] multiply and take modulus 94209292.54 ±4.55% 3.44% slower
math/switch.ts[0] switch 90304967.86 ±5.84% 6% slower
math/switch.ts[1] if 96064598.15 ±4.66% fastest ✅
codec/decoding.ts[0] manual decode 6991312.72 ±0.91% 89.74% slower
codec/decoding.ts[1] int32array decode 68109323.59 ±2.62% fastest ✅
codec/decoding.ts[2] dataview decode 67361955.35 ±3.23% 1.1% slower
codec/encoding.ts[0] manual encode 954988.15 ±0.73% 15.22% slower
codec/encoding.ts[1] int32array encode 1126379.58 ±0.35% fastest ✅
codec/encoding.ts[2] dataview encode 1118668.62 ±0.44% 0.68% slower
codec/view_vs_object.ts[0] Get the first field from Decoded 73209.9 ±117.01% 60.27% slower
codec/view_vs_object.ts[1] Get the first field from View 42799.58 ±4.03% 76.78% slower
codec/view_vs_object.ts[2] Get the first field as view from View 44794.8 ±0.66% 75.69% slower
codec/view_vs_object.ts[3] Get two fields from Decoded 184286.9 ±0.61% fastest ✅
codec/view_vs_object.ts[4] Get two fields from View 36068.56 ±0.58% 80.43% slower
codec/view_vs_object.ts[5] Get two fields from materialized from View 73554.45 ±0.58% 60.09% slower
codec/view_vs_object.ts[6] Get two fields as views from View 35912.76 ±0.55% 80.51% slower
codec/view_vs_object.ts[7] Get only third field from Decoded 183984.9 ±0.66% 0.16% slower
codec/view_vs_object.ts[8] Get only third field from View 43596.72 ±0.67% 76.34% slower
codec/view_vs_object.ts[9] Get only third field as view from View 43630.6 ±0.67% 76.32% slower
codec/view_vs_collection.ts[0] Get first element from Decoded 12152.19 ±0.86% 55.34% slower
codec/view_vs_collection.ts[1] Get first element from View 27208.47 ±0.63% fastest ✅
codec/view_vs_collection.ts[2] Get 50th element from Decoded 12410.64 ±0.43% 54.39% slower
codec/view_vs_collection.ts[3] Get 50th element from View 14367.09 ±0.6% 47.2% slower
codec/view_vs_collection.ts[4] Get last element from Decoded 12430.09 ±0.53% 54.32% slower
codec/view_vs_collection.ts[5] Get last element from View 9880.11 ±0.3% 63.69% slower
collections/hash-dict-vs-blob-dict_get.ts[0] StringHashDictionary 1532.75 ±0.46% 0.53% slower
collections/hash-dict-vs-blob-dict_get.ts[1] BlobDictionary(1) 1533.42 ±0.45% 0.49% slower
collections/hash-dict-vs-blob-dict_get.ts[2] BlobDictionary(2) 1540.98 ±0.54% fastest ✅
collections/hash-dict-vs-blob-dict_get.ts[3] BlobDictionary(3) 1485.14 ±0.74% 3.62% slower
collections/hash-dict-vs-blob-dict_get.ts[4] BlobDictionary(4) 1459.86 ±0.63% 5.26% slower
collections/hash-dict-vs-blob-dict_get.ts[5] BlobDictionary(5) 1516.65 ±0.76% 1.58% slower
collections/hash-dict-vs-blob-dict_delete.ts[0] StringHashDictionary 2098.65 ±0.57% 0.37% slower
collections/hash-dict-vs-blob-dict_delete.ts[1] BlobDictionary(1) 2105.24 ±0.5% 0.06% slower
collections/hash-dict-vs-blob-dict_delete.ts[2] BlobDictionary(2) 2104.03 ±0.52% 0.12% slower
collections/hash-dict-vs-blob-dict_delete.ts[3] BlobDictionary(3) 2106.01 ±0.47% 0.02% slower
collections/hash-dict-vs-blob-dict_delete.ts[4] BlobDictionary(4) 2106.48 ±0.52% fastest ✅
collections/hash-dict-vs-blob-dict_delete.ts[5] BlobDictionary(5) 2096.26 ±0.69% 0.49% slower
collections/hash-dict-vs-blob-dict_set.ts[0] StringHashDictionary 1605.5 ±0.61% 0.36% slower
collections/hash-dict-vs-blob-dict_set.ts[1] BlobDictionary(1) 1591.35 ±0.6% 1.24% slower
collections/hash-dict-vs-blob-dict_set.ts[2] BlobDictionary(2) 1601.52 ±0.3% 0.61% slower
collections/hash-dict-vs-blob-dict_set.ts[3] BlobDictionary(3) 1611.3 ±0.43% fastest ✅
collections/hash-dict-vs-blob-dict_set.ts[4] BlobDictionary(4) 1606.53 ±0.59% 0.3% slower
collections/hash-dict-vs-blob-dict_set.ts[5] BlobDictionary(5) 1605.25 ±0.35% 0.38% slower
collections/map_vs_sorted.ts[0] Map 130515.24 ±0.11% fastest ✅
collections/map_vs_sorted.ts[1] Map-array 46426.66 ±0.08% 64.43% slower
collections/map_vs_sorted.ts[2] Array 25442.83 ±3.84% 80.51% slower
collections/map_vs_sorted.ts[3] SortedArray 82989.71 ±0.12% 36.41% slower
bytes/bytes-to-number.ts[0] Conversion with bitops 3510.85 ±6.35% 4.65% slower
bytes/bytes-to-number.ts[1] Conversion without bitops 3682.17 ±5.67% fastest ✅
bytes/compare.ts[0] Comparing Uint32 bytes 9901.84 ±0.25% 1.88% slower
bytes/compare.ts[1] Comparing raw bytes 10091.43 ±0.91% fastest ✅
hash/blake2b.ts[0] our hasher 1.13 ±0.73% fastest ✅
hash/blake2b.ts[1] blake2b js 0.03 ±0.02% 97.35% slower
crypto/ed25519.ts[0] native crypto 3.53 ±20.3% fastest ✅
crypto/ed25519.ts[1] wasm lib 1.69 ±0.62% 52.12% slower
crypto/ed25519.ts[2] wasm lib batch 1.7 ±0.21% 51.84% slower

Benchmarks summary: 83/83 OK ✅

@DrEverr DrEverr added this pull request to the merge queue Dec 27, 2025
Merged via the queue into main with commit 584584e Dec 27, 2025
17 checks passed
@DrEverr DrEverr deleted the ms-update-links-in-reports branch December 27, 2025 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants