Avoid Public Event publisher (#144)

* Avoid Public Event publisher

* knowledge(events): scope public-publisher detection to same-app raisers

The detection rule flagged every public event publisher, including ones
deliberately public so a sibling app can raise them - a contract `internal`
cannot express across app boundaries. Scope the finding to publishers that
are public although only their own app raises them, and record the
cross-app case as a valid Best Practice option.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0b67b90d-e4b4-4b92-9684-726c72c43b3f

---------

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 0b67b90d-e4b4-4b92-9684-726c72c43b3f
This commit is contained in:
Kilian Seizinger 2026-09-02 16:07:18 +02:00 • committed by GitHub
parent 53e2cf2fa4
commit 82422f94c9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 148 additions and 4 deletions

View file

@ -3,7 +3,7 @@
codeunit 50116 "Payment Processor Bad"
{
[IntegrationEvent(false, false)]
procedure OnBeforeSubmitPayment(var PaymentAmount: Decimal; var Cancel: Boolean)
local procedure OnBeforeSubmitPayment(var PaymentAmount: Decimal; var Cancel: Boolean)
begin
end;

View file

@ -3,7 +3,7 @@
codeunit 50114 "Payment Processor"
{
[IntegrationEvent(false, false)]
procedure OnBeforeSubmitPayment(var PaymentAmount: Decimal; var Cancel: Boolean)
local procedure OnBeforeSubmitPayment(var PaymentAmount: Decimal; var Cancel: Boolean)
begin
end;

View file

@ -1,7 +1,7 @@
codeunit 50151 "Sec Sample CommitBeh Bad"
{
[IntegrationEvent(true, false)]
procedure OnBeforeApplyingDiscount(var Customer: Record Customer)
local procedure OnBeforeApplyingDiscount(var Customer: Record Customer)
begin
end;

View file

@ -2,7 +2,7 @@ codeunit 50149 "Sec Sample CommitBeh Good"
{
[CommitBehavior(CommitBehavior::Ignore)]
[IntegrationEvent(true, false)]
procedure OnBeforeApplyingDiscount(var Customer: Record Customer)
local procedure OnBeforeApplyingDiscount(var Customer: Record Customer)
begin
end;