mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-08-06 09:26:52 +01:00
Bridge skill: make enabled-layers configurable; note layer-pruning limit and manifest choice
Addresses PR #84 review (JesperSchulz): #2 layer policy has no hook in the plugin path -> expose BCQUALITY_ENABLED_LAYERS and document that it narrows discovery only, not a hard deny; #3 document the .claude-plugin manifest choice (verified on Copilot CLI).
This commit is contained in:
parent
d3fca18032
commit
a1b0ef89c6
1 changed files with 18 additions and 1 deletions
|
|
@ -46,9 +46,15 @@ plugin-root environment variable, prefer it.
|
||||||
goal: "Review the AL changes for quality issues"
|
goal: "Review the AL changes for quality issues"
|
||||||
inputs-available: [pr-diff] # or [file-path] for single-file review
|
inputs-available: [pr-diff] # or [file-path] for single-file review
|
||||||
technologies: [al]
|
technologies: [al]
|
||||||
enabled-layers: [microsoft, community, custom]
|
enabled-layers: [microsoft, community, custom] # see "Layer selection" below
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Layer selection.** `enabled-layers` defaults to all three layers. A host can
|
||||||
|
narrow it by setting the `BCQUALITY_ENABLED_LAYERS` environment variable to a
|
||||||
|
comma-separated subset (e.g. `microsoft` or `microsoft,community`); when set, pass
|
||||||
|
exactly those layers instead of the default. This is the plugin path's only knob
|
||||||
|
for layer policy — see the limitation in Notes.
|
||||||
|
|
||||||
Fill `bc-version`, `countries`, and `application-area` only when the caller
|
Fill `bc-version`, `countries`, and `application-area` only when the caller
|
||||||
supplies them; omit them otherwise (an omitted dimension is unconstrained).
|
supplies them; omit them otherwise (an omitted dimension is unconstrained).
|
||||||
|
|
||||||
|
|
@ -72,3 +78,14 @@ caller can log the reason.
|
||||||
the existing Entry protocol from a plugin host. Knowledge and skill changes belong in
|
the existing Entry protocol from a plugin host. Knowledge and skill changes belong in
|
||||||
the layers under `PLUGIN_ROOT/microsoft/`, `PLUGIN_ROOT/community/`, and
|
the layers under `PLUGIN_ROOT/microsoft/`, `PLUGIN_ROOT/community/`, and
|
||||||
`PLUGIN_ROOT/custom/`, not here.
|
`PLUGIN_ROOT/custom/`, not here.
|
||||||
|
- **Layer pruning is coarser than the URL/clone model.** In the clone model a consumer
|
||||||
|
prunes its checkout to policy *before* the agent runs, and the knowledge index is
|
||||||
|
rebuilt over the pruned tree, so a denied layer can never leak into discovery. A
|
||||||
|
plugin install ships the whole tree, so this bridge can only *narrow discovery* via
|
||||||
|
`enabled-layers` (`BCQUALITY_ENABLED_LAYERS`) — the denied layers' files still exist on
|
||||||
|
disk. Treat `enabled-layers` as a selection filter, not a hard security boundary. A
|
||||||
|
future revision could add a genuine deny mechanism (e.g. pruning the installed tree).
|
||||||
|
- **Manifest location.** This plugin uses `.claude-plugin/plugin.json`, which both
|
||||||
|
Claude Code and Copilot CLI accept (verified with Copilot CLI: `plugin install`
|
||||||
|
reports the bridge skill loaded). Copilot CLI also accepts a root `plugin.json`; if a
|
||||||
|
future host only reads the root form, dual-home the manifest.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue