bcquality/community/knowledge/agents/reapply-resource-instructions-on-upgrade.md
Stefano Demiliani 53e2cf2fa4
Add community guidance and review support for Business Central agents (#137)
* feat(community/agents): add AL agent quality guidance

- add 20 agent knowledge rules with good and bad AL samples
- clarify setup dialog shape, temporary persistence, permissions, profiles, instructions, capability registration, and interface wiring
- add the community-owned AL agents review skill
- make review fixture discovery layer-aware with custom, community, and Microsoft precedence
- document layer-aware evaluation behavior

* fix(community/agents): align setup and permission samples

- mark agent setup pages as non-extensible where required
- narrow the agent profile by hiding an unrelated sales-order field
- define a dedicated read-only permission set for the sales review agent
- assign AL-defined permission sets with system scope and the owning app ID
- clarify the permission scope guidance for default access controls

* Address agent review feedback
2026-09-02 16:06:25 +02:00

1.1 KiB

bc-version domain keywords technologies countries application-area
27..
agents
upgrade
setinstructions
navapp-getresourceastext
existing-instances
upgrade-tag
al
w1
all

Reapply resource instructions to existing agent instances on upgrade

Description

Static instructions stored as an app resource are copied onto an instance only when you call SetInstructions. Shipping a new Instructions.txt in version 2.0 does not update agents created under 1.0. Models change the resource and assume running instances pick it up.

Best Practice

In the upgrade codeunit, find existing instances of your metadata provider and call SetInstructions again with NavApp.GetResourceAsText. Guard with an upgrade tag so the rewrite runs once per version that changes the file.

See sample: reapply-resource-instructions-on-upgrade.good.al.

Anti Pattern

Editing only the resource file, or calling SetInstructions solely from the first-time setup path. Detection signal: instruction resource in resourceFolders with no upgrade procedure that re-applies it.

See sample: reapply-resource-instructions-on-upgrade.bad.al.