Skip to content

Clarify locale-safe DateFormula Evaluate inputs - #193

Merged
Jesper Schulz-Wedde (JesperSchulz) merged 2 commits into
mainfrom
jesperschulz-c-al-knowledge-audit
Sep 21, 2026
Merged

Jesper Schulz-Wedde (JesperSchulz) merged 2 commits into
mainfrom
jesperschulz-c-al-knowledge-audit

Conversation

@JesperSchulz

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

Copy link
Copy Markdown
Contributor

Adds one Microsoft Style article for a localization gap: Evaluate(Interval, '1W') can fail outside English even when Interval is a DateFormula and the later CalcDate call 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 to Evaluate. An exact CodeCop probe reports AA0462 for the direct CalcDate('1W', ...) control but not for the upstream Evaluate -> typed CalcDate flow. 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 Validation section. The analyzer boundary is explicit in Description, and the scoped compilation-probe evidence sits beside the AA0462 source in References. 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.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
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>
@JesperSchulz
Jesper Schulz-Wedde (JesperSchulz) merged commit d38377b 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