* Document standalone review runner contract Keep model selection and scheduling outside BCQuality while allowing orchestrators to run isolated review leaves concurrently with deterministic rollup semantics. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Support complete app folder reviews Define folder-path as a current-state review scope and accept it across the standalone adapter, broad coordinator, and every AL review leaf. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Add walk-up app review quick start Put the complete app-folder installation and prompt flow directly in the README so partners can discover the standalone experience without reading integration details first. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * Organize conceptual guides under docs Move architecture and standalone runner documentation out of the repository root, add a documentation index, and update all inbound links. 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>
4.1 KiB
| name | description |
|---|---|
| al-code-review | Review Business Central AL code using BCQuality's curated rules. Use for an AL app folder, pull request, working-tree diff, branch, or individual AL file when BCQuality is installed as a standalone plugin. |
AL code review
This is BCQuality's host-native adapter for standalone plugin installations. It is not a BCQuality action skill and contains no review or routing policy. Its only responsibility is to translate the caller's request into an Entry task context and execute the resulting dispatch.
Execute
- Resolve
PLUGIN_ROOTto the directory containing this plugin's rootplugin.json. This file isPLUGIN_ROOT/skills/al-code-review/SKILL.md; when the host does not expose the plugin root, resolve it two levels above this file. - Build the
task-contextrequired byPLUGIN_ROOT/skills/entry.md:- Copy the caller's actual request verbatim into
goal; do not replace a focused request such as "review performance" with a generic full-review goal. - Set
inputs-availableto the inputs actually available to the review:folder-pathfor an app or source folder,pr-difffor changes, orfile-pathfor one file. Pass the caller's actual path with the selected input type; for a whole-app request in the current working directory, use that directory as thefolder-path. - Set
technologies: [al]when the input is known to be AL. - Pass
bc-version,countries, andapplication-areaonly when supplied or reliably determined. - If
BCQUALITY_ENABLED_LAYERSis set, split its comma-separated value and pass the trimmed, non-empty entries asenabled-layers; otherwise omit the field and let Entry apply its default. - If
BCQUALITY_DISABLED_SKILLSis set, split its comma-separated value and pass the trimmed, non-empty entries asdisabled-skills; otherwise omit the field.
- Copy the caller's actual request verbatim into
- Read and execute
PLUGIN_ROOT/skills/entry.mdexactly as written, including its Preparation step. Entry is authoritative for index freshness, routing, defaults, and failure behavior; this adapter must not duplicate or weaken those rules. Entry is written for a checkout whose root is the current directory, so resolve every repo-relative path it names againstPLUGIN_ROOTrather than the caller's working directory, which is the user's own project. In particular, run Preparation's index build aspwsh PLUGIN_ROOT/tools/Build-KnowledgeIndex.ps1: the generator resolves its own root and writesPLUGIN_ROOT/knowledge-index.json, which is not shipped and is therefore absent on a fresh install. Ifpwshis unavailable or the build fails, continue — READ falls back to path-based discovery — but do not treat a failed build as a failed review. - Follow Entry's How the agent uses the dispatch instructions. Invoke only
the returned action skills, pass each dispatch entry's exact input subset,
and read
PLUGIN_ROOT/skills/read.mdandPLUGIN_ROOT/skills/do.mdon demand. When a dispatched super-skill requests isolated leaf execution and the host supports child contexts, use them. - Return each dispatched action skill's findings report unchanged. If Entry
returns
no-matchorfailed, return its dispatch record unchanged.
The internal microsoft/skills/review/al-code-review.md action skill remains
the canonical coordinator for a broad AL review. Entry decides whether that
super-skill or a narrower domain skill applies; this host adapter never chooses
between them.
Layer selection is not a deny mechanism
A plugin install ships the whole BCQuality tree, so enabled-layers here can
only narrow discovery: the files of a layer left out of the list still exist
on disk. This differs from the clone model Entry's Preparation step describes,
where a consumer prunes its checkout to policy before the agent runs and the
index is rebuilt over the pruned tree. Treat BCQUALITY_ENABLED_LAYERS as a
selection filter, never as a security boundary. A host that needs a genuine
deny mechanism must prune the installed tree itself.