Add unit tests and knowledge files for BC domain context

- Introduced unit tests for the bc-domain-context implementation, covering various scenarios including filtering by application area, technology mismatches, layer precedence, and conditional applicability.
- Added knowledge files related to finance, including topics such as Chart of Accounts, Codeunit 12, Dimension Management, and VAT on prepayment chains, among others.
- Each knowledge file includes structured metadata and best practices to enhance the domain knowledge available for Business Central tasks.
This commit is contained in:
Jesper Schulz-Wedde 2026-04-22 11:33:47 +02:00
parent 0142e1e0de
commit 7fbb121c24
18 changed files with 1170 additions and 1 deletions

View file

@ -52,7 +52,7 @@ Every knowledge file is a markdown file with mandatory YAML frontmatter. Files t
```yaml
---
bc-version: [26..28] # BC versions this applies to
bc-version: [26..28] # BC versions this applies to; use [1..99] for universal content
domain: performance # security | performance | ux | telemetry | ...
keywords: [query, filtering, partial] # free-text tags for retrieval
technologies: [al] # al | javascript | powershell | ...
@ -63,6 +63,8 @@ application-area: [all] # finance | manufacturing | jobs | [all]
All six fields are required. The schema is locked — changes require a PR approved by both maintainers.
**`bc-version` convention.** Content that describes version-specific behaviour (a query optimizer change in BC 26, a security API renamed in BC 27) lists the specific major versions or a tight range. Content that describes canonical BC concepts which are stable across every supported release — domain knowledge like `Codeunit 12 (Gen. Jnl.-Post Line)`, `T15 G/L Account`, VAT posting setup, the dimensions model — uses `bc-version: [1..99]`. This signals "applies to every BC version past, present, and future" without forcing an annual bump of every file when a new release ships.
### Sections
Every knowledge file must contain a `## Description` section. The following sections are optional but recommended: