From 09327d80f172e5561bbe6aef40b95f7d42ae30b7 Mon Sep 17 00:00:00 2001 From: Jesper Schulz-Wedde Date: Wed, 9 Sep 2026 16:44:41 +0200 Subject: [PATCH] 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> --- README.md | 3 ++- .../skills/review/al-appsource-review.md | 4 ++-- .../review/al-breaking-changes-review.md | 4 ++-- microsoft/skills/review/al-code-review.md | 4 ++-- .../skills/review/al-data-modeling-review.md | 4 ++-- .../skills/review/al-error-handling-review.md | 4 ++-- microsoft/skills/review/al-events-review.md | 4 ++-- .../skills/review/al-interfaces-review.md | 4 ++-- .../skills/review/al-performance-review.md | 4 ++-- microsoft/skills/review/al-privacy-review.md | 4 ++-- microsoft/skills/review/al-query-review.md | 2 +- microsoft/skills/review/al-security-review.md | 4 ++-- microsoft/skills/review/al-style-review.md | 4 ++-- .../skills/review/al-telemetry-review.md | 4 ++-- microsoft/skills/review/al-testing-review.md | 4 ++-- microsoft/skills/review/al-ui-review.md | 4 ++-- microsoft/skills/review/al-upgrade-review.md | 4 ++-- .../skills/review/al-web-services-review.md | 4 ++-- skills/al-code-review/SKILL.md | 10 ++++++---- skills/do.md | 19 ++++++++++++++++++- skills/entry.md | 1 + standalone-runner.md | 18 ++++++++++++++++++ 22 files changed, 78 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 3ef86f5..8520c79 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,8 @@ An orchestrator (such as AL-Go) points the agent at BCQuality's URL and provides ### Standalone plugin installation -BCQuality can also be installed directly as a plugin. The plugin registers one +BCQuality can also be installed directly as a plugin to review a complete AL +app folder, a change set, or an individual file. The plugin registers one host-native skill, [`al-code-review`](skills/al-code-review/SKILL.md), which adapts the caller's request to the same Entry protocol used by orchestrators. diff --git a/microsoft/skills/review/al-appsource-review.md b/microsoft/skills/review/al-appsource-review.md index 43a2e20..3ba30e4 100644 --- a/microsoft/skills/review/al-appsource-review.md +++ b/microsoft/skills/review/al-appsource-review.md @@ -4,7 +4,7 @@ id: al-appsource-review version: 1 title: AL AppSource review description: Performs an AL AppSource review against source and app metadata guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source and app metadata changes against the `appsource` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). AppSource findings are narrow by design — they apply when the diff touches AppSourceCop configuration, AL object or extension-member names, or AppSource-facing `app.json` metadata. The skill returns `not-applicable` when none of those apply. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. AppSource findings are narrow by design — they apply when the review scope contains AppSourceCop configuration, AL object or extension-member names, or AppSource-facing `app.json` metadata. The skill returns `not-applicable` when none of those apply. ## Source diff --git a/microsoft/skills/review/al-breaking-changes-review.md b/microsoft/skills/review/al-breaking-changes-review.md index 82aeda0..767c9af 100644 --- a/microsoft/skills/review/al-breaking-changes-review.md +++ b/microsoft/skills/review/al-breaking-changes-review.md @@ -4,7 +4,7 @@ id: al-breaking-changes-review version: 1 title: AL breaking changes review description: Reviews AL source changes against breaking-changes guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `breaking-changes` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). The skill produces a single JSON document conforming to the DO output contract. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. The skill produces a single JSON document conforming to the DO output contract. ## Source diff --git a/microsoft/skills/review/al-code-review.md b/microsoft/skills/review/al-code-review.md index 1ab77b6..41f0f78 100644 --- a/microsoft/skills/review/al-code-review.md +++ b/microsoft/skills/review/al-code-review.md @@ -4,7 +4,7 @@ id: al-code-review version: 1 title: AL code review description: Reviews AL source changes by composing the AL review leaf skills, one per knowledge domain. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -35,7 +35,7 @@ Reviews AL source changes by composing the leaf AL review skills. This is the ca `al-code-review` does not evaluate knowledge files directly. It invokes each of its sub-skills against the same task input, collects their findings-reports, and then performs its own **self-review pass** over the diff using the agent's built-in BC and AL knowledge. BCQuality knowledge is an additive layer: anything the sub-skills found is cited from BCQuality, and anything the agent finds on its own is validated against BCQuality (cited if matched, suppressed if contradicted, surfaced as an **agent finding** otherwise). The result is a single rolled-up findings-report that mixes knowledge-backed and agent findings, each clearly tagged via `from-sub-skill`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). The skill produces a single JSON document conforming to the DO output contract, extended with `sub-results` and — when applicable — `skipped-sub-skills`. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. The skill produces a single JSON document conforming to the DO output contract, extended with `sub-results` and — when applicable — `skipped-sub-skills`. ## Source diff --git a/microsoft/skills/review/al-data-modeling-review.md b/microsoft/skills/review/al-data-modeling-review.md index 2386613..01a983a 100644 --- a/microsoft/skills/review/al-data-modeling-review.md +++ b/microsoft/skills/review/al-data-modeling-review.md @@ -4,7 +4,7 @@ id: al-data-modeling-review version: 1 title: AL data-modeling review description: Performs an AL data-modeling review against guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `data-modeling` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). Data-modeling findings are narrow by design — they apply when the diff touches setup or master tables, their card pages, primary keys, number-series assignment, block enforcement, or audit fields. The skill returns `not-applicable` when none of those apply. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. Data-modeling findings are narrow by design — they apply when the review scope contains setup or master tables, their card pages, primary keys, number-series assignment, block enforcement, or audit fields. The skill returns `not-applicable` when none of those apply. ## Source diff --git a/microsoft/skills/review/al-error-handling-review.md b/microsoft/skills/review/al-error-handling-review.md index 39851ac..bc4598a 100644 --- a/microsoft/skills/review/al-error-handling-review.md +++ b/microsoft/skills/review/al-error-handling-review.md @@ -4,7 +4,7 @@ id: al-error-handling-review version: 1 title: AL error handling review description: Reviews AL source changes against error-handling guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `error-handling` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). The skill produces a single JSON document conforming to the DO output contract. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. The skill produces a single JSON document conforming to the DO output contract. ## Source diff --git a/microsoft/skills/review/al-events-review.md b/microsoft/skills/review/al-events-review.md index c854f1c..7248a45 100644 --- a/microsoft/skills/review/al-events-review.md +++ b/microsoft/skills/review/al-events-review.md @@ -4,7 +4,7 @@ id: al-events-review version: 1 title: AL events review description: Reviews AL source changes against events-and-subscribers guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `events` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). The skill produces a single JSON document conforming to the DO output contract. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. The skill produces a single JSON document conforming to the DO output contract. ## Source diff --git a/microsoft/skills/review/al-interfaces-review.md b/microsoft/skills/review/al-interfaces-review.md index 0031e8f..885cd0b 100644 --- a/microsoft/skills/review/al-interfaces-review.md +++ b/microsoft/skills/review/al-interfaces-review.md @@ -4,7 +4,7 @@ id: al-interfaces-review version: 1 title: AL interfaces review description: Reviews AL source changes against interface and enum-with-implementation guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `interfaces` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). The skill produces a single JSON document conforming to the DO output contract. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. The skill produces a single JSON document conforming to the DO output contract. ## Source diff --git a/microsoft/skills/review/al-performance-review.md b/microsoft/skills/review/al-performance-review.md index bf2f4e8..d4738ac 100644 --- a/microsoft/skills/review/al-performance-review.md +++ b/microsoft/skills/review/al-performance-review.md @@ -4,7 +4,7 @@ id: al-performance-review version: 1 title: AL performance review description: Reviews AL source changes against performance guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `performance` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). The skill produces a single JSON document conforming to the DO output contract. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. The skill produces a single JSON document conforming to the DO output contract. ## Source diff --git a/microsoft/skills/review/al-privacy-review.md b/microsoft/skills/review/al-privacy-review.md index 0bbd8ae..469000c 100644 --- a/microsoft/skills/review/al-privacy-review.md +++ b/microsoft/skills/review/al-privacy-review.md @@ -4,7 +4,7 @@ id: al-privacy-review version: 1 title: AL privacy review description: Reviews AL source changes against privacy and data-classification guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `privacy` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). The skill produces a single JSON document conforming to the DO output contract. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. The skill produces a single JSON document conforming to the DO output contract. ## Source diff --git a/microsoft/skills/review/al-query-review.md b/microsoft/skills/review/al-query-review.md index c4ea895..3681b23 100644 --- a/microsoft/skills/review/al-query-review.md +++ b/microsoft/skills/review/al-query-review.md @@ -4,7 +4,7 @@ id: al-query-review version: 1 title: AL Query review description: Reviews AL Query objects and Query instance usage against BCQuality guidance. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] diff --git a/microsoft/skills/review/al-security-review.md b/microsoft/skills/review/al-security-review.md index 8472afe..5d998c9 100644 --- a/microsoft/skills/review/al-security-review.md +++ b/microsoft/skills/review/al-security-review.md @@ -4,7 +4,7 @@ id: al-security-review version: 1 title: AL security review description: Reviews AL source changes against security guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `security` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). The skill produces a single JSON document conforming to the DO output contract. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. The skill produces a single JSON document conforming to the DO output contract. ## Source diff --git a/microsoft/skills/review/al-style-review.md b/microsoft/skills/review/al-style-review.md index bffef4d..223fbbd 100644 --- a/microsoft/skills/review/al-style-review.md +++ b/microsoft/skills/review/al-style-review.md @@ -4,7 +4,7 @@ id: al-style-review version: 1 title: AL style review description: Reviews AL source changes against naming, labelling, and code-convention guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -18,7 +18,7 @@ Reviews AL source changes against the `style` knowledge domain in BCQuality and Style findings cover AL conventions that CodeCop and similar analyzers partially enforce — label suffixes, API page naming, temporary-variable prefixes, label properties, named invocations, `FieldCaption`/`TableCaption` in user messages, `OptionCaption` pairing, Error-parameter passing, `this` keyword, required parentheses, file-naming. Use together with a formal analyzer; this skill adds BCQuality's remedial-knowledge explanations of why each rule exists. -An orchestrator invokes this skill with either a `pr-diff` or a `file-path`. The skill produces a single JSON document conforming to the DO output contract. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. The skill produces a single JSON document conforming to the DO output contract. ## Source diff --git a/microsoft/skills/review/al-telemetry-review.md b/microsoft/skills/review/al-telemetry-review.md index 4a758f0..4b50a9e 100644 --- a/microsoft/skills/review/al-telemetry-review.md +++ b/microsoft/skills/review/al-telemetry-review.md @@ -4,7 +4,7 @@ id: al-telemetry-review version: 1 title: AL telemetry review description: Performs an AL telemetry review against guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `telemetry` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). Telemetry findings are narrow by design — they apply when the diff emits, wraps, or changes custom telemetry through `Session.LogMessage`, `Session.LogError`, `FeatureTelemetry`, or related telemetry helpers. The skill returns `not-applicable` when none of those apply. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. Telemetry findings are narrow by design — they apply when the review scope emits, wraps, or changes custom telemetry through `Session.LogMessage`, `Session.LogError`, `FeatureTelemetry`, or related telemetry helpers. The skill returns `not-applicable` when none of those apply. ## Source diff --git a/microsoft/skills/review/al-testing-review.md b/microsoft/skills/review/al-testing-review.md index 8bad734..ed50c46 100644 --- a/microsoft/skills/review/al-testing-review.md +++ b/microsoft/skills/review/al-testing-review.md @@ -4,7 +4,7 @@ id: al-testing-review version: 1 title: AL testing review description: Performs an AL testing review against guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `testing` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). Testing findings are narrow by design — they apply when the diff touches test codeunits, test runners, test methods, handlers, assertions, or fixture construction. The skill returns `not-applicable` when none of those apply. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. Testing findings are narrow by design — they apply when the review scope contains test codeunits, test runners, test methods, handlers, assertions, or fixture construction. The skill returns `not-applicable` when none of those apply. ## Source diff --git a/microsoft/skills/review/al-ui-review.md b/microsoft/skills/review/al-ui-review.md index c0af5af..c04a30a 100644 --- a/microsoft/skills/review/al-ui-review.md +++ b/microsoft/skills/review/al-ui-review.md @@ -4,7 +4,7 @@ id: al-ui-review version: 1 title: AL UI and accessibility review description: Reviews AL page and control add-in UI files against UI text, caption, tooltip, and accessibility guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al, javascript] @@ -18,7 +18,7 @@ Reviews AL page source and control add-in UI files against the `ui` knowledge do UI findings apply to page files — files that declare `PageType = ...`, including `*.Page.al` under the standard file-naming convention — and to JavaScript/CSS/HTML files that implement Business Central control add-ins, including their client-service communication. The skill returns `not-applicable` when the diff contains no page or control add-in changes. -An orchestrator invokes this skill with either a `pr-diff` or a `file-path`. The skill produces a single JSON document conforming to the DO output contract. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. The skill produces a single JSON document conforming to the DO output contract. ## Source diff --git a/microsoft/skills/review/al-upgrade-review.md b/microsoft/skills/review/al-upgrade-review.md index 667ea32..2bb1877 100644 --- a/microsoft/skills/review/al-upgrade-review.md +++ b/microsoft/skills/review/al-upgrade-review.md @@ -4,7 +4,7 @@ id: al-upgrade-review version: 1 title: AL upgrade review description: Reviews AL source changes against upgrade-code and migration guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `upgrade` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). Upgrade findings are narrow by design — they apply when the diff touches upgrade codeunits, install codeunits, table schema, enums, or objects under migration namespaces. The skill returns `not-applicable` when none of those apply. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. Upgrade findings are narrow by design — they apply when the review scope contains upgrade codeunits, install codeunits, table schema, enums, or objects under migration namespaces. The skill returns `not-applicable` when none of those apply. ## Source diff --git a/microsoft/skills/review/al-web-services-review.md b/microsoft/skills/review/al-web-services-review.md index cfa6fdd..e818e46 100644 --- a/microsoft/skills/review/al-web-services-review.md +++ b/microsoft/skills/review/al-web-services-review.md @@ -4,7 +4,7 @@ id: al-web-services-review version: 1 title: AL web services review description: Reviews AL API surfaces and webhook integration handlers against web-services guidance from BCQuality. -inputs: [pr-diff, file-path] +inputs: [pr-diff, file-path, folder-path] outputs: [findings-report] bc-version: [all] technologies: [al, javascript] @@ -16,7 +16,7 @@ application-area: [all] Reviews AL source changes against the `web-services` knowledge domain in BCQuality and emits a findings report. This is a leaf action skill: it invokes no sub-skills. It is one of the skills composed by `al-code-review`. -An orchestrator invokes this skill with either a `pr-diff` (the standard PR-review entry point) or a `file-path` (single-file review). The skill produces a single JSON document conforming to the DO output contract. +An orchestrator invokes this skill with a `pr-diff`, `file-path`, or `folder-path`. The skill produces a single JSON document conforming to the DO output contract. ## Source diff --git a/skills/al-code-review/SKILL.md b/skills/al-code-review/SKILL.md index 991a771..df54914 100644 --- a/skills/al-code-review/SKILL.md +++ b/skills/al-code-review/SKILL.md @@ -1,6 +1,6 @@ --- name: al-code-review -description: Review Business Central AL code changes using BCQuality's curated rules. Use for an AL pull request, working-tree diff, branch, or individual AL file when BCQuality is installed as a standalone plugin. +description: 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 @@ -21,8 +21,11 @@ context and execute the resulting dispatch. - 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-available` to the inputs actually available to the review, - normally `pr-diff` for changes or `file-path` for one file. + - Set `inputs-available` to the inputs actually available to the review: + `folder-path` for an app or source folder, `pr-diff` for changes, or + `file-path` for 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 the `folder-path`. - Set `technologies: [al]` when the input is known to be AL. - Pass `bc-version`, `countries`, and `application-area` only when supplied or reliably determined. @@ -66,4 +69,3 @@ 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. - diff --git a/skills/do.md b/skills/do.md index 1cd69ec..5234437 100644 --- a/skills/do.md +++ b/skills/do.md @@ -56,7 +56,24 @@ application-area: [all] `bc-version`, `technologies`, `countries`, `application-area` are optional filters that let an orchestrator pre-select applicable skills for a task. They follow the same semantics as in READ. -`inputs` is a list of abstract input types the skill **accepts**. Standard values: `pr-diff`, `object-list`, `file-path`, `repository`, `telemetry-query`. Semantics are any-of: the orchestrator supplies whichever listed input types it has, and the skill is invoked with a non-empty subset of its declared `inputs`. A skill that cannot proceed with the supplied subset MUST return `outcome: "not-applicable"`. `outputs` is always a single-element list naming the output kind; today only `findings-report` is defined. +`inputs` is a list of abstract input types the skill **accepts**. Standard values: +`pr-diff`, `object-list`, `file-path`, `folder-path`, `repository`, and +`telemetry-query`. Semantics are any-of: the orchestrator supplies whichever +listed input types it has, and the skill is invoked with a non-empty subset of +its declared `inputs`. A skill that cannot proceed with the supplied subset +MUST return `outcome: "not-applicable"`. `outputs` is always a single-element +list naming the output kind; today only `findings-report` is defined. + +`file-path` is one file. `folder-path` is a directory whose recursively +contained files form the complete current-state input, such as a Business +Central app folder containing `app.json` and AL source. The input value is the +actual path, not merely the name of the input type. The agent MUST enumerate +the folder rather than reducing it to one representative file. + +Review skills use terms such as "diff", "changed files", and "changed code" as +shorthand for the supplied review scope. For `folder-path`, every relevant file +under the folder is in scope. A folder supplies no historical baseline: +comparison-only rules MUST NOT infer a prior state that was not provided. `sub-skills` is an optional field. When present and non-empty, the skill is a **super-skill** that composes other action skills; see *Composition* below. Values are repo-relative paths to action-skill files. diff --git a/skills/entry.md b/skills/entry.md index 0196c35..efa84a1 100644 --- a/skills/entry.md +++ b/skills/entry.md @@ -23,6 +23,7 @@ task-context: inputs-available: # values the orchestrator has ready to pass to a chosen skill - pr-diff - file-path + - folder-path technologies: [al] bc-version: 28 countries: [w1] diff --git a/standalone-runner.md b/standalone-runner.md index cc5b7c4..3c346b5 100644 --- a/standalone-runner.md +++ b/standalone-runner.md @@ -23,6 +23,24 @@ A runner that reads BCQuality from a checkout should pin a commit or release and upgrade it deliberately. Do not copy knowledge files or action-skill prose into the runner; doing so creates a second, drifting quality policy. +## Review a complete app folder + +For a committed app, generated fixture, or source tree that has no meaningful +diff, supply the app's root directory as `folder-path`. The review scope is +every relevant file below that directory, including `app.json` and AL source. +The folder does not need to be a Git repository. + +With the standalone plugin installed, start a fresh Copilot session in the app +folder and ask: + +> Use the installed `al-code-review` skill to review the complete Business +> Central app in this folder. Execute every dispatched review domain and return +> the complete BCQuality findings report. + +The adapter maps this request to `folder-path`; Entry routes it to the broad +review super-skill. Because a folder is a current-state snapshot, the review +must not invent a previous app version when evaluating comparison-only rules. + ## Minimal runner flow 1. Give the agent the review input and a task context containing the user's