Add best practices and anti-patterns for Azure integration batching and error classification

This commit is contained in:
Tharanga Chandrasekara 2026-06-07 12:50:15 +12:00
parent 07140e2223
commit 01bee2f23f
11 changed files with 210 additions and 237 deletions

View file

@ -20,18 +20,13 @@ This layer was seeded by migrating the Business Central AL assets from the `comm
| Domain | Articles | Covers |
|---|---|---|
| `integration` | 13 | The modern integration pattern catalog: staging through the Integration Message, inbound and outbound idempotency, polling framing records, Business Event versioning and payload safety, correlation propagation, long-running and staged flows, manual resolution, and the hard anti-patterns. |
| `copilot` | 4 | Registering a Copilot capability, calling Azure OpenAI through System.AI, billing type, and authoring a custom agent with the IAgent interfaces. |
| `ux` | 2 | PromptDialog for Copilot Generate UX, and keeping prompt text free of trailing whitespace. |
| `pipelines` | 4 | AL-Go for GitHub CI/CD, settings as the source of truth, environment registration, and headless builds with the AL MCP Server. |
| `security` | 3 | Least-privilege Azure RBAC, Managed Identity over connection strings, and locking environments to an Entra security group. |
| `process` | 3 | Spec-Driven Development: specify before you build, the solution constitution, and mapping features to object ID ranges. |
| `integration` | 15 | The modern integration pattern catalog from the BCTechDays 2026 "Designing Modern Integrations" session: staging through the Integration Message, inbound and outbound idempotency, polling framing records, the single staging endpoint, the wait-loop anti-pattern, Business Event versioning and payload safety, correlation propagation, long-running 202 / status-url flows, staged pipelines, batching trade-offs, error classification, manual resolution, and the hard anti-patterns. |
| `api` | 2 | Exposing BC entities as API pages for external agents, and least-privilege MCP tool surfaces. |
| `operations` | 2 | SaaS point-in-time restore limits, and inspecting the AL runtime during a debug session. |
| `process` | 1 | Mapping each feature to a reserved AL object ID range during planning. |
| `performance` | 1 | Profiling before optimising with the built-in Performance Profiler. |
| `upgrade` | 1 | Gating major version bumps on compatibility testing. |
Many integration, Copilot, and UX articles ship `.good.al` / `.bad.al` companion samples.
Most integration articles ship `.good.al` / `.bad.al` companion samples.
### Skills (`custom/skills/`)
@ -39,7 +34,6 @@ Many integration, Copilot, and UX articles ship `.good.al` / `.bad.al` companion
|---|---|---|
| `review/` | 14 | Net-new AL reviewers and auditors: multi-tenancy, permission-set, event-subscriber, obsolescence, integration-pattern, upgrade, code-quality, readability, table-refactor, performance, translation, AppSource, and major-release-readiness. Plus `al-extended-review`, a super-skill that composes the six net-new domain reviewers so they dispatch as a group alongside the platform `al-code-review`. |
| `testing/` | 10 | The test agent suite (write, validate, run, coverage validate and enforce, user-guide tests, web-client run) plus the release-audit test-guide generator, Page Scripting e2e planning, and Copilot test-driven development. |
| `integration/` | 2 | Validating and reviewing the Azure integration plane (Functions, Service Bus, APIM, Bicep) that BC integrations depend on. |
## How to use