Clarify locale-safe DateFormula Evaluate inputs - #193
Merged
Jesper Schulz-Wedde (JesperSchulz) merged 2 commits intoSep 21, 2026
Merged
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Jesper Schulz-Wedde (JesperSchulz)
requested review from
Nikola Kukrika (nikolakukrika) and
Bugsy (pchriste-microsoft-com)
as code owners
September 17, 2026 13:56
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>
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds one Microsoft Style article for a localization gap:
Evaluate(Interval, '1W')can fail outside English even whenIntervalis aDateFormulaand the laterCalcDatecall is correctly typed. Includes narrow existing-leaf routing, original paired scheduling samples, and an additional positive/clean Style evaluation pair. Dynamic localized input, invariant literals, import conversions, and empty-formula checks are excluded.Modern evidence: Learn's DateFormula example uses
<1W>; pinned BaseApp scheduling uses invariant input toEvaluate. An exact CodeCop probe reports AA0462 for the directCalcDate('1W', ...)control but not for the upstreamEvaluate-> typedCalcDateflow. Direct-CalcDate diagnostics remain analyzer-owned.This is the single admitted package from a full 70-page audit of the 2002 C/AL guide. Deliberately excluded: classic form/object-editing mechanics, historical global lock orders and numeric thresholds, blanket trigger-error prohibitions, Finance/SCM ownership, and unresolved lookup/NotBlank/schema-migration themes. No dependency on pending planning/coding contracts in #155/#188.
Convention feedback addressed: Removed the article's standalone
Validationsection. The analyzer boundary is explicit inDescription, and the scoped compilation-probe evidence sits beside the AA0462 source inReferences. Normative Best Practice/Anti Pattern text, exclusions, samples, routing and fixtures are unchanged by this follow-up; the PR remains five files.Validation: Reran exact-tree gates after normalization against refreshed
origin/main: frontmatter 0 errors/warnings; 308 articles and 509 samples round-tripped; skill-index/schema and 8 review-contract cases passed; 72 fixtures prepared across 18 domains. Two fresh read-only model evaluations of the normalized article produced the exact expected article ID and a clean control; strict JSONL final payloads and whole-article reads were validated without repairs. Both unchanged samples and private English/French test methods compile against BC28.5, with AA0462 reproduced only on the direct-CalcDate probe control. Runtime locale tests were not executed; no Business Central deployment was performed.