mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 14:46:55 +01:00
Fix Finance review applicability and ownership boundaries
Remove application-area gating and later VAT-field dependencies, align dynamic shared conventions, separate SCM ownership, and keep journal examples focused on the intended invariant. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
fa63d5526c
commit
7c17aa3ab8
18 changed files with 77 additions and 52 deletions
|
|
@ -15,12 +15,13 @@ application-area: [all]
|
|||
# AL Finance review
|
||||
|
||||
Reviews the `finance` knowledge domain. This is a leaf action skill composed by
|
||||
`al-code-review`; it invokes no other skills. Application-area discovery is
|
||||
broad enough for posting-linked dimensions, but source relevance is narrow.
|
||||
`al-code-review`; it invokes no other skills. Application-area metadata does
|
||||
not gate Finance coverage; resolved source records and operations do.
|
||||
|
||||
## Source
|
||||
|
||||
Use READ's **Bounded retrieval for review skills** workflow with
|
||||
Apply the source-surface gate in Relevance before retrieving knowledge.
|
||||
If it passes, use READ's **Bounded retrieval for review skills** workflow with
|
||||
`-Domain finance`. Consume every catalog page across enabled layers, preserving
|
||||
each exact path and applicability metadata. Do not select a top-k catalog or
|
||||
deduplicate by basename. Open complete bodies only for exact Worklist paths,
|
||||
|
|
@ -41,10 +42,20 @@ changed executable behavior involving at least one of these surfaces:
|
|||
|
||||
- General-journal construction or posting, journal-batch processing, or an
|
||||
event subscriber whose resolved publisher is in the financial posting path.
|
||||
- Writes or correction/application/reversal calls involving standard financial
|
||||
ledger records, detailed customer/vendor entries, VAT entries, or G/L registers.
|
||||
- Writes or correction/application/reversal calls involving `G/L Entry`,
|
||||
`Cust. Ledger Entry`, `Vendor Ledger Entry`, `Detailed Cust. Ledg. Entry`,
|
||||
`Detailed Vendor Ledg. Entry`, `VAT Entry`, or financial-posting/G/L-register
|
||||
records.
|
||||
- Dimension transfer or dimension-set mutation connected by visible data flow
|
||||
to an existing journal, posting document, or financial ledger record.
|
||||
to an existing general journal, financial posting document, or Finance-owned
|
||||
ledger record.
|
||||
|
||||
Exclude `Item Ledger Entry`, `Value Entry`, Capacity/Warehouse entries,
|
||||
`Item Application Entry`, and other inventory-posting records owned by SCM.
|
||||
Do not adopt their findings when the SCM skill is absent or disabled. For one
|
||||
inventory-originated posting bypass, equivalent findings have one SCM primary
|
||||
owner; distinct independent financial defects remain Finance. Classify the
|
||||
operation and actual record, not an inventory/finance word in a module name.
|
||||
|
||||
Return `not-applicable` when none is present. Imports, object names, comments,
|
||||
read-only ledger displays, generic `Amount`/`Date`/`Open` fields, and calls to
|
||||
|
|
@ -61,7 +72,7 @@ maps to the changed behavior; generic financial vocabulary is not enough.
|
|||
The following deterministic cues must select their named articles even if
|
||||
keyword ranking would otherwise omit them:
|
||||
|
||||
- Persistent standard financial ledger inserts reached from extension posting
|
||||
- Persistent Finance-owned ledger inserts reached from extension posting
|
||||
code — `post-ledger-entries-through-posting-codeunits`.
|
||||
- Persisted general-journal lines posted through a line-codeunit loop or custom
|
||||
aggregate check, with visible template/document/date balancing context —
|
||||
|
|
@ -69,28 +80,30 @@ keyword ranking would otherwise omit them:
|
|||
- Imported net/tax/gross values mapped into `Gen. Journal Line.Amount`, with
|
||||
evidence of the VAT posting mode and posting-setup combination —
|
||||
`normal-vat-journal-amount-includes-vat`.
|
||||
- Persisted original accounting-value changes, deletion of posted rows, or
|
||||
- Persisted original Finance accounting-value changes, deletion of Finance rows, or
|
||||
fabricated reversal flags/links — `do-not-modify-or-delete-posted-ledger-entries`.
|
||||
- Settlement/reopening code writing `Open`, closure fields, detailed
|
||||
application amounts, or unapplication flags —
|
||||
- Customer/vendor settlement/reopening code writing `Open`, closure fields,
|
||||
detailed customer/vendor application amounts, or unapplication flags —
|
||||
`apply-ledger-entries-through-application-codeunits`.
|
||||
- A due-date change persisted on an existing customer/vendor ledger entry —
|
||||
`change-ledger-due-dates-through-entry-edit`.
|
||||
- A `Reversal Entry.ReverseTransaction` or `ReverseRegister` argument with
|
||||
visible ledger-entry, transaction, or register provenance —
|
||||
`reverse-transactions-by-transaction-number`.
|
||||
- A complete posting-dimension transfer represented by shortcut/global fields
|
||||
or a `Dimension Set ID` assignment —
|
||||
- A complete Finance posting-dimension transfer represented by shortcut/global
|
||||
fields or a `Dimension Set ID` assignment —
|
||||
`write-dimensions-as-dimension-set-entries`.
|
||||
- A dimension/value membership change on `Dimension Set Entry`, reached from
|
||||
a journal/document/ledger set ID — `do-not-edit-shared-dimension-sets`.
|
||||
a general-journal/financial-document/Finance-ledger set ID —
|
||||
`do-not-edit-shared-dimension-sets`.
|
||||
|
||||
These are retrieval cues, not findings. Use the selected articles' normative
|
||||
exceptions to classify standard workflows, temporary records, operational
|
||||
edits, and extension fields. Finance does not own generic custom-table/master
|
||||
dimension wiring, number-series API migration, or general AL validation,
|
||||
locking, transaction, and event-style advice. Do not add those concerns as
|
||||
Finance agent findings.
|
||||
exceptions and ownership boundaries to classify standard workflows, temporary
|
||||
records, operational edits, and extension fields. Do not select a Finance
|
||||
ledger rule from `*Ledger Entry` or `Insert`/`Modify` alone. Finance does not
|
||||
own SCM records, generic custom-table/master dimension wiring, number-series
|
||||
API migration, or general AL validation, locking, transaction, and event-style
|
||||
advice. Do not add those concerns as Finance agent findings.
|
||||
|
||||
Resolve actual normative conflicts across layers per READ and record suppressed
|
||||
candidates per DO. Keep every remaining exact path in a stable worklist.
|
||||
|
|
@ -109,7 +122,10 @@ about callers.
|
|||
|
||||
Use the most specific article for the correction: application-state, due-date,
|
||||
and shared-dimension findings must not also become generic posted-row findings
|
||||
for the same change. Emit `major` for a demonstrated financial-correctness
|
||||
for the same change. Do not emit an equivalent Finance finding for the
|
||||
financial-row leg of one SCM-owned inventory posting bypass; evaluate a
|
||||
distinct financial defect only when its corrective action is independent.
|
||||
Emit `major` for a demonstrated financial-correctness
|
||||
violation and reserve `blocker` for directly evidenced destructive corruption
|
||||
under DO's severity rules. Applicability alone produces no finding.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue