diff --git a/PORTING.md b/PORTING.md index c1098a7..85b9ae0 100644 --- a/PORTING.md +++ b/PORTING.md @@ -132,6 +132,12 @@ Everything below `pstack/skills` and `pstack/agents` is outside this port. The b `.cursor-plugin/plugin.json` is not vendored and never was in the current build: it sits outside the two subtrees `omp-port/lib.sh` archives, and omp never read it. Nothing in the tree parses it. +`pstack/plugin.json`, upstream's Agent Plugins manifest, is not carried either. At the plugin root it +makes omp's `agent-plugins` provider claim the package, and that provider checks skill frontmatter +against a closed field set. It skipped every skill with `disable-model-invocation`, `icon`, `color`, +or `globs`, 54 of 56 at 0.15.25 on omp 18.12.2. Without it, the `omp-plugins` provider reads the +plugin root's `skills/` directory and loads all of them. The `plugin manifest` gate asserts the absence. + ## Install, the two live shapes `omp plugin link /plugins/pstack` is the maintainer shape. It registers the checkout as an diff --git a/omp-port/check-port.sh b/omp-port/check-port.sh index 720a05c..7039d8f 100755 --- a/omp-port/check-port.sh +++ b/omp-port/check-port.sh @@ -522,25 +522,14 @@ else report "owned" "PASS $ownn owned path(s) present" fi -# Upstream ships an Agent Plugins manifest so the plugin loads in any harness. The port copies it -# through rather than rewriting it, because it is pure metadata: it names the plugin and says -# nothing about how a task is spawned. Its absence is not visible anywhere else, so it is asserted -# here. A manifest whose version disagrees with the pin means one of the two was written by hand. -mfbad="" -if [ ! -f plugin.json ]; then - mfbad="plugins/pstack/plugin.json missing; upstream's Agent Plugins manifest is not carried through" -elif ! jq -e . >/dev/null 2>&1