Ruleset hardening: promote four legacy warning rules to Error - #11260
Ruleset hardening: promote four legacy warning rules to Error#11260Jesper Schulz-Wedde (JesperSchulz) wants to merge 6 commits into
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
In src/Layers/RU/Tests/ERM-Finance/ERMSourceCurrency.Codeunit.al, the [Test] methods PurchaseInvoiceNormalVATFCYPaymentLoss and PurchaseInvoiceNormalVATFCYPaymentGain previously contained an early Agent judgement — not directly backed by a BCQuality knowledge article. Line mapping was unavailable, so this was posted as an issue comment. 👍 useful · ❤️ especially valuable · 👎 wrong - reply with why · AL review agent v1.41.6 |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
The published procedure GetPeriodNoOneDate was deleted from codeunit 117507 "Create Service Base Calendar" with no Obsolete warning window. Because AL procedures are public unless marked local/internal, dependent extensions can bind to this method today and will stop compiling after this change. Keep the procedure in place, mark it [Obsolete(...)] with the replacement/removal guidance, and remove it only in a later cleanup release. Knowledge: Line mapping was unavailable, so this was posted as an issue comment. 👍 useful · ❤️ especially valuable · 👎 wrong - reply with why · AL review agent v1.41.6 |
Summary
Promotes AS0103, PTE0004, AS0011, and AA0136 from Warning to the repository default Error posture. This follows #11160 and tracks accepted legacy exceptions under AB#640773.
Permission-table classification
AS0103, PTE0004object scopeAS0103, PTE0004object scopeProduction fixes cover 29 Russian statutory/tax tables, two Dynamics SL historical tables, W1
Exchange Sync, and HybridSLSL PurchOrd/SL PurOrdDet. Exchange Sync permissions remain available in Clean across W1 and propagated GB/RU full-access sets. HybridSL permissions for the two purchase-order tables now sit outsidenot CLEAN28in all seven owning sets. GB tablesFin. Charge Interest RateandPostcode Notification Memorycannot be referenced from the Clean permission baseline because their obsolete tag is below the required 99.9; their invalid Clean references were removed and their declarations carry Clean-only compatibility scopes.CI reconciliation
First wave
Run
34336508154on9450a20d00had 30 failed Compile Apps legs. All 31 failed-job logs were downloaded and every##[error]normalized.altoolinfrastructure error, and the aggregate gate without unrelated source changes.Second wave
Run
34347870936on49830b2bddsettled with 8 failed Compile Apps jobs and one aggregate gate. All 9 logs were downloaded: 66##[error]lines, 44 mode-split rule diagnostics, and 24 unique roots. There were no Cleanup-only or infrastructure failures.SL PurchOrdand 47031SL PurOrdDetin CA/US Clean.UpdateEvaluationDateandCurrencyfallout.StartDateand its orphanedGetPeriodNoOneDateprocedure.A later wave may still surface because projects can fail fast; each replacement Clean + Default matrix remains the hard gate.
Contributor posture
New production tables must be added to owning permission sets, new identifiers must use configured affixes, and unreachable code must be removed rather than suppressed. Pragmas here cover established legacy, intentional non-production, or obsolete compatibility objects only; every new restore is ID-qualified.
Validation
git diff --check, preprocessor balance, encoding/newline audits, and complete diff reviews: cleanInvoke-MiSnapAppagainst currentmain: SUCCESS: No missing filesThe starting census is compiler-version-sensitive due to AB#649216. Local targeted compilation remains unavailable because the project package cache is absent; remote Clean + Default CI is the final diagnostic proof.