Skip to content

Add SCM functional knowledge domain - #192

Merged
Jesper Schulz-Wedde (JesperSchulz) merged 2 commits into
mainfrom
jesperschulz-scm-knowledge-domain
Sep 21, 2026
Merged

Jesper Schulz-Wedde (JesperSchulz) merged 2 commits into
mainfrom
jesperschulz-scm-knowledge-domain

Conversation

@JesperSchulz

@JesperSchulz Jesper Schulz-Wedde (JesperSchulz) commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Introduce microsoft/knowledge/scm/: nine scoped functional rules with original, self-contained bad/good AL samples. Independently based on refreshed main (b91443be), intended to land before #57; no unmerged Finance code or shared-domain abstraction is required.

Knowledge inventory Why it matters
Item-ledger/value posting ownership Preserve quantity, application, valuation and tracking relationships.
Calculated revaluation batch posting Preserve aggregate allocation, quantity checks, rounding and standard-cost updates.
Item unapplication/reapplication Preserve the cost/application graph and finalization lifecycle.
Reservation cancellation Handle counterparts and surviving tracking, including late-binding exceptions.
Source-specific item-tracking transfer Preserve partial base quantities, ownership, statuses and remainders.
Warehouse-adjustment reconciliation Distinguish registration/calculation from item-ledger posting.
Transfer shipment/receipt posting Preserve in-transit, partial-receipt, document and cost lineage.
Date-aware available-to-promise Account for demand, reservations, incoming supply, location and variant.
Requisition action-message carry-out Preserve action semantics and demand/reservation handoff to supply.

Research is synthesized from Microsoft Learn and BCApps 8f7a04cb (BaseApp source 30.0). No implementation bodies are copied. The posting rule is retained for SCM-specific application/value/tracking invariants and capacity/WIP/temporary-buffer exclusions, not generic engine-use advice.

Review feedback and integration

  • Articles now use descriptive BC facts/consequences and exact inline See sample links. All 18 AL companions are global and import-free; executable bodies are unchanged.
  • al-scm-review is 121 lines instead of 213, retaining deterministic cues, index-first bounded retrieval and the strict mutation/posting-or-supply/demand gate. DO/schema governs output; embedded examples and the SCM-only shared-test block are removed.
  • Preserve dynamic $expectedLeaves.Count diagnostics and number-free/common coverage wording.
  • Reciprocal ownership: Item/Value/Capacity/Warehouse and inventory-application records are SCM; pure G/L/customer/vendor/detailed/VAT mutations are Finance, even if that leaf is absent. Equivalent inventory-originated posting bypasses have one SCM primary owner; independent financial defects remain separate.

Validation

The exact publication tree was checked after refreshing origin/main:

  • Frontmatter: 0 errors/0 warnings; index/retrieval: 316 articles and 525 samples round-tripped.
  • Skill/schema checks: 18 Microsoft leaves; review contract: 8 cases; fixture preparation: 88 cases/19 domains.
  • Blinded, source-bound case-at-a-time confirmation: 9/9 exact positives and 9/9 clean controls, with every result checked against its opaque request ID, file and source SHA256.
  • Full-DO probes: on-hand display, warehouse caption and pure G/L mutation are not-applicable with zero coverage/findings; mixed Item Ledger+G/L posting yields exactly one SCM primary finding.
  • All 18 final AL samples plus 4 probes compile with CodeCop, using Base Application 28.5.54151.54677 (Cloud/runtime 17.0). Generated SymbolReference inventories confirm all 18 sample codeunits and 4 probe codeunits, without namespaces/imports or ambiguity exceptions.
  • All 7 GitHub checks pass on 525e84e.

An initial batch-model result had three positional tool-response/case association errors. Its immutable output and audit were retained; scorer controls verified the harness, and confirmation used bound individual requests rather than repairing findings. The independently observed read-only gate weakening was fixed narrowly.

No BC environment deployment or database posting tests were performed. Compilation and source research are separate evidence, not runtime coverage across every BC version.

Introduce nine source-backed rules with original AL sample pairs, bounded SCM review routing, and complete positive/clean evaluation coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Align article and AL sample conventions, keep BC facts separate from review mechanics, and clarify reciprocal Finance ownership without bespoke shared test assertions.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@JesperSchulz
Jesper Schulz-Wedde (JesperSchulz) merged commit bec8890 into main Sep 21, 2026
7 checks passed
Jesper Schulz-Wedde (JesperSchulz) added a commit that referenced this pull request Sep 21, 2026
* Add Finance posting domain-knowledge pilot

Adds three atomic domain-rule knowledge files under community/knowledge/finance/ as a pilot for Type-A (normative) Business Central domain knowledge: post through the posting engine, treat posted ledger entries as immutable, and treat the Dimension Set ID as the source of truth for dimensions. Includes a good/bad AL sample pair for the posting rule.

These encode BC-specific invariants that LLMs reliably get wrong, fitting the existing remedial/atomic knowledge grain with no schema or contract changes. Passes the repo frontmatter validator and is discovered by the knowledge index.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Clarify editable operational fields on posted ledger entries

Addresses review feedback from @JeremyVyska on PR #57: the immutability rule applies to financial content, not the whole entry. Reframes the Description around financial content and gives the operational-field exception (payment/application data, on-hold, applies-to, communication fields edited via CustEntry-Edit/VendEntry-Edit and the ledger entry pages) its own paragraph in Best Practice instead of understating it as a narrow set.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Expand Finance pilot into a source-verified review domain

Move Finance knowledge to the Microsoft-owned layer, add nine scoped rules with eighteen AL samples, and register bounded Finance review with complete paired evaluation coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* 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>

* Remove logo branding (#194)

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Add title and description to README

* Add foundational AL developer knowledge (#195)

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Clarify locale-safe DateFormula Evaluate inputs (#193)

* Clarify locale-safe DateFormula Evaluate inputs

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Normalize DateFormula article sections

Keep the analyzer-gap explanation in Description and its scoped probe evidence in References, without a novel Validation section. Normative guidance and fixtures are unchanged.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Add SCM functional knowledge domain (#192)

* Add SCM functional knowledge domain

Introduce nine source-backed rules with original AL sample pairs, bounded SCM review routing, and complete positive/clean evaluation coverage.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

* Normalize SCM knowledge and review ownership

Align article and AL sample conventions, keep BC facts separate from review mechanics, and clarify reciprocal Finance ownership without bespoke shared test assertions.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

1 participant