Skip to content

feat: add test 6.3.16 for CSAF 2.1 - #837

Draft
peinjoh wants to merge 2 commits into
feat/add-test-6-3-8from
feat/add-test-6-3-16
Draft

peinjoh wants to merge 2 commits into
feat/add-test-6-3-8from
feat/add-test-6-3-16

Conversation

@peinjoh

@peinjoh peinjoh commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

This PR:

  • "integrates" / configures the harper-core integration to also do grammar checking
  • for grammar checking, we ignore all lints covered by spellchecking (Spelling & Typos) and all purely stylistic lints
  • adds test cases text_check module for grammar issues and the grammar / spellchecking distinction
  • adds test 6.3.16 for CSAF 2.1

Resolves #284

@peinjoh
peinjoh requested a review from a team as a code owner August 20, 2026 07:19
@peinjoh
peinjoh requested a balanced review from Copilot August 20, 2026 07:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds CSAF 2.1 grammar validation using Harper while separating grammar findings from spelling and stylistic lint categories.

Changes:

  • Adds and registers informative test 6.3.16.
  • Configures Harper grammar filtering and tests.
  • Documents CSAF 2.1 support.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
README.md Documents test 6.3.16 support.
csaf-rs/src/validations/utils/text_check/mod.rs Enables and tests grammar checks.
csaf-rs/src/validations/utils/text_check/harper.rs Filters Harper lint categories.
csaf-rs/src/validations/test_6_3_16.rs Implements grammar validation.
csaf-rs/src/validations/mod.rs Exports the new validator.
csaf-rs/src/csaf2_1/validation.rs Activates test 6.3.16.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

TextCheckKind::Grammar => lint_kind.is_grammar(),
// Harper does not exclusively classify grammar issues under `LintKind::Grammar`.
// Missing words ("must followed" -> "must be followed") are reported as
// `Miscellaneous`. We ignore spelling and typos, and lints that are purely stilistic.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ironic 👀 Should have asked harper to spellcheck the PR

Comment on lines +69 to +71
|| lint_kind.is_nonstandard()
|| lint_kind.is_enhancement()
|| lint_kind.is_agreement())

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Will re-check the docs and fix

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

CSAF Validation Benchmark

Details
Benchmark suite Current: 4fe8a83 Previous: 7e3147c Ratio
csaf_2_0_tests/6.1.1 98472 ns/iter (± 145) 124664 ns/iter (± 202) 0.79
csaf_2_0_tests/6.1.2 40477 ns/iter (± 54) 51047 ns/iter (± 146) 0.79
csaf_2_0_tests/6.1.3 10180 ns/iter (± 8) 13341 ns/iter (± 17) 0.76
csaf_2_0_tests/6.1.4 21402 ns/iter (± 11) 28174 ns/iter (± 136) 0.76
csaf_2_0_tests/6.1.5 11802 ns/iter (± 20) 14206 ns/iter (± 79) 0.83
csaf_2_0_tests/6.1.6 32845 ns/iter (± 203) 39614 ns/iter (± 98) 0.83
csaf_2_0_tests/6.1.7 26558 ns/iter (± 47) 33884 ns/iter (± 51) 0.78
csaf_2_0_tests/6.1.8 68429 ns/iter (± 75) 87724 ns/iter (± 2254) 0.78
csaf_2_0_tests/6.1.9 52246 ns/iter (± 175) 69143 ns/iter (± 716) 0.76
csaf_2_0_tests/6.1.10 120834 ns/iter (± 2321) 153698 ns/iter (± 271) 0.79
csaf_2_0_tests/6.1.11 11636 ns/iter (± 28) 14413 ns/iter (± 23) 0.81
csaf_2_0_tests/6.1.12 25645 ns/iter (± 40) 29421 ns/iter (± 25) 0.87
csaf_2_0_tests/6.1.13 28123 ns/iter (± 1006) 33077 ns/iter (± 31) 0.85
csaf_2_0_tests/6.1.15 10350 ns/iter (± 106) 12738 ns/iter (± 612) 0.81
csaf_2_0_tests/6.1.16 39799 ns/iter (± 201) 49753 ns/iter (± 130) 0.80
csaf_2_0_tests/6.1.17 11180 ns/iter (± 51) 13853 ns/iter (± 84) 0.81
csaf_2_0_tests/6.1.18 12824 ns/iter (± 87) 16431 ns/iter (± 74) 0.78
csaf_2_0_tests/6.1.19 12457 ns/iter (± 20) 16126 ns/iter (± 239) 0.77
csaf_2_0_tests/6.1.20 10856 ns/iter (± 31) 13690 ns/iter (± 24) 0.79
csaf_2_0_tests/6.1.21 43761 ns/iter (± 267) 54866 ns/iter (± 63) 0.80
csaf_2_0_tests/6.1.22 56705 ns/iter (± 1646) 66072 ns/iter (± 333) 0.86
csaf_2_0_tests/6.1.23 13585 ns/iter (± 28) 16235 ns/iter (± 81) 0.84
csaf_2_0_tests/6.1.24 12816 ns/iter (± 12) 15685 ns/iter (± 46) 0.82
csaf_2_0_tests/6.1.25 30414 ns/iter (± 64) 36126 ns/iter (± 57) 0.84
csaf_2_0_tests/6.1.26 16834 ns/iter (± 31) 20583 ns/iter (± 33) 0.82
csaf_2_0_tests/6.1.27.1 11241 ns/iter (± 18) 14335 ns/iter (± 67) 0.78
csaf_2_0_tests/6.1.27.2 11307 ns/iter (± 11) 14363 ns/iter (± 15) 0.79
csaf_2_0_tests/6.1.27.3 10959 ns/iter (± 416) 14129 ns/iter (± 56) 0.78
csaf_2_0_tests/6.1.27.4 11327 ns/iter (± 42) 14257 ns/iter (± 95) 0.79
csaf_2_0_tests/6.1.27.5 11947 ns/iter (± 271) 14678 ns/iter (± 14) 0.81
csaf_2_0_tests/6.1.27.6 11437 ns/iter (± 15) 14625 ns/iter (± 498) 0.78
csaf_2_0_tests/6.1.27.7 10279 ns/iter (± 33) 13609 ns/iter (± 17) 0.76
csaf_2_0_tests/6.1.27.8 10484 ns/iter (± 246) 13456 ns/iter (± 99) 0.78
csaf_2_0_tests/6.1.27.9 21246 ns/iter (± 114) 27149 ns/iter (± 70) 0.78
csaf_2_0_tests/6.1.27.10 11385 ns/iter (± 22) 14585 ns/iter (± 115) 0.78
csaf_2_0_tests/6.1.27.11 10114 ns/iter (± 67) 14033 ns/iter (± 11) 0.72
csaf_2_0_tests/6.1.28 20016 ns/iter (± 17) 24144 ns/iter (± 30) 0.83
csaf_2_0_tests/6.1.29 10100 ns/iter (± 25) 12758 ns/iter (± 15) 0.79
csaf_2_0_tests/6.1.30 35024 ns/iter (± 53) 44749 ns/iter (± 56) 0.78
csaf_2_0_tests/6.1.31 27331 ns/iter (± 36) 34834 ns/iter (± 69) 0.78
csaf_2_0_tests/6.1.32 10392 ns/iter (± 76) 13161 ns/iter (± 20) 0.79
csaf_2_0_tests/6.1.33 15688 ns/iter (± 48) 20084 ns/iter (± 147) 0.78
csaf_2_0_tests/6.2.1 125381 ns/iter (± 304) 148891 ns/iter (± 172) 0.84
csaf_2_0_tests/6.2.2 15099 ns/iter (± 25) 18772 ns/iter (± 106) 0.80
csaf_2_0_tests/6.2.3 14286 ns/iter (± 34) 17140 ns/iter (± 459) 0.83
csaf_2_0_tests/6.2.4 13256 ns/iter (± 417) 16174 ns/iter (± 93) 0.82
csaf_2_0_tests/6.2.5 44549 ns/iter (± 304) 56008 ns/iter (± 74) 0.80
csaf_2_0_tests/6.2.6 44718 ns/iter (± 56) 56673 ns/iter (± 133) 0.79
csaf_2_0_tests/6.2.7 10718 ns/iter (± 72) 13572 ns/iter (± 115) 0.79
csaf_2_0_tests/6.2.8 30231 ns/iter (± 555) 34087 ns/iter (± 44) 0.89
csaf_2_0_tests/6.2.9 30600 ns/iter (± 405) 34040 ns/iter (± 118) 0.90
csaf_2_0_tests/6.2.10 37793 ns/iter (± 852) 42507 ns/iter (± 113) 0.89
csaf_2_0_tests/6.2.11 141900 ns/iter (± 2292) 169306 ns/iter (± 477) 0.84
csaf_2_0_tests/6.2.12 41282 ns/iter (± 36) 44602 ns/iter (± 50) 0.93
csaf_2_0_tests/6.2.13 664186 ns/iter (± 4451) 852144 ns/iter (± 5294) 0.78
csaf_2_0_tests/6.2.14 35247 ns/iter (± 43) 40360 ns/iter (± 51) 0.87
csaf_2_0_tests/6.2.15 26659 ns/iter (± 39) 31045 ns/iter (± 55) 0.86
csaf_2_0_tests/6.2.16 43660 ns/iter (± 608) 50397 ns/iter (± 117) 0.87
csaf_2_0_tests/6.2.17 10759 ns/iter (± 41) 13528 ns/iter (± 15) 0.80
csaf_2_0_tests/6.2.18 19196 ns/iter (± 30) 24369 ns/iter (± 33) 0.79
csaf_2_0_tests/6.2.19 9888 ns/iter (± 52) 12515 ns/iter (± 27) 0.79
csaf_2_0_tests/6.2.20 1256687 ns/iter (± 1221) 1703706 ns/iter (± 11636) 0.74
csaf_2_0_tests/6.3.1 28329 ns/iter (± 109) 35307 ns/iter (± 270) 0.80
csaf_2_0_tests/6.3.2 15692 ns/iter (± 87) 19901 ns/iter (± 27) 0.79
csaf_2_0_tests/6.3.3 22433 ns/iter (± 819) 24729 ns/iter (± 59) 0.91
csaf_2_0_tests/6.3.4 30265 ns/iter (± 1102) 32814 ns/iter (± 191) 0.92
csaf_2_0_tests/6.3.5 30061 ns/iter (± 248) 35778 ns/iter (± 131) 0.84
csaf_2_0_tests/6.3.6 9279 ns/iter (± 11) 12287 ns/iter (± 21) 0.76
csaf_2_0_tests/6.3.7 9380 ns/iter (± 12) 12205 ns/iter (± 32) 0.77
csaf_2_0_tests/6.3.8 348508300 ns/iter (± 2816478) 12207 ns/iter (± 16) 28549.87
csaf_2_0_tests/6.3.9 23361 ns/iter (± 489) 28922 ns/iter (± 56) 0.81
csaf_2_0_tests/6.3.10 19111 ns/iter (± 39) 24551 ns/iter (± 283) 0.78
csaf_2_0_tests/6.3.11 19808 ns/iter (± 29) 25403 ns/iter (± 35) 0.78
csaf_2_1_tests/6.1.1 532644 ns/iter (± 2206) 693981 ns/iter (± 2785) 0.77
csaf_2_1_tests/6.1.2 203351 ns/iter (± 1419) 249190 ns/iter (± 399) 0.82
csaf_2_1_tests/6.1.3 57349 ns/iter (± 127) 76379 ns/iter (± 77) 0.75
csaf_2_1_tests/6.1.4 105712 ns/iter (± 132) 137078 ns/iter (± 1202) 0.77
csaf_2_1_tests/6.1.5 42354 ns/iter (± 80) 52554 ns/iter (± 38) 0.81
csaf_2_1_tests/6.1.6 101169 ns/iter (± 86) 124592 ns/iter (± 181) 0.81
csaf_2_1_tests/6.1.7 34878 ns/iter (± 37) 44283 ns/iter (± 64) 0.79
csaf_2_1_tests/6.1.8 34908 ns/iter (± 658) 43678 ns/iter (± 109) 0.80
csaf_2_1_tests/6.1.9 403431 ns/iter (± 5705) 506680 ns/iter (± 1002) 0.80
csaf_2_1_tests/6.1.10 650964 ns/iter (± 1812) 821967 ns/iter (± 1910) 0.79
csaf_2_1_tests/6.1.11 34404 ns/iter (± 221) 43705 ns/iter (± 92) 0.79
csaf_2_1_tests/6.1.12 73171 ns/iter (± 98) 87989 ns/iter (± 75) 0.83
csaf_2_1_tests/6.1.13 158626 ns/iter (± 1563) 202957 ns/iter (± 356) 0.78
csaf_2_1_tests/6.1.15 36852 ns/iter (± 3753) 47599 ns/iter (± 41) 0.77
csaf_2_1_tests/6.1.16 124313 ns/iter (± 333) 162812 ns/iter (± 305) 0.76
csaf_2_1_tests/6.1.17 41969 ns/iter (± 78) 53129 ns/iter (± 215) 0.79
csaf_2_1_tests/6.1.18 45245 ns/iter (± 152) 58447 ns/iter (± 2635) 0.77
csaf_2_1_tests/6.1.19 44213 ns/iter (± 273) 58603 ns/iter (± 167) 0.75
csaf_2_1_tests/6.1.20 40895 ns/iter (± 113) 52166 ns/iter (± 92) 0.78
csaf_2_1_tests/6.1.21 139443 ns/iter (± 106) 177853 ns/iter (± 1154) 0.78
csaf_2_1_tests/6.1.22 190847 ns/iter (± 3443) 202529 ns/iter (± 1005) 0.94
csaf_2_1_tests/6.1.23 45946 ns/iter (± 326) 58322 ns/iter (± 323) 0.79
csaf_2_1_tests/6.1.24 44000 ns/iter (± 33) 55194 ns/iter (± 116) 0.80
csaf_2_1_tests/6.1.25 140156 ns/iter (± 2238) 177458 ns/iter (± 3545) 0.79
csaf_2_1_tests/6.1.26 61239 ns/iter (± 228) 78320 ns/iter (± 244) 0.78
csaf_2_1_tests/6.1.27.1 41549 ns/iter (± 78) 52892 ns/iter (± 187) 0.79
csaf_2_1_tests/6.1.27.2 41081 ns/iter (± 1545) 52977 ns/iter (± 90) 0.78
csaf_2_1_tests/6.1.27.3 42088 ns/iter (± 276) 54311 ns/iter (± 60) 0.77
csaf_2_1_tests/6.1.27.4 41904 ns/iter (± 47) 54137 ns/iter (± 247) 0.77
csaf_2_1_tests/6.1.27.5 43921 ns/iter (± 102) 54810 ns/iter (± 80) 0.80
csaf_2_1_tests/6.1.27.6 41955 ns/iter (± 199) 54788 ns/iter (± 46) 0.77
csaf_2_1_tests/6.1.27.7 39825 ns/iter (± 42) 50991 ns/iter (± 77) 0.78
csaf_2_1_tests/6.1.27.8 39485 ns/iter (± 123) 50670 ns/iter (± 47) 0.78
csaf_2_1_tests/6.1.27.9 57312 ns/iter (± 91) 73342 ns/iter (± 2998) 0.78
csaf_2_1_tests/6.1.27.10 40747 ns/iter (± 36) 52175 ns/iter (± 56) 0.78
csaf_2_1_tests/6.1.27.11 39528 ns/iter (± 49) 54769 ns/iter (± 333) 0.72
csaf_2_1_tests/6.1.27.12 42169 ns/iter (± 65) 54024 ns/iter (± 318) 0.78
csaf_2_1_tests/6.1.27.13 33909 ns/iter (± 24) 43681 ns/iter (± 33) 0.78
csaf_2_1_tests/6.1.27.14 42313 ns/iter (± 904) 54420 ns/iter (± 247) 0.78
csaf_2_1_tests/6.1.27.15 41404 ns/iter (± 26) 53940 ns/iter (± 60) 0.77
csaf_2_1_tests/6.1.27.16 40981 ns/iter (± 83) 54211 ns/iter (± 69) 0.76
csaf_2_1_tests/6.1.27.17 44535 ns/iter (± 109) 58306 ns/iter (± 129) 0.76
csaf_2_1_tests/6.1.27.18 47677 ns/iter (± 201) 60972 ns/iter (± 1914) 0.78
csaf_2_1_tests/6.1.27.19 46488 ns/iter (± 82) 58525 ns/iter (± 149) 0.79
csaf_2_1_tests/6.1.28 60726 ns/iter (± 78) 74132 ns/iter (± 2021) 0.82
csaf_2_1_tests/6.1.29 39375 ns/iter (± 32) 50883 ns/iter (± 193) 0.77
csaf_2_1_tests/6.1.30 121313 ns/iter (± 511) 153442 ns/iter (± 643) 0.79
csaf_2_1_tests/6.1.31 136665 ns/iter (± 740) 171532 ns/iter (± 563) 0.80
csaf_2_1_tests/6.1.32 39026 ns/iter (± 402) 50838 ns/iter (± 49) 0.77
csaf_2_1_tests/6.1.33 35282 ns/iter (± 106) 46104 ns/iter (± 56) 0.77
csaf_2_1_tests/6.1.34 46402 ns/iter (± 77) 60274 ns/iter (± 253) 0.77
csaf_2_1_tests/6.1.35 63132 ns/iter (± 221) 81217 ns/iter (± 217) 0.78
csaf_2_1_tests/6.1.36 36538 ns/iter (± 221) 47090 ns/iter (± 112) 0.78
csaf_2_1_tests/6.1.37 36754 ns/iter (± 139) 47334 ns/iter (± 63) 0.78
csaf_2_1_tests/6.1.38 39002 ns/iter (± 98) 50373 ns/iter (± 32) 0.77
csaf_2_1_tests/6.1.39 39179 ns/iter (± 245) 50075 ns/iter (± 289) 0.78
csaf_2_1_tests/6.1.40 39020 ns/iter (± 62) 49872 ns/iter (± 91) 0.78
csaf_2_1_tests/6.1.41 39459 ns/iter (± 208) 50671 ns/iter (± 102) 0.78
csaf_2_1_tests/6.1.42 164032 ns/iter (± 1152) 210490 ns/iter (± 481) 0.78
csaf_2_1_tests/6.1.43 138202 ns/iter (± 197) 172598 ns/iter (± 402) 0.80
csaf_2_1_tests/6.1.44 138695 ns/iter (± 346) 176064 ns/iter (± 636) 0.79
csaf_2_1_tests/6.1.45 132876 ns/iter (± 346) 171801 ns/iter (± 398) 0.77
csaf_2_1_tests/6.1.46 208762 ns/iter (± 309) 276712 ns/iter (± 774) 0.75
csaf_2_1_tests/6.1.47 312675 ns/iter (± 685) 420864 ns/iter (± 1255) 0.74
csaf_2_1_tests/6.1.48 38371 ns/iter (± 39) 48524 ns/iter (± 43) 0.79
csaf_2_1_tests/6.1.49 38575 ns/iter (± 89) 48943 ns/iter (± 174) 0.79
csaf_2_1_tests/6.1.50 38776 ns/iter (± 91) 49073 ns/iter (± 96) 0.79
csaf_2_1_tests/6.1.51 135062 ns/iter (± 251) 176351 ns/iter (± 940) 0.77
csaf_2_1_tests/6.1.52 144251 ns/iter (± 1500) 181270 ns/iter (± 725) 0.80
csaf_2_1_tests/6.1.53 45724 ns/iter (± 87) 56954 ns/iter (± 127) 0.80
csaf_2_1_tests/6.1.54 52468 ns/iter (± 89) 65807 ns/iter (± 303) 0.80
csaf_2_1_tests/6.1.55 53698 ns/iter (± 2474) 67301 ns/iter (± 128) 0.80
csaf_2_1_tests/6.1.56 76553 ns/iter (± 2256) 97767 ns/iter (± 207) 0.78
csaf_2_1_tests/6.1.57 111234 ns/iter (± 855) 138803 ns/iter (± 1224) 0.80
csaf_2_1_tests/6.1.58 71410 ns/iter (± 450) 91079 ns/iter (± 238) 0.78
csaf_2_1_tests/6.1.59 40662 ns/iter (± 66) 51378 ns/iter (± 2971) 0.79
csaf_2_1_tests/6.1.60.1 33896 ns/iter (± 40) 43987 ns/iter (± 48) 0.77
csaf_2_1_tests/6.1.60.2 33938 ns/iter (± 238) 44938 ns/iter (± 32) 0.76
csaf_2_1_tests/6.1.60.3 34459 ns/iter (± 217) 44244 ns/iter (± 26) 0.78
csaf_2_1_tests/6.1.61 139708 ns/iter (± 1064) 182819 ns/iter (± 1373) 0.76
csaf_2_1_tests/6.2.1 586310 ns/iter (± 1042) 733152 ns/iter (± 1647) 0.80
csaf_2_1_tests/6.2.2 58429 ns/iter (± 364) 74334 ns/iter (± 66) 0.79
csaf_2_1_tests/6.2.3 54674 ns/iter (± 200) 70427 ns/iter (± 84) 0.78
csaf_2_1_tests/6.2.4 45255 ns/iter (± 88) 57795 ns/iter (± 118) 0.78
csaf_2_1_tests/6.2.5 149510 ns/iter (± 429) 189073 ns/iter (± 1589) 0.79
csaf_2_1_tests/6.2.6 153222 ns/iter (± 350) 195257 ns/iter (± 242) 0.78
csaf_2_1_tests/6.2.7 40222 ns/iter (± 174) 50803 ns/iter (± 48) 0.79
csaf_2_1_tests/6.2.8 134487 ns/iter (± 930) 173652 ns/iter (± 720) 0.77
csaf_2_1_tests/6.2.9 136127 ns/iter (± 193) 175018 ns/iter (± 962) 0.78
csaf_2_1_tests/6.2.11 497296 ns/iter (± 6962) 643677 ns/iter (± 2317) 0.77
csaf_2_1_tests/6.2.12 142130 ns/iter (± 2981) 180169 ns/iter (± 4101) 0.79
csaf_2_1_tests/6.2.13 2999439 ns/iter (± 15978) 3800739 ns/iter (± 26726) 0.79
csaf_2_1_tests/6.2.14 96893 ns/iter (± 118) 115982 ns/iter (± 83) 0.84
csaf_2_1_tests/6.2.15 80959 ns/iter (± 90) 95853 ns/iter (± 225) 0.84
csaf_2_1_tests/6.2.16 206928 ns/iter (± 186) 255943 ns/iter (± 2081) 0.81
csaf_2_1_tests/6.2.17 45716 ns/iter (± 51) 58170 ns/iter (± 88) 0.79
csaf_2_1_tests/6.2.18 112136 ns/iter (± 302) 146006 ns/iter (± 468) 0.77
csaf_2_1_tests/6.2.19 42663 ns/iter (± 52) 53993 ns/iter (± 297) 0.79
csaf_2_1_tests/6.2.20 6664262 ns/iter (± 11347) 9202975 ns/iter (± 79515) 0.72
csaf_2_1_tests/6.2.21 288731 ns/iter (± 2090) 363826 ns/iter (± 662) 0.79
csaf_2_1_tests/6.2.22 121257 ns/iter (± 190) 155725 ns/iter (± 218) 0.78
csaf_2_1_tests/6.2.23 56769 ns/iter (± 89) 72446 ns/iter (± 359) 0.78
csaf_2_1_tests/6.2.24 179758 ns/iter (± 5583) 233868 ns/iter (± 431) 0.77
csaf_2_1_tests/6.2.25 58292 ns/iter (± 311) 74193 ns/iter (± 127) 0.79
csaf_2_1_tests/6.2.26 57604 ns/iter (± 106) 73680 ns/iter (± 131) 0.78
csaf_2_1_tests/6.2.27 44201 ns/iter (± 76) 55931 ns/iter (± 55) 0.79
csaf_2_1_tests/6.2.28 46922 ns/iter (± 65) 59789 ns/iter (± 192) 0.78
csaf_2_1_tests/6.2.29 46682 ns/iter (± 76) 59306 ns/iter (± 1437) 0.79
csaf_2_1_tests/6.2.30 49659 ns/iter (± 104) 60229 ns/iter (± 1214) 0.82
csaf_2_1_tests/6.2.31 161402 ns/iter (± 537) 205276 ns/iter (± 5057) 0.79
csaf_2_1_tests/6.2.32 245352 ns/iter (± 973) 315502 ns/iter (± 2240) 0.78
csaf_2_1_tests/6.2.33 180840 ns/iter (± 456) 225750 ns/iter (± 359) 0.80
csaf_2_1_tests/6.2.34 45617 ns/iter (± 93) 57713 ns/iter (± 112) 0.79
csaf_2_1_tests/6.2.35 45893 ns/iter (± 304) 57983 ns/iter (± 91) 0.79
csaf_2_1_tests/6.2.36 45969 ns/iter (± 69) 61070 ns/iter (± 195) 0.75
csaf_2_1_tests/6.2.37 46167 ns/iter (± 307) 58506 ns/iter (± 228) 0.79
csaf_2_1_tests/6.2.38 70312 ns/iter (± 127) 88367 ns/iter (± 4542) 0.80
csaf_2_1_tests/6.2.39.1 34612 ns/iter (± 52) 44963 ns/iter (± 1901) 0.77
csaf_2_1_tests/6.2.39.2 34625 ns/iter (± 77) 44611 ns/iter (± 43) 0.78
csaf_2_1_tests/6.2.39.3 35360 ns/iter (± 53) 44583 ns/iter (± 242) 0.79
csaf_2_1_tests/6.2.39.4 34839 ns/iter (± 23) 45153 ns/iter (± 117) 0.77
csaf_2_1_tests/6.2.39.5 35569 ns/iter (± 59) 45578 ns/iter (± 1720) 0.78
csaf_2_1_tests/6.2.40 46570 ns/iter (± 83) 59139 ns/iter (± 1135) 0.79
csaf_2_1_tests/6.2.41 147570 ns/iter (± 6077) 190511 ns/iter (± 398) 0.77
csaf_2_1_tests/6.2.42 49417 ns/iter (± 40) 59577 ns/iter (± 99) 0.83
csaf_2_1_tests/6.2.43 47162 ns/iter (± 34) 59816 ns/iter (± 54) 0.79
csaf_2_1_tests/6.2.44 47887 ns/iter (± 53) 60224 ns/iter (± 8937) 0.80
csaf_2_1_tests/6.2.45 48470 ns/iter (± 44) 60436 ns/iter (± 137) 0.80
csaf_2_1_tests/6.2.46 48257 ns/iter (± 48) 60627 ns/iter (± 58) 0.80
csaf_2_1_tests/6.2.47 240448 ns/iter (± 903) 311806 ns/iter (± 953) 0.77
csaf_2_1_tests/6.2.48 122812 ns/iter (± 773) 155420 ns/iter (± 388) 0.79
csaf_2_1_tests/6.2.49 48664 ns/iter (± 122) 61404 ns/iter (± 70) 0.79
csaf_2_1_tests/6.2.50.1 35345 ns/iter (± 53) 44581 ns/iter (± 193) 0.79
csaf_2_1_tests/6.2.50.2 34882 ns/iter (± 272) 45527 ns/iter (± 44) 0.77
csaf_2_1_tests/6.2.50.3 35096 ns/iter (± 30) 44868 ns/iter (± 50) 0.78
csaf_2_1_tests/6.2.51 48965 ns/iter (± 445) 61676 ns/iter (± 79) 0.79
csaf_2_1_tests/6.2.52 147877 ns/iter (± 380) 188822 ns/iter (± 344) 0.78
csaf_2_1_tests/6.2.53 56495 ns/iter (± 52) 68624 ns/iter (± 100) 0.82
csaf_2_1_tests/6.2.54.1 35115 ns/iter (± 41) 45481 ns/iter (± 31) 0.77
csaf_2_1_tests/6.2.54.2 35070 ns/iter (± 536) 44855 ns/iter (± 204) 0.78
csaf_2_1_tests/6.2.54.3 35089 ns/iter (± 49) 44881 ns/iter (± 231) 0.78
csaf_2_1_tests/6.2.54.4 35068 ns/iter (± 116) 45509 ns/iter (± 91) 0.77
csaf_2_1_tests/6.3.1 35472 ns/iter (± 1098) 44872 ns/iter (± 47) 0.79
csaf_2_1_tests/6.3.2 57850 ns/iter (± 308) 73126 ns/iter (± 90) 0.79
csaf_2_1_tests/6.3.3 35537 ns/iter (± 118) 45168 ns/iter (± 35) 0.79
csaf_2_1_tests/6.3.4 36025 ns/iter (± 272) 45221 ns/iter (± 252) 0.80
csaf_2_1_tests/6.3.5 35102 ns/iter (± 183) 45573 ns/iter (± 298) 0.77
csaf_2_1_tests/6.3.6 36280 ns/iter (± 48) 45506 ns/iter (± 85) 0.80
csaf_2_1_tests/6.3.7 36289 ns/iter (± 40) 46143 ns/iter (± 61) 0.79
csaf_2_1_tests/6.3.8 882670442 ns/iter (± 9099482) 45154 ns/iter (± 75) 19548.00
csaf_2_1_tests/6.3.9 140078 ns/iter (± 2544) 169489 ns/iter (± 350) 0.83
csaf_2_1_tests/6.3.10 49291 ns/iter (± 52) 62501 ns/iter (± 287) 0.79
csaf_2_1_tests/6.3.11 49460 ns/iter (± 61) 66225 ns/iter (± 87) 0.75
csaf_2_1_tests/6.3.12 173855 ns/iter (± 1721) 219672 ns/iter (± 489) 0.79
csaf_2_1_tests/6.3.13 49901 ns/iter (± 48) 63197 ns/iter (± 80) 0.79
csaf_2_1_tests/6.3.14 50214 ns/iter (± 53) 63544 ns/iter (± 3629) 0.79
csaf_2_1_tests/6.3.15 50209 ns/iter (± 40) 64000 ns/iter (± 102) 0.78
csaf_2_1_tests/6.3.16 628144158 ns/iter (± 20450150) 64124 ns/iter (± 136) 9795.77
csaf_2_1_tests/6.3.17 50744 ns/iter (± 140) 64381 ns/iter (± 186) 0.79
csaf_2_1_tests/6.3.18 59129 ns/iter (± 48) 75012 ns/iter (± 373) 0.79
csaf_2_1_tests/6.3.19.1 35078 ns/iter (± 42) 44875 ns/iter (± 73) 0.78
csaf_2_1_tests/6.3.19.2 35726 ns/iter (± 1598) 44897 ns/iter (± 1652) 0.80
csaf_2_1_tests/6.3.19.3 34246 ns/iter (± 199) 45551 ns/iter (± 71) 0.75
csaf_2_1_tests/6.3.19.4 35077 ns/iter (± 51) 44916 ns/iter (± 7977) 0.78
csaf_2_1_tests/6.3.19.5 35117 ns/iter (± 63) 45492 ns/iter (± 48) 0.77
csaf_2_1_tests/6.3.20 63560 ns/iter (± 137) 76621 ns/iter (± 214) 0.83
csaf_2_1_tests/6.3.21.1 35098 ns/iter (± 169) 45519 ns/iter (± 199) 0.77
csaf_2_1_tests/6.3.21.2 35101 ns/iter (± 41) 44874 ns/iter (± 155) 0.78
csaf_2_1_tests/6.3.21.3 35072 ns/iter (± 27) 45805 ns/iter (± 201) 0.77
csaf_2_1_tests/6.3.21.4 35122 ns/iter (± 26) 45504 ns/iter (± 52) 0.77
csaf_2_1_tests/6.3.21.5 34185 ns/iter (± 110) 44912 ns/iter (± 50) 0.76
csaf_2_1_tests/6.3.21.6 35557 ns/iter (± 28) 44883 ns/iter (± 222) 0.79
csaf_2_1_tests/6.3.21.7 35081 ns/iter (± 163) 45519 ns/iter (± 97) 0.77
csaf_2_1_tests/6.3.21.8 35079 ns/iter (± 199) 44839 ns/iter (± 49) 0.78
csaf_2_1_tests/6.3.21.9 36067 ns/iter (± 962) 44857 ns/iter (± 88) 0.80
csaf_2_1_tests/6.3.22 51335 ns/iter (± 52) 65123 ns/iter (± 2990) 0.79
full_validation/csaf_2_0_full_preset 396611156 ns/iter (± 20194987) 7469004 ns/iter (± 69142) 53.10
full_validation/csaf_2_1_full_preset 1577536316 ns/iter (± 42498255) 48823052 ns/iter (± 683338) 32.31
parse_only/csaf_2_0 935496 ns/iter (± 10817) 1183252 ns/iter (± 1673) 0.79
parse_only/csaf_2_1 4768490 ns/iter (± 18858) 5970418 ns/iter (± 18867) 0.80
typed_parse/csaf_2_0 1597111 ns/iter (± 8305) 2056167 ns/iter (± 5031) 0.78
typed_parse/csaf_2_1 7661437 ns/iter (± 93756) 9707263 ns/iter (± 18058) 0.79

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

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

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'CSAF Validation Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.50.

Benchmark suite Current: 4fe8a83 Previous: 7e3147c Ratio
csaf_2_0_tests/6.3.8 348508300 ns/iter (± 2816478) 12207 ns/iter (± 16) 28549.87
csaf_2_1_tests/6.3.8 882670442 ns/iter (± 9099482) 45154 ns/iter (± 75) 19548.00
csaf_2_1_tests/6.3.16 628144158 ns/iter (± 20450150) 64124 ns/iter (± 136) 9795.77
full_validation/csaf_2_0_full_preset 396611156 ns/iter (± 20194987) 7469004 ns/iter (± 69142) 53.10
full_validation/csaf_2_1_full_preset 1577536316 ns/iter (± 42498255) 48823052 ns/iter (± 683338) 32.31

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

@peinjoh
peinjoh marked this pull request as draft August 21, 2026 09:09
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.

Implement 6.3.16 Grammar Check for CSAF 2.1

2 participants