sonar.projectKey=storytold_craft-libs sonar.organization=storytold # Sources and tests both start at the root, as in lightcraft: sonar.tests alone stops the scanner # defaulting sources to the repository, which left every analysis with only 3 test files indexed. # Test files are the ones the coverage job leaves out of lcov (tests/ directories, tests.rs and # *_tests.rs), which includes the browser fault-injection fixtures in crates/platform/tests. sonar.sources=. sonar.tests=. sonar.test.inclusions=**/tests/**,**/tests.rs,**/*_tests.rs # Codec constant tables are transcribed from the format specifications; their repeated rows are # data, not copy-pasted logic. sonar.cpd.exclusions=**/*tables.rs # S4790 (weak hash): the ICC specification defines the profile ID as the MD5 of the profile, so # no other algorithm produces an ID other software accepts. It identifies, it does not protect. sonar.issue.ignore.multicriteria=icc_profile_id sonar.issue.ignore.multicriteria.icc_profile_id.ruleKey=rust:S4790 sonar.issue.ignore.multicriteria.icc_profile_id.resourceKey=crates/cms/src/write.rs