Skip to content

Conversation

@jasonsiders
Copy link
Owner

@jasonsiders jasonsiders commented Jul 29, 2025

Closes #56. Removes a whole bunch of deprecated methods, classes, etc. to prepare for the new package version. This is a breaking change.

Also some housekeeping:

  • (finally) Converts the project to make full use sf code-analyzer
  • Reworks @SuppressWarnings annotations to be more targeted
  • Rework the CI job to use an enhanced comment interface
  • Promoting many public methods/classes to global, to prep for Managed Package #76 (in a subsuquent PR)
  • Used Claude to auto-generate formal ApexDoc blocks - it's about time
  • Adding Claude Code Review to CI job

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 271 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 271 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 271 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 271 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 271 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 271 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 271 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 271 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 271 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 271 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 272 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 272 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Salesforce Code Analyzer found 272 violations, including 0 in files changed by this pull request. See job summary page.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

🚨 Static Analysis: Check Failed

Analyzed changed files, and found 193 potential violations. 193 meets or exceeds the set severity threshold: Info

⚫ 0 Critical severity violation(s)
🔴 0 High severity violation(s)
🟠 0 Medium severity violation(s)
🟡 193 Low severity violation(s)
⚪ 0 Info severity violation(s)
LocationRuleMessage
🟡force-app/main/default/classes/DatabaseLayerTestUtils.cls:27:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerTestUtils.cls:28:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerTestUtils.cls:29:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerUtils.cls:7:15pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerUtils.cls:9:15pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerUtils.cls:11:15pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Dml.cls:1660:20pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:15:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:18:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:24:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:30:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:36:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:42:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:48:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:54:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:60:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:157:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:158:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:159:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:160:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:161:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:162:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:163:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:164:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:200:19pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:201:19pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:203:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:214:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:219:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:225:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:231:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:235:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:240:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:246:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:589:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:629:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:636:10pmd:ApexDocMissing ApexDoc @description
🟡force-app/main/default/classes/MockDml.cls:637:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:638:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:639:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:680:10pmd:ApexDocMissing ApexDoc @description
🟡force-app/main/default/classes/MockDml.cls:680:10pmd:ApexDocMissing ApexDoc @return
🟡force-app/main/default/classes/MockDml.cls:680:10pmd:ApexDocMissing or mismatched ApexDoc @param
🟡force-app/main/default/classes/MockDmlTest.cls:1046:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDmlTest.cls:1050:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDmlTest.cls:1055:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:14:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:213:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:218:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:222:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:227:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:232:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:236:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:259:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:75:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:79:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:85:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:216:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:220:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:230:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoqlTest.cls:573:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoqlTest.cls:594:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoqlTest.cls:618:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:28:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:195:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:198:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:201:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:202:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:203:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:204:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:207:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:210:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:310:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:311:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:313:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:318:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:322:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:326:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:330:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:344:20pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:345:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:346:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:347:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:348:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:349:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:350:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:351:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:352:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:353:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:354:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:355:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:356:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:378:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:383:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:387:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:391:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:396:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:407:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:411:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:415:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:421:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:436:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:442:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:446:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:450:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:454:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:464:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:476:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:485:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:489:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:493:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:498:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:509:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:521:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:530:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:534:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:538:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:542:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:548:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:554:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:558:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:563:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:569:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:575:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:580:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:585:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:589:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:593:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:599:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:603:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:608:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:612:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:616:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:622:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:630:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:637:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:641:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:646:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:653:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:659:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:664:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:669:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:673:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:678:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:684:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:690:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:765:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:766:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:767:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:769:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:775:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:779:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:847:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:852:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:856:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:861:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:865:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:869:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:892:17pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:912:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:924:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:928:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:933:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:951:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:961:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:979:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:989:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:994:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:999:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1019:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1029:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1038:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1042:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1080:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1084:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1088:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1097:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1098:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1099:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1102:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1116:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1181:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1186:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1191:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1195:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1202:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1206:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1213:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1217:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1236:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1246:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1249:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1254:10pmd:ApexDocMissing ApexDoc comment

@claude
Copy link
Contributor

claude bot commented Aug 2, 2025

Claude encountered an error —— View job


I'll analyze this and get back to you.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

🚨 Static Analysis: Check Failed

Analyzed changed files, and found 191 potential violations. 191 meets or exceeds the set severity threshold: Info

⚫ 0 Critical severity violation(s)
🔴 0 High severity violation(s)
🟠 0 Medium severity violation(s)
🟡 191 Low severity violation(s)
⚪ 0 Info severity violation(s)
LocationRuleMessage
🟡force-app/main/default/classes/DatabaseLayerTestUtils.cls:27:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerTestUtils.cls:28:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerTestUtils.cls:29:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerUtils.cls:7:15pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerUtils.cls:9:15pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerUtils.cls:11:15pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Dml.cls:1660:20pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:15:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:18:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:24:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:30:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:36:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:42:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:48:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:54:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:60:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:157:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:158:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:159:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:160:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:161:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:162:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:163:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:164:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:200:19pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:201:19pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:203:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:214:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:219:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:225:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:231:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:235:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:240:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:246:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:589:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:629:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:636:10pmd:ApexDocMissing ApexDoc @description
🟡force-app/main/default/classes/MockDml.cls:637:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:638:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:639:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:680:10pmd:ApexDocMissing ApexDoc @description
🟡force-app/main/default/classes/MockDml.cls:680:10pmd:ApexDocMissing ApexDoc @return
🟡force-app/main/default/classes/MockDml.cls:680:10pmd:ApexDocMissing or mismatched ApexDoc @param
🟡force-app/main/default/classes/MockDmlTest.cls:1046:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDmlTest.cls:1050:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDmlTest.cls:1055:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:14:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:213:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:218:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:222:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:227:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:232:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:236:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:259:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:75:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:79:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:85:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:216:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:220:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:230:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoqlTest.cls:573:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoqlTest.cls:594:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoqlTest.cls:618:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:28:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:195:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:198:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:201:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:202:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:203:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:204:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:207:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:210:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:310:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:311:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:331:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:335:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:339:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:353:20pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:354:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:355:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:356:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:357:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:358:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:359:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:360:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:361:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:362:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:363:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:364:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:365:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:387:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:392:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:396:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:400:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:405:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:416:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:420:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:424:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:430:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:445:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:451:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:455:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:459:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:463:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:473:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:485:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:494:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:498:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:502:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:507:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:518:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:530:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:539:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:543:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:547:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:551:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:557:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:563:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:567:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:572:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:578:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:584:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:589:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:594:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:598:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:602:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:608:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:612:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:617:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:621:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:625:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:631:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:639:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:646:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:650:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:655:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:662:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:668:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:673:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:678:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:682:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:687:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:693:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:699:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:774:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:775:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:776:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:778:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:784:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:788:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:856:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:861:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:865:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:870:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:874:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:878:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:901:17pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:921:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:933:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:937:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:942:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:960:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:970:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:988:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:998:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1003:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1008:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1028:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1038:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1047:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1051:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1089:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1093:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1097:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1106:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1107:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1108:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1111:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1125:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1190:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1195:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1200:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1204:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1211:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1215:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1222:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1226:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1245:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1255:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1258:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1263:10pmd:ApexDocMissing ApexDoc comment

@claude
Copy link
Contributor

claude bot commented Aug 2, 2025

Claude encountered an error —— View job


I'll analyze this and get back to you.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

🚨 Static Analysis: Check Failed

Analyzed changed files, and found 191 potential violations. 191 meets or exceeds the set severity threshold: Info

⚫ 0 Critical severity violation(s)
🔴 0 High severity violation(s)
🟠 0 Medium severity violation(s)
🟡 191 Low severity violation(s)
⚪ 0 Info severity violation(s)
LocationRuleMessage
🟡force-app/main/default/classes/DatabaseLayerTestUtils.cls:27:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerTestUtils.cls:28:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerTestUtils.cls:29:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerUtils.cls:7:15pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerUtils.cls:9:15pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/DatabaseLayerUtils.cls:11:15pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Dml.cls:1660:20pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:15:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:18:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:24:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:30:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:36:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:42:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:48:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:54:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:60:22pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:157:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:158:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:159:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:160:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:161:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:162:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:163:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:164:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:200:19pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:201:19pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:203:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:214:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:219:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:225:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:231:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:235:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:240:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:246:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:589:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:629:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:636:10pmd:ApexDocMissing ApexDoc @description
🟡force-app/main/default/classes/MockDml.cls:637:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:638:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:639:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDml.cls:680:10pmd:ApexDocMissing ApexDoc @description
🟡force-app/main/default/classes/MockDml.cls:680:10pmd:ApexDocMissing ApexDoc @return
🟡force-app/main/default/classes/MockDml.cls:680:10pmd:ApexDocMissing or mismatched ApexDoc @param
🟡force-app/main/default/classes/MockDmlTest.cls:1046:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDmlTest.cls:1050:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockDmlTest.cls:1055:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:14:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:213:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:218:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:222:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:227:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:232:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:236:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockRecord.cls:259:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:75:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:79:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:85:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:216:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:220:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoql.cls:230:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoqlTest.cls:573:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoqlTest.cls:594:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/MockSoqlTest.cls:618:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:28:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:195:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:198:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:201:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:202:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:203:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:204:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:207:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:210:3pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:310:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:311:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:331:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:335:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:339:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:353:20pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:354:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:355:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:356:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:357:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:358:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:359:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:360:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:361:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:362:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:363:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:364:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:365:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:387:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:392:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:396:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:400:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:405:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:416:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:420:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:424:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:430:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:445:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:451:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:455:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:459:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:463:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:473:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:485:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:494:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:498:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:502:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:507:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:518:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:530:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:539:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:543:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:547:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:551:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:557:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:563:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:567:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:572:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:578:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:584:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:589:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:594:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:598:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:602:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:608:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:612:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:617:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:621:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:625:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:631:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:639:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:646:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:650:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:655:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:662:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:668:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:673:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:678:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:682:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:687:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:693:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:699:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:774:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:775:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:776:16pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:778:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:784:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:788:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:856:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:861:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:865:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:870:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:874:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:878:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:901:17pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:921:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:933:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:937:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:942:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:960:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:970:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:988:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:998:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1003:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1008:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1028:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1038:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1047:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1051:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1089:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1093:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1097:18pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1106:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1107:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1108:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1111:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1125:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1190:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1195:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1200:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1204:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1211:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1215:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1222:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1226:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1245:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1255:9pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1258:10pmd:ApexDocMissing ApexDoc comment
🟡force-app/main/default/classes/Soql.cls:1263:10pmd:ApexDocMissing ApexDoc comment

@claude
Copy link
Contributor

claude bot commented Aug 2, 2025

Claude finished @jasonsiders's task —— View job


Code Review Complete

I've conducted a comprehensive review of this PR. Here's my detailed feedback:

Todo List:

  • Read repository guidelines (CLAUDE.md)
  • Analyze core class changes (Dml.cls, Soql.cls, MockDml.cls)
  • Review CI/workflow changes
  • Check for potential bugs and security issues
  • Evaluate test coverage and quality
  • Provide comprehensive feedback

Overall Assessment

This is a well-structured breaking changes PR that removes deprecated code and modernizes the codebase for v3.0.0. The changes demonstrate good software engineering practices with comprehensive cleanup and improved tooling.

Strengths

Code Quality

  • Excellent PMD rule compliance: The codebase has extensive @SuppressWarnings annotations that are appropriately targeted and documented
  • Strong architecture: The DML/SOQL abstraction pattern with mocking capabilities is well-designed
  • Consistent coding patterns: Method overloads follow consistent patterns across all classes

Security & Best Practices

  • Proper access control: Uses System.AccessLevel parameters throughout for security enforcement
  • Safe string handling: Proper use of String.escapeSingleQuotes() in SOQL query building
  • Transaction safety: Comprehensive savepoint handling in MockDml with rollback support

CI/CD Improvements

  • Enhanced static analysis: New Python-based analysis with customizable thresholds and beautiful HTML reporting
  • Optimized workflows: Smart scratch org reuse and focused changed-files scanning
  • Better error reporting: Detailed violation reporting with location and severity information

🔍 Areas for Consideration

Code Quality Issues

  1. PMD Rule Violations: The static analysis shows 37 violations of pmd:AvoidBooleanMethodParameters in Dml.cls:38-659 and MockDml.cls:157. While these are suppressed, consider if some could be refactored to use enums or options objects for better readability.

  2. Method Overload Complexity: Classes like Dml.cls have extensive method overloading (e.g., 12+ variations of doInsert). Consider builder patterns for complex operations to reduce API surface.

Performance Considerations

  1. JSON Serialization in MockDml: Line MockDml.cls:172 uses JSON serialization for deep cloning, which can be expensive for large objects. Consider if this is necessary for all test scenarios.

  2. Reflection Usage in Query Building: Soql.cls:352-357 uses Schema.describeSObjects() in selectAll(). This could be cached or optimized for frequently-used objects.

Documentation & Maintenance

  1. Missing Migration Guide: For a breaking changes release, consider adding migration documentation for deprecated method removals.

  2. Test Coverage Verification: While the CI runs tests, ensure new global methods have corresponding test coverage since they're being promoted for package inclusion.

🐛 Potential Issues

Logic Concerns

  1. Null Safety in Query Operations: Soql.cls:91 in queryFirst() temporarily modifies rowLimit but doesn't handle concurrent access. Consider thread safety if this could be called concurrently.

  2. Error Message Augmentation: Soql.cls:1038-1040 modifies error messages by appending query strings, which could expose sensitive data in logs. Ensure this is intended behavior.

🧪 Test Coverage

The codebase appears to have good test coverage with dedicated test classes for each main class. The mock framework itself provides extensive testing capabilities.

🚀 Recommendations

High Priority

  1. Document Breaking Changes: Add a CHANGELOG.md documenting what was removed and migration paths
  2. Review Boolean Parameter Usage: Consider if any of the flagged boolean parameters could be replaced with more descriptive enums

Medium Priority

  1. Performance Profiling: Test the JSON serialization performance in MockDml with larger datasets
  2. Security Review: Verify that error message augmentation doesn't expose sensitive query parameters

Low Priority

  1. API Simplification: Consider builder patterns for methods with 5+ parameters
  2. Caching Strategy: Add caching for frequently-used Schema describe operations

📋 Summary

This PR successfully achieves its goals of cleaning up deprecated code and modernizing the build process. The static analysis passing with 0 violations after the cleanup shows the effort was successful. The new CI enhancements are particularly well-implemented and will provide ongoing value.

The codebase demonstrates mature Apex development practices with good separation of concerns, comprehensive mocking capabilities, and strong test infrastructure. The remaining PMD violations are appropriately suppressed and documented.

Recommendation: ✅ APPROVE - This is a solid foundation for v3.0.0 with meaningful improvements to code quality and developer experience.


Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

✅ Static Analysis: Check Passed

Analyzed changed files, and found 0 potential violations. 0 meets or exceeds the set severity threshold: Info

⚫ 0 Critical severity violation(s)
🔴 0 High severity violation(s)
🟠 0 Medium severity violation(s)
🟡 0 Low severity violation(s)
⚪ 0 Info severity violation(s)

@claude
Copy link
Contributor

claude bot commented Aug 2, 2025

Claude encountered an error —— View job


Code Review In Progress

I'll conduct a comprehensive review of this v3.0.0 PR focusing on code quality, potential bugs, performance, security, and test coverage.

Todo List:

  • Read repository guidelines (CLAUDE.md)
  • Analyze core class changes (Dml.cls, Soql.cls, MockDml.cls)
  • Review CI/workflow changes
  • Check for potential bugs and security issues
  • Evaluate test coverage and quality
  • Provide comprehensive feedback

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

✅ Static Analysis: Check Passed

Analyzed changed files, and found 0 potential violations. 0 meets or exceeds the set severity threshold: Info

⚫ 0 Critical severity violation(s)
🔴 0 High severity violation(s)
🟠 0 Medium severity violation(s)
🟡 0 Low severity violation(s)
⚪ 0 Info severity violation(s)

@claude
Copy link
Contributor

claude bot commented Aug 2, 2025

Claude finished @jasonsiders's task —— View job


Code Review Complete

I've conducted a comprehensive review of this PR. Here's my detailed feedback:

Todo List:

  • Read repository guidelines (CLAUDE.md)
  • Analyze core class changes (Dml.cls, Soql.cls, MockDml.cls)
  • Review CI/workflow changes
  • Check for potential bugs and security issues
  • Evaluate test coverage and quality
  • Provide comprehensive feedback

Overall Assessment

This is a well-structured breaking changes PR that removes deprecated code and modernizes the codebase for v3.0.0. The changes demonstrate good software engineering practices with comprehensive cleanup and improved tooling.

Strengths

Code Quality

  • Excellent PMD rule compliance: The codebase has extensive @SuppressWarnings annotations that are appropriately targeted and documented
  • Strong architecture: The DML/SOQL abstraction pattern with mocking capabilities is well-designed
  • Consistent coding patterns: Method overloads follow consistent patterns across all classes

Security & Best Practices

  • Proper access control: Uses System.AccessLevel parameters throughout for security enforcement
  • Safe string handling: Proper use of String.escapeSingleQuotes() in SOQL query building
  • Transaction safety: Comprehensive savepoint handling in MockDml with rollback support

CI/CD Improvements

  • Enhanced static analysis: New Python-based analysis with customizable thresholds and beautiful HTML reporting
  • Optimized workflows: Smart scratch org reuse and focused changed-files scanning
  • Better error reporting: Detailed violation reporting with location and severity information

🔍 Areas for Consideration

Code Quality Issues

  1. PMD Rule Violations: The static analysis shows 37 violations of pmd:AvoidBooleanMethodParameters in Dml.cls:38-659 and MockDml.cls:157. While these are suppressed, consider if some could be refactored to use enums or options objects for better readability.

  2. Method Overload Complexity: Classes like Dml.cls have extensive method overloading (e.g., 12+ variations of doInsert). Consider builder patterns for complex operations to reduce API surface.

Performance Considerations

  1. JSON Serialization in MockDml: Line MockDml.cls:172 uses JSON serialization for deep cloning, which can be expensive for large objects. Consider if this is necessary for all test scenarios.

  2. Reflection Usage in Query Building: Soql.cls:352-357 uses Schema.describeSObjects() in selectAll(). This could be cached or optimized for frequently-used objects.

Documentation & Maintenance

  1. Missing Migration Guide: For a breaking changes release, consider adding migration documentation for deprecated method removals.

  2. Test Coverage Verification: While the CI runs tests, ensure new global methods have corresponding test coverage since they're being promoted for package inclusion.

🐛 Potential Issues

Logic Concerns

  1. Null Safety in Query Operations: Soql.cls:91 in queryFirst() temporarily modifies rowLimit but doesn't handle concurrent access. Consider thread safety if this could be called concurrently.

  2. Error Message Augmentation: Soql.cls:1038-1040 modifies error messages by appending query strings, which could expose sensitive data in logs. Ensure this is intended behavior.

🧪 Test Coverage

The codebase appears to have good test coverage with dedicated test classes for each main class. The mock framework itself provides extensive testing capabilities.

🚀 Recommendations

High Priority

  1. Document Breaking Changes: Add a CHANGELOG.md documenting what was removed and migration paths
  2. Review Boolean Parameter Usage: Consider if any of the flagged boolean parameters could be replaced with more descriptive enums

Medium Priority

  1. Performance Profiling: Test the JSON serialization performance in MockDml with larger datasets
  2. Security Review: Verify that error message augmentation doesn't expose sensitive query parameters

Low Priority

  1. API Simplification: Consider builder patterns for methods with 5+ parameters
  2. Caching Strategy: Add caching for frequently-used Schema describe operations

📋 Summary

This PR successfully achieves its goals of cleaning up deprecated code and modernizing the build process. The static analysis passing with 0 violations after the cleanup shows the effort was successful. The new CI enhancements are particularly well-implemented and will provide ongoing value.

The codebase demonstrates mature Apex development practices with good separation of concerns, comprehensive mocking capabilities, and strong test infrastructure. The remaining PMD violations are appropriately suppressed and documented.

Recommendation: ✅ APPROVE - This is a solid foundation for v3.0.0 with meaningful improvements to code quality and developer experience.


Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

✅ Static Analysis: Check Passed

Analyzed changed files, and found 0 potential violations. 0 meets or exceeds the set severity threshold: Info

⚫ 0 Critical severity violation(s)
🔴 0 High severity violation(s)
🟠 0 Medium severity violation(s)
🟡 0 Low severity violation(s)
⚪ 0 Info severity violation(s)

@claude
Copy link
Contributor

claude bot commented Aug 2, 2025

Claude finished @jasonsiders's task —— View job


Code Review Complete

I've conducted a comprehensive review of this v3.0.0 PR. Here's my detailed feedback:

Todo List:

  • Read repository guidelines (CLAUDE.md)
  • Analyze core class changes (Dml.cls, Soql.cls, MockDml.cls)
  • Review CI/workflow changes
  • Check for potential bugs and security issues
  • Evaluate test coverage and quality
  • Provide comprehensive feedback

Overall Assessment

This is a well-structured breaking changes PR that removes deprecated code and modernizes the codebase for v3.0.0. The changes demonstrate good software engineering practices with comprehensive cleanup and improved tooling.

Strengths

Code Quality

  • Excellent PMD rule compliance: The codebase has extensive @SuppressWarnings annotations that are appropriately targeted and documented
  • Strong architecture: The DML/SOQL abstraction pattern with mocking capabilities is well-designed
  • Consistent coding patterns: Method overloads follow consistent patterns across all classes

Security & Best Practices

  • Proper access control: Uses System.AccessLevel parameters throughout for security enforcement
  • Safe string handling: Proper use of String.escapeSingleQuotes() in SOQL query building
  • Transaction safety: Comprehensive savepoint handling in MockDml with rollback support

CI/CD Improvements

  • Enhanced static analysis: New Python-based analysis with customizable thresholds and beautiful HTML reporting
  • Optimized workflows: Smart scratch org reuse and focused changed-files scanning
  • Better error reporting: Detailed violation reporting with location and severity information

🔍 Areas for Consideration

Code Quality Issues

  1. PMD Rule Violations: The static analysis shows 37 violations of pmd:AvoidBooleanMethodParameters in Dml.cls:38-659 and MockDml.cls:157. While these are suppressed, consider if some could be refactored to use enums or options objects for better readability.

  2. Method Overload Complexity: Classes like Dml.cls have extensive method overloading (e.g., 12+ variations of doInsert). Consider builder patterns for complex operations to reduce API surface.

Performance Considerations

  1. JSON Serialization in MockDml: Line MockDml.cls:172 uses JSON serialization for deep cloning, which can be expensive for large objects. Consider if this is necessary for all test scenarios.

  2. Reflection Usage in Query Building: Soql.cls:352-357 uses Schema.describeSObjects() in selectAll(). This could be cached or optimized for frequently-used objects.

Documentation & Maintenance

  1. Missing Migration Guide: For a breaking changes release, consider adding migration documentation for deprecated method removals.

  2. Test Coverage Verification: While the CI runs tests, ensure new global methods have corresponding test coverage since they're being promoted for package inclusion.

🐛 Potential Issues

Logic Concerns

  1. Null Safety in Query Operations: Soql.cls:91 in queryFirst() temporarily modifies rowLimit but doesn't handle concurrent access. Consider thread safety if this could be called concurrently.

  2. Error Message Augmentation: Soql.cls:1038-1040 modifies error messages by appending query strings, which could expose sensitive data in logs. Ensure this is intended behavior.

🧪 Test Coverage

The codebase appears to have good test coverage with dedicated test classes for each main class. The mock framework itself provides extensive testing capabilities.

🚀 Recommendations

High Priority

  1. Document Breaking Changes: Add a CHANGELOG.md documenting what was removed and migration paths
  2. Review Boolean Parameter Usage: Consider if any of the flagged boolean parameters could be replaced with more descriptive enums

Medium Priority

  1. Performance Profiling: Test the JSON serialization performance in MockDml with larger datasets
  2. Security Review: Verify that error message augmentation doesn't expose sensitive query parameters

Low Priority

  1. API Simplification: Consider builder patterns for methods with 5+ parameters
  2. Caching Strategy: Add caching for frequently-used Schema describe operations

📋 Summary

This PR successfully achieves its goals of cleaning up deprecated code and modernizing the build process. The static analysis passing with 0 violations after the cleanup shows the effort was successful. The new CI enhancements are particularly well-implemented and will provide ongoing value.

The codebase demonstrates mature Apex development practices with good separation of concerns, comprehensive mocking capabilities, and strong test infrastructure. The remaining PMD violations are appropriately suppressed and documented.

Recommendation: ✅ APPROVE - This is a solid foundation for v3.0.0 with meaningful improvements to code quality and developer experience.


Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

🚨 Static Analysis: Check Failed

Analyzed changed files, and found 1 potential violations. 1 meets or exceeds the set severity threshold: Info

⚫ 0 Critical severity violation(s)
🔴 0 High severity violation(s)
🟠 1 Medium severity violation(s)
🟡 0 Low severity violation(s)
⚪ 0 Info severity violation(s)
LocationRuleMessage
🟠force-app/main/default/classes/MockDml.cls:185:41pmd:AvoidBooleanMethodParametersAvoid Boolean method parameters

@claude
Copy link
Contributor

claude bot commented Aug 3, 2025

Claude finished @jasonsiders's task —— View job


Code Review Complete

I've conducted a comprehensive review of this v3.0.0 PR. Here's my detailed feedback:

Todo List:

  • Read repository guidelines (CLAUDE.md)
  • Analyze core class changes (Dml.cls, Soql.cls, MockDml.cls)
  • Review CI/workflow changes
  • Check for potential bugs and security issues
  • Evaluate test coverage and quality
  • Provide comprehensive feedback

Overall Assessment

This is a well-structured breaking changes PR that removes deprecated code and modernizes the codebase for v3.0.0. The changes demonstrate good software engineering practices with comprehensive cleanup and improved tooling.

Strengths

Code Quality

  • Excellent PMD rule compliance: The codebase has extensive @SuppressWarnings annotations that are appropriately targeted and documented
  • Strong architecture: The DML/SOQL abstraction pattern with mocking capabilities is well-designed
  • Consistent coding patterns: Method overloads follow consistent patterns across all classes

Security & Best Practices

  • Proper access control: Uses System.AccessLevel parameters throughout for security enforcement
  • Safe string handling: Proper use of String.escapeSingleQuotes() in SOQL query building
  • Transaction safety: Comprehensive savepoint handling in MockDml with rollback support

CI/CD Improvements

  • Enhanced static analysis: New Python-based analysis with customizable thresholds and beautiful HTML reporting
  • Optimized workflows: Smart scratch org reuse and focused changed-files scanning
  • Better error reporting: Detailed violation reporting with location and severity information

🔍 Areas for Consideration

Code Quality Issues

  1. PMD Rule Violations: The static analysis shows 37 violations of pmd:AvoidBooleanMethodParameters in Dml.cls:38-659 and MockDml.cls:157. While these are suppressed, consider if some could be refactored to use enums or options objects for better readability.

  2. Method Overload Complexity: Classes like Dml.cls have extensive method overloading (e.g., 12+ variations of doInsert). Consider builder patterns for complex operations to reduce API surface.

Performance Considerations

  1. JSON Serialization in MockDml: Line MockDml.cls:172 uses JSON serialization for deep cloning, which can be expensive for large objects. Consider if this is necessary for all test scenarios.

  2. Reflection Usage in Query Building: Soql.cls:352-357 uses Schema.describeSObjects() in selectAll(). This could be cached or optimized for frequently-used objects.

Documentation & Maintenance

  1. Missing Migration Guide: For a breaking changes release, consider adding migration documentation for deprecated method removals.

  2. Test Coverage Verification: While the CI runs tests, ensure new global methods have corresponding test coverage since they're being promoted for package inclusion.

🐛 Potential Issues

Logic Concerns

  1. Null Safety in Query Operations: Soql.cls:91 in queryFirst() temporarily modifies rowLimit but doesn't handle concurrent access. Consider thread safety if this could be called concurrently.

  2. Error Message Augmentation: Soql.cls:1038-1040 modifies error messages by appending query strings, which could expose sensitive data in logs. Ensure this is intended behavior.

🧪 Test Coverage

The codebase appears to have good test coverage with dedicated test classes for each main class. The mock framework itself provides extensive testing capabilities.

🚀 Recommendations

High Priority

  1. Document Breaking Changes: Add a CHANGELOG.md documenting what was removed and migration paths
  2. Review Boolean Parameter Usage: Consider if any of the flagged boolean parameters could be replaced with more descriptive enums

Medium Priority

  1. Performance Profiling: Test the JSON serialization performance in MockDml with larger datasets
  2. Security Review: Verify that error message augmentation doesn't expose sensitive query parameters

Low Priority

  1. API Simplification: Consider builder patterns for methods with 5+ parameters
  2. Caching Strategy: Add caching for frequently-used Schema describe operations

📋 Summary

This PR successfully achieves its goals of cleaning up deprecated code and modernizing the build process. The static analysis passing with 0 violations after the cleanup shows the effort was successful. The new CI enhancements are particularly well-implemented and will provide ongoing value.

The codebase demonstrates mature Apex development practices with good separation of concerns, comprehensive mocking capabilities, and strong test infrastructure. The remaining PMD violations are appropriately suppressed and documented.

Recommendation: ✅ APPROVE - This is a solid foundation for v3.0.0 with meaningful improvements to code quality and developer experience.


Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

✅ Static Analysis: Check Passed

Analyzed changed files, and found 0 potential violations. 0 meets or exceeds the set severity threshold: Info

⚫ 0 Critical severity violation(s)
🔴 0 High severity violation(s)
🟠 0 Medium severity violation(s)
🟡 0 Low severity violation(s)
⚪ 0 Info severity violation(s)

@claude
Copy link
Contributor

claude bot commented Aug 3, 2025

Claude finished @jasonsiders's task —— View job


Code Review Complete

I've conducted a comprehensive review of this v3.0.0 PR. Here's my detailed feedback:

Todo List:

  • Read repository guidelines (CLAUDE.md)
  • Analyze core class changes (Dml.cls, Soql.cls, MockDml.cls)
  • Review CI/workflow changes
  • Check for potential bugs and security issues
  • Evaluate test coverage and quality
  • Provide comprehensive feedback

Overall Assessment

This is a well-structured breaking changes PR that removes deprecated code and modernizes the codebase for v3.0.0. The changes demonstrate good software engineering practices with comprehensive cleanup and improved tooling.

Strengths

Code Quality

  • Excellent PMD rule compliance: The codebase has extensive @SuppressWarnings annotations that are appropriately targeted and documented
  • Strong architecture: The DML/SOQL abstraction pattern with mocking capabilities is well-designed
  • Consistent coding patterns: Method overloads follow consistent patterns across all classes

Security & Best Practices

  • Proper access control: Uses System.AccessLevel parameters throughout for security enforcement
  • Safe string handling: Proper use of String.escapeSingleQuotes() in SOQL query building
  • Transaction safety: Comprehensive savepoint handling in MockDml with rollback support

CI/CD Improvements

  • Enhanced static analysis: New Python-based analysis with customizable thresholds and beautiful HTML reporting
  • Optimized workflows: Smart scratch org reuse and focused changed-files scanning
  • Better error reporting: Detailed violation reporting with location and severity information

🔍 Areas for Consideration

Code Quality Issues

  1. PMD Rule Violations: The static analysis shows 37 violations of pmd:AvoidBooleanMethodParameters in Dml.cls:38-659 and MockDml.cls:157. While these are suppressed, consider if some could be refactored to use enums or options objects for better readability.

  2. Method Overload Complexity: Classes like Dml.cls have extensive method overloading (e.g., 12+ variations of doInsert). Consider builder patterns for complex operations to reduce API surface.

Performance Considerations

  1. JSON Serialization in MockDml: Line MockDml.cls:172 uses JSON serialization for deep cloning, which can be expensive for large objects. Consider if this is necessary for all test scenarios.

  2. Reflection Usage in Query Building: Soql.cls:352-357 uses Schema.describeSObjects() in selectAll(). This could be cached or optimized for frequently-used objects.

Documentation & Maintenance

  1. Missing Migration Guide: For a breaking changes release, consider adding migration documentation for deprecated method removals.

  2. Test Coverage Verification: While the CI runs tests, ensure new global methods have corresponding test coverage since they're being promoted for package inclusion.

🐛 Potential Issues

Logic Concerns

  1. Null Safety in Query Operations: Soql.cls:91 in queryFirst() temporarily modifies rowLimit but doesn't handle concurrent access. Consider thread safety if this could be called concurrently.

  2. Error Message Augmentation: Soql.cls:1038-1040 modifies error messages by appending query strings, which could expose sensitive data in logs. Ensure this is intended behavior.

🧪 Test Coverage

The codebase appears to have good test coverage with dedicated test classes for each main class. The mock framework itself provides extensive testing capabilities.

🚀 Recommendations

High Priority

  1. Document Breaking Changes: Add a CHANGELOG.md documenting what was removed and migration paths
  2. Review Boolean Parameter Usage: Consider if any of the flagged boolean parameters could be replaced with more descriptive enums

Medium Priority

  1. Performance Profiling: Test the JSON serialization performance in MockDml with larger datasets
  2. Security Review: Verify that error message augmentation doesn't expose sensitive query parameters

Low Priority

  1. API Simplification: Consider builder patterns for methods with 5+ parameters
  2. Caching Strategy: Add caching for frequently-used Schema describe operations

📋 Summary

This PR successfully achieves its goals of cleaning up deprecated code and modernizing the build process. The static analysis passing with 0 violations after the cleanup shows the effort was successful. The new CI enhancements are particularly well-implemented and will provide ongoing value.

The codebase demonstrates mature Apex development practices with good separation of concerns, comprehensive mocking capabilities, and strong test infrastructure. The remaining PMD violations are appropriately suppressed and documented.

Recommendation: ✅ APPROVE - This is a solid foundation for v3.0.0 with meaningful improvements to code quality and developer experience.


Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

✅ Static Analysis: Check Passed

Analyzed changed files, and found 0 potential violations. 0 meets or exceeds the set severity threshold: Info

⚫ 0 Critical severity violation(s)
🔴 0 High severity violation(s)
🟠 0 Medium severity violation(s)
🟡 0 Low severity violation(s)
⚪ 0 Info severity violation(s)

@jasonsiders jasonsiders changed the title Version/3.0.0 Breaking changes for v3.0.0 Aug 3, 2025
@jasonsiders jasonsiders merged commit d605b2f into main Aug 3, 2025
3 checks passed
@jasonsiders jasonsiders deleted the version/3.0.0 branch August 3, 2025 02:38
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.

Remove Deprecated Methods in 3.0.0

2 participants